You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by gr...@apache.org on 2017/10/20 17:39:10 UTC

[1/3] mesos git commit: Reorganized and updated the contribution guidelines.

Repository: mesos
Updated Branches:
  refs/heads/master b3d5857b8 -> b71478750


Reorganized and updated the contribution guidelines.

This patch splits the contribution guidelines into two parts:
a beginner contribution guide, and an advanced guide. Some files
are also renamed, and links updated.

Review: https://reviews.apache.org/r/62548/


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/3eed405d
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/3eed405d
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/3eed405d

Branch: refs/heads/master
Commit: 3eed405d41eabfea0da6ce9f7c346020bd3091ed
Parents: b3d5857
Author: Greg Mann <gr...@mesosphere.io>
Authored: Fri Oct 20 10:37:23 2017 -0700
Committer: Greg Mann <gr...@gmail.com>
Committed: Fri Oct 20 10:37:23 2017 -0700

----------------------------------------------------------------------
 docs/advanced-contribution.md | 131 +++++++++++++++++++++++++++++++++++++
 docs/beginner-contribution.md |  65 ++++++++++++++++++
 docs/home.md                  |   5 +-
 docs/newbie-guide.md          | 131 -------------------------------------
 docs/reopening-reviews.md     |   2 +-
 docs/reporting-a-bug.md       |  12 ----
 docs/reporting-an-issue.md    |  12 ++++
 docs/submitting-a-patch.md    |  91 --------------------------
 site/source/community.html.md |   8 ++-
 9 files changed, 217 insertions(+), 240 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/3eed405d/docs/advanced-contribution.md
----------------------------------------------------------------------
diff --git a/docs/advanced-contribution.md b/docs/advanced-contribution.md
new file mode 100644
index 0000000..5a89227
--- /dev/null
+++ b/docs/advanced-contribution.md
@@ -0,0 +1,131 @@
+---
+title: Apache Mesos - Advanced Contribution Guidelines
+layout: documentation
+---
+
+# Advanced Contribution Guidelines
+
+## Prerequisites
+
+If you'd like to make significant contributions to Mesos, then you'll want to become familiar with the standard Mesos development workflow. In addition to the dependencies needed to build Mesos (detailed in [Getting Started](getting-started.md)), a couple other things are necessary:
+
+* Required account authorizations
+    + Apache Review Board Account
+    + Apache JIRA Account
+<br/><br/>
+* Required installations
+    + RBtools
+
+## Issue Tracking, Code Review, and Mailing Lists
+
+* We use [Apache Software Foundation JIRA](https://issues.apache.org/jira/browse/mesos/) to track and manage issues. If you don't already have an account, you'll need to create one.
+* We use [Apache Review Board](https://reviews.apache.org) for code reviews. If you don't already have an account, you'll need to create one (it's separate from your Apache JIRA account).
+  * A code review request should be created for every JIRA that involves a change to the codebase.
+* Once your JIRA and Review Board accounts are in place please go ahead and create a review or GitHub pull request with an entry for yourself in [contributors.yaml](https://github.com/apache/mesos/blob/master/docs/contributors.yaml) file.
+  * The file is used to map contributions to the JIRA and Review Board accounts of their respective authors. We also use this mapping to track contributions of various organizations to Apache Mesos.
+  * Feel free to omit the `affiliations` field out in case you do not want your contribution to be atributed to a particular organization.
+  * In the `email` field please specify the email that your local git client is setup with.
+* Joining the following mailing lists will help you stay up-to-date on Mesos development:
+  * Developer list: [dev-subscribe@mesos.apache.org](mailto:dev-subscribe@mesos.apache.org)
+  * Issue list: [issues-subscribe@mesos.apache.org](mailto:issues-subscribe@mesos.apache.org)
+  * Review list: [reviews-subscribe@mesos.apache.org](mailto:reviews-subscribe@mesos.apache.org)
+  * Build list: [builds-subscribe@mesos.apache.org](mailto:builds-subscribe@mesos.apache.org) respectively.
+
+## The Contribution Process
+
+Here is the standard procedure for proposing and making changes to Mesos:
+
+### Before Coding Starts
+
+1. Find a JIRA issue that is currently unassigned that you want to work on at [JIRA issue tracker](https://issues.apache.org/jira/browse/MESOS), or create your own (you'll need a JIRA account for this, see above)!
+  1. This could be a JIRA representing a bug (possibly a bug that you encountered and reported, e.g. when trying to build) or a new feature.
+  2. Prefer working on issues marked as "[Accepted](https://issues.apache.org/jira/browse/MESOS-1?jql=project%20%3D%20MESOS%20AND%20status%20%3D%20Accepted)", rather than merely "Open". If an issue has been accepted, it means at least one Mesos developer thought that the ideas proposed in the issue are worth pursuing further.
+  3. Issues marked with the "[newbie](https://issues.apache.org/jira/browse/MESOS-1?jql=project%20%3D%20MESOS%20AND%20status%20%3D%20Accepted%20AND%20labels%20%3D%20newbie)" label can be good candidates for "starter" projects. You can also look for the labels "newbie++", "beginner", and "beginners".
+  4. When identifying a JIRA issue to work on, it is recommended to work on items that are relevant to the next release. Selecting work items important for the next release increases the priority for reviewers during the contribution process. See the tracking ticket for the release to figure out the high priority projects or ask the release manager to guide you.
+
+2. Assign the JIRA to yourself.
+  1. You will be able to assign the JIRA to yourself as soon as your pull request with additions to the contributors.yaml file is merged.
+
+3. Formulate a plan for resolving the issue. Guidelines to consider when designing a solution can be found in the [effective-code-reviewing](effective-code-reviewing.md) document. It is important to discuss your proposed solution within the JIRA ticket early in the resolution process in order to get feedback from reviewers. Early discussions will help:
+  1. ensure the solution will be scoped in a consumable fashion;
+  2. eliminate duplicate work with other contributions; and
+  3. alert anyone interested in following the activity and progress of the ticket.
+
+4. Find a **shepherd** to collaborate on your patch. A shepherd is a Mesos committer that will work with you to give you feedback on your proposed design, and to eventually commit your change into the Mesos source tree. To find a shepherd, you can do one or more of the following:
+  1. Email the dev mailing list (include a link to your JIRA issue).
+  2. Add a comment to your JIRA issue, referencing by username one or more Mesos [committers](committers.md) whom you believe would be interested in shepherding. The listed maintainers of the portion of the codebase you're working on are good candidates to reach out to.
+  3. Email potential shepherds directly.
+  3. Ask the developers on Mesos Slack or on IRC (in the [mesos channel](irc://irc.freenode.net/mesos) on [Freenode](https://freenode.net)).
+
+### Create your patch
+
+1. Create one or more test cases to exercise the bug or the feature (the Mesos team uses [test-driven development](http://en.wikipedia.org/wiki/Test-driven_development)). Before you start coding, make sure these test cases all fail.
+    1. The [testing patterns](testing-patterns.md) page has some suggestions for writing test cases.
+
+2. Make your changes to the code (using whatever IDE/editor you choose) to actually fix the bug or implement the feature.
+    1. Before beginning, please read the [Mesos C++ Style Guide](c++-style-guide.md). It is recommended to use the git pre-commit hook (`support/hooks/pre-commit`) to automatically check for style errors. See the hook script for instructions to enable it.
+    2. Most of your changes will probably be to files inside of `BASE_MESOS_DIR`
+    3. From inside of the root Mesos directory: `./bootstrap` (Only required if building from git repository).
+    4. To build, we recommend that you don't build inside of the src directory. We recommend you do the following:
+        1. From inside of the root Mesos directory: `mkdir build && cd build`
+        2. `../configure`
+        3. `make`
+        4. Now all of the files generated by the build process will be contained in the build directory you created, instead of being spread throughout the src directory, which is a bit messier. This is both cleaner, and makes it easy to clean up if you want to get rid of the files generated by `configure` and `make`. I.e. You can reset your build process without risking changes you made in the src directory, by simply deleting the build directory, and creating a new one.
+
+3. Make sure that all of the unit tests pass, including the new test cases you have added: `make check`.
+    1. To build all tests without executing them, use something like: `make tests`.
+    2. To execute a single unit test (helpful when trying to debug a test case failure), use something like: `make check GTEST_FILTER="HTTPTest.Delete"`.
+    3. If you added new tests, make sure you run them repeatedly in order to catch inconsistent failures. A command like the following can be used to run an individual test 1000 times:
+
+    sudo GLOG_v=1 ./bin/mesos-tests.sh --verbose --gtest_filter="*DOCKER*" --gtest_break_on_failure --gtest_repeat=1000
+
+4. Divide your change into one or more Git commits. Each commit should represent a single logical (atomic) change to the Mesos source code: this makes your changes easier to review. For more information, see the [reviewer guidelines](effective-code-reviewing.md).
+    1. Try to avoid including other, unrelated cleanups (e.g., typo fixes or style nits) in the same commit that makes functional changes. While typo fixes are great, including them in the same commit as functional changes makes the commit history harder to read.
+    2. Developers often make incremental commits to save their progress when working on a change, and then "rewrite history" (e.g., using `git rebase -i`) to create a clean set of commits once the change is ready to be reviewed.
+    3. Commit messages should be in past tense. The first sentence should summarize the change; it should start with a capital letter, not exceed 72 characters and end in a period.
+
+5. Make sure to pull in any changes that have been committed to master branch. Using Git, do this via something like:
+    1. `git checkout master`
+    2. `git pull`
+    3. `git checkout my_branch`
+    4. Check the output of `git diff master` and make sure it lists only your changes. If other changes you did not make are listed, try `git rebase master` to bring your branch up to date with master.
+
+### Submit your patch
+1. You're ready to submit your patch for review!
+    1. Log in or create an account at [Apache Review Board](http://reviews.apache.org).
+    2. The easiest (and recommended) way to submit reviews is through `post-reviews.py` a wrapper around post-review.
+    3. First, install RBTools. [See Instructions](https://www.reviewboard.org/docs/rbtools/dev/).
+    4. Configure post-review. The easiest method is to symlink to the sample config: `ln -s support/reviewboardrc .reviewboardrc`.
+    5. Log into Review Board from the command line: run `rbt status`.
+    6. From your local branch run `support/post-reviews.py`.
+    7. Note that `post-reviews.py` creates a new review for every commit on your branch that is different from the `master`.
+    8. Be sure to add your JIRA issue id (e.g. MESOS-1) to the field labeled "Bugs" (this will automatically link).
+    9. Add your shepherd under the "People" field, in the "Reviewers" section. You should also include other Mesos community members who have contributed to the discussion of your proposed change.
+    10. Under "Description" in addition to details about your changes, include a description of any documentation pages that need to be added, or are affected by your changes (e.g. did you change or add any configuration options/flags? Did you add a new binary?)
+    11. Under "Testing Done", explain what new tests you have created, what tests were modified, and what procedures you went through to test your changes.
+
+2. Wait for a code review from another Mesos developer via Review Board, address their feedback and upload updated patches until you receive a "Ship It" from a Mesos committer.
+    1. If you don't receive any feedback, contact your shepherd to remind them. While the committers try their best to provide prompt feedback on proposed changes, they are busy and sometimes a patch gets overlooked.
+    2. When addressing feedback, adjust your existing commit(s) instead of creating new commits, otherwise `post-reviews.py` will create a new review (`git rebase -i` is your friend).
+    3. Review Board comments should be used for code-specific discussions, and JIRA comments for bigger-picture design discussions.
+    4. Always respond to each RB comment that you address directly (i.e. each comment can be responded to directly) with either "Done." or a comment explaining how you addressed it.
+    5. If an issue has been raised in the review, please resolve the issue as "Fixed" or "Dropped". If "Dropped" please add a comment explaining the reason. Also, if your fix warrants a comment (e.g., fixed differently than suggested by the reviewer) please add a comment.
+
+3. After consensus is reached on your JIRA/patch, you're review request will receive a "Ship It!" from a committer, and then a committer will commit your patch to the git repository. Congratulations and thanks for participating in our community!
+
+4. The last step is to ensure that the necessary documentation gets created or updated so the whole world knows about your new feature or bug fix.
+
+## Advanced JIRA Tickets
+
+As you gain experience contributing to Mesos you may want to tackle more advanced JIRA tickets. These items may touch multiple components within Mesos and/or may have a significant impact on the developer or user community. In these cases, a working group of stakeholders is formed to develop a design document. The initial formation of this working group will be part of the community communication resources, e.g. the re-occurring developer sync meetings, the developer email list, the IRC channel, etc. For reference, a contributor new to an advanced level work item can refer to the work done for the [inverse offer](https://issues.apache.org/jira/browse/MESOS-1592) project.
+
+## Style Guides
+* For patches to the core, we ask that you follow the [Mesos C++ Style Guide](c++-style-guide.md).
+
+## Additional Guidance
+
+The following links provide additional guidance as you get started contributing to Apache Mesos.
+
+## Core Libraries
+
+There are two core libraries in Mesos: *stout* and *libprocess*. *stout* is the low level operating system abstraction tooling that should be used in place of writing your own low level tools. *libprocess* is a library used to support building compatible concurrent components (see [video](https://www.youtube.com/watch?v=5EIiU6R_6KE) for an introduction to the *libprocess* library). New contributors to Mesos should become familiar with these libraries and utilize them where appropriate. Additional documentation can be found in the following two README files: [3rdparty/libprocess/README.md](https://github.com/apache/mesos/blob/master/3rdparty/libprocess/README.md) and [3rdparty/stout/README.md](https://github.com/apache/mesos/blob/master/3rdparty/stout/README.md).

http://git-wip-us.apache.org/repos/asf/mesos/blob/3eed405d/docs/beginner-contribution.md
----------------------------------------------------------------------
diff --git a/docs/beginner-contribution.md b/docs/beginner-contribution.md
new file mode 100644
index 0000000..d820798
--- /dev/null
+++ b/docs/beginner-contribution.md
@@ -0,0 +1,65 @@
+---
+title: Apache Mesos - Beginner Contribution Guide
+layout: documentation
+---
+
+# Beginner Contributor Guide
+
+## Introduction
+
+The purpose of this document is to provide a first-time introduction to the process of contributing to Mesos. It focuses on submitting small documentation-only patches or trivial fixes via GitHub pull requests. If you'd like an introduction to the standard day-to-day workflow for advanced Mesos contributors, see our [advanced contribution guide](advanced-contribution.md).
+
+## Quick Summary
+To propose a small change to Mesos, simply open a PR against our public GitHub mirror at [https://github.com/apache/mesos](https://github.com/apache/mesos). Further instructions can be found below if needed.
+
+## Download the Mesos Repository
+
+First, download the latest development version of the Mesos codebase. In order to submit changes via GitHub pull requests, you need to fork the [Apache Mesos GitHub mirror](https://github.com/apache/mesos). Once you have your own fork, clone it to your local machine using Git.
+
+If you're proposing a documentation-only change, then you don't need to build Mesos to get started.
+
+If you're making a functional change to the code, then you should build Mesos first. Once you have the Mesos source code on your local machine, you can install the necessary dependencies and build it. Instructions for this process can be found in the [Getting Started](getting-started.md) page. Note that the `bootstrap` script in the repository's root directory will install git hooks which will help you adhere to Mesos style when committing.
+
+## Find a Problem to Solve
+
+If you already have a specific issue in mind which you want to address in the codebase, that's great! Reach out to some of the [committers](committers.md) on [Mesos Slack](/community) or on the developer mailing list to discuss the improvement you'd like to make. If you want to contribute but aren't sure what to work on, you can find open issues in [JIRA](http://issues.apache.org/jira/browse/MESOS), our issue tracker. Asking on [Mesos Slack](/community) or on the developer mailing list is a great way to find out what you might work on that could have a high impact on the community.
+
+From past experience, we have found that it's best if contributors talk to committers about their fix before writing code. This ensures that the contributor has the context necessary to make the change in a way consistent with the rest of the codebase, and helps avoid time spent on solutions which need major edits in order to get merged. Please chat with us before writing code, we'll help you design a solution!
+
+This GitHub workflow is most appropriate for documentation-only changes and small, trivial fixes. For more significant changes, please use the [advanced contribution workflow](advanced-contribution.md).
+
+## Make Modifications
+
+Once you know what you're going to change, you can make your intended modifications to the codebase and then commit the changes to your local build repository. When making changes, also consider the following:
+
+* Does documentation need to be updated to accommodate this change? (see the `docs/` folder in the repository)
+* Do tests need to be added or updated? (see the `src/tests/` folder in the repository)
+
+## Build and Test
+
+If your changes are documentation-only, then you should view them with a markdown viewer to verify their appearance when rendered.
+
+If you are changing any code in Mesos, then you should build and run the tests before opening a PR. You should run `make check` and ensure that all tests pass before opening a PR.
+
+## Open a PR
+
+Once changes are completed and tested, it's time to open a PR so that they can be reviewed. When your local branch is clean and ready to submit, push it to your Mesos fork. You can then open a PR against the Apache Mesos GitHub repository. Once your PR is open, you can notify the community on [Mesos Slack](/community) or on the developer mailing list.
+
+# Getting Started Guidance
+
+The following links provide additional guidance as you get started contributing to Apache Mesos.
+
+## JIRA
+
+[JIRA](http://issues.apache.org/jira/browse/MESOS) is the issue tracking system for all bug fixes and feature additions in Mesos. When contributing to Mesos, all assignments, discussions, and resolution proposals for a specific issue should be documented as comments within the JIRA item. If you contribute something which is more than a trivial fix, it should probably be tracked in JIRA.
+
+## Identifying a JIRA Issue
+
+If you'd like to find an existing issue to work on yourself, identify a Mesos JIRA ticket that is currently unassigned. It is highly recommended to start contributing to beginner-level issues and move to more advanced issues over time. The JIRA issue-tracking system can be filtered based on labels. The following labels can be used to identify beginner-level JIRA tickets:
+
+* newbie
+* newbie++
+* beginner
+* beginners
+
+If you'd like to work on existing issues in Mesos, this will likely require the submission of patches large enough that you should use the [advanced contribution workflow](advanced-contribution.md).

http://git-wip-us.apache.org/repos/asf/mesos/blob/3eed405d/docs/home.md
----------------------------------------------------------------------
diff --git a/docs/home.md b/docs/home.md
index 6a6bd73..657a41c 100644
--- a/docs/home.md
+++ b/docs/home.md
@@ -92,8 +92,9 @@ layout: documentation
 * [Working groups](working-groups.md) a listing of groups working on different components.
 
 ### Contributing
-* [Reporting an Issue, Improvement, or Feature](reporting-a-bug.md) for getting started with JIRA.
-* [Submitting a Patch](submitting-a-patch.md) for getting started with ReviewBoard and our tooling around it.
+* [Reporting an Issue, Improvement, or Feature](reporting-an-issue.md) for getting started with JIRA.
+* [Beginner Guide for Contributors](beginner-contribution.md) to get started contributing to Mesos for the first time.
+* [Advanced Contribution Guide](advanced-contribution.md) to learn the typical workflow used when contributing to Mesos.
 * [Engineering Principles and Practices](engineering-principles-and-practices.md) to serve as a shared set of project-level values for the community.
 * Style Guides:
   * [Documentation Style Guide](documentation-guide.md)

http://git-wip-us.apache.org/repos/asf/mesos/blob/3eed405d/docs/newbie-guide.md
----------------------------------------------------------------------
diff --git a/docs/newbie-guide.md b/docs/newbie-guide.md
deleted file mode 100644
index e9f2aaa..0000000
--- a/docs/newbie-guide.md
+++ /dev/null
@@ -1,131 +0,0 @@
----
-title: Apache Mesos - Newbie Guide
-layout: documentation
----
-
-
-# Newbie Guide
-
-## Introduction
-
-The purpose of this document is to give an introduction and overall description of the contribution process for contributors new to Mesos.  This document is intended to extend the existing documentation with a focus on on-boarding contributors to the community as quickly as possible.
-
-# Contribution Process Overview
-
-Details of the contribution process can be obtained from the [submitting-a-patch](submitting-a-patch.md) document of the Mesos distribution along with the Getting Started Guidance section of this document.
-
-## Preparation and Build Environment Setup
-
-In order to complete the contribution process you will need to obtain account authorizations and install additional tooling to build the Mesos binaries. These pre-requisites are listed below:
-
-* Required account authorizations
-    + Apache Review Board Account
-    + Apache JIRA Account
-<br/><br/>
-* Required installations
-    + Git
-    + RBtools
-    + GTest
-    + GLog
-
-## Download and Build Mesos
-
-In order to begin contributing you will need to download and build the latest stable release of the Mesos distribution. Documentation on the steps to complete this process is described in the Mesos document and link listed above.
-
-## Make Modifications
-
-Make your intended modifications to the source code and then commit the changes to your local build repository. Changes to the source should also include test cases to exercise the modification. Details about this process are found in the Mesos document listed above and Getting Started section below.
-
-## Submit Patch
-
-Once changes are completed and tested submit the patch for review. This process will take the modifications from review submission to committed changes in the Mesos distribution.
-
-# Getting Started Guidance
-
-The following information will help provide additional guidance to execute the steps summarized in Contribution Process Overview described above as well as provide helpful hints when following the [submitting-a-patch](submitting-a-patch.md) document of the Mesos distribution.
-
-## Apache JIRA Account Pre-Requisite
-
-Detailed steps are provided in the Mesos documentation to obtain a JIRA account. Once you have obtained a JIRA account, ensure the additional step to request addition to the list of "contributors" is completed.
-
-## Tooling Pre-Requisites
-
-There is a set of tooling listed below that is required to be installed for the contribution process. These tools will not be described in this document and it is assumed that the reader will seek alternative references to become familiar with each of these tools outside of this document.
-
-* [Git Client](https://git-scm.com/)
-* [RBTools](https://www.reviewboard.org/docs/rbtools/dev/)
-* [GTest](https://github.com/google/googletest)
-* [GLog](https://github.com/google/glog)
-
-## Core Libraries
-
-There are two core libraries in Mesos: *stout* and *libprocess*. *stout* is the low level operating system abstraction tooling that should be used in place of writing your own low level tools. *libprocess* is a library used to support building compatible concurrent components (see [video](https://www.youtube.com/watch?v=5EIiU6R_6KE) for an introduction to the *libprocess* library). New contributors to Mesos should become familiar with these libraries and utilize them where appropriate.  Additional documentation can be found in the following two README files: 3rdparty/libprocess/README.md and 3rdparty/stout/README.md.
-
-## Download and Build Mesos
-
-Detailed steps are provided in the [Mesos documentation](getting-started.md) to download and build Mesos. When downloading the Mesos distribution there are 2 options to obtain the Mesos source code. For contributing, ensure that the Git option is used.
-
-## JIRA
-
-[JIRA](http://issues.apache.org/jira/browse/MESOS) is the issue tracking system for all bug fixes and feature additions in Mesos. When contributing to Mesos, all assignments, discussions, and resolution proposals for a specific issue should be documented as comments within the JIRA item.
-
-## Identifying a JIRA Issue
-
-To begin the contribution process, identify a Mesos JIRA issue that is currently unassigned. It is highly recommended to start contributing to beginner level issues and overtime move to advanced level issues. The JIRA issue-tracking system can be filtered based on labels. The following labels can be used to identify beginner level JIRA tickets:
-
-* newbie
-* newbie++
-* beginner
-* beginners
-
-When identifying a JIRA issue to work on, it is recommended to work on items that are relevant to the next release. Selecting work items important for the next release increases the priority for reviewers during the contribution process. See the tracking ticket for the release to figure out the high priority projects or ask the release manager to guide you.
-
-## Assign a JIRA Issue
-
-There are a couple options to assign a work item: 1) create a new JIRA issue to work on or 2) identify an existing JIRA issue item to work on as described above. Whichever option is chosen there are several steps that should be followed when assigning yourself a JIRA ticket.
-
-It is important to identify a shepherd before you assign a ticket to yourself. Working with a shepherd will reveal its priority at the current time. To identify a shepherd look at the [maintainers](committers.md) file to get an idea who to ask to shepherd your JIRA issue.
-
-
-## JIRA Issue Solution Proposals
-Once you have an assigned JIRA issue and you have identified a shepherd, it is important to discuss your proposed solution within the JIRA ticket early in the resolution process in order to get feedback from reviewers. Early discussions will help:
-
-1. ensure the solution will be scoped in a consumable fashion;
-
-2. eliminate duplicate work with other contributions; and
-
-3. alert anyone interested in following the activity and progress of the ticket.
-
-
-Guidelines to consider when designing a solution can be found in the [effective-code-reviewing](effective-code-reviewing.md) document.
-
-## Making Changes
-
-After completing the solution review make the source code changes, build and successfully run relevant test cases. Guidelines for these processes can be found in the [submitting-a-patch](submitting-a-patch.md) and [mesos-c++style-guide](c++-style-guide.md).
-
-When creating and running test cases pay particular attention to race conditions. One recommendation is to run system tests multiple times.  Below is a sample command to repeat the test 100 times.
-
-
-    sudo GLOG_v=1 ./bin/mesos-tests.sh --verbose --gtest_filter="*DOCKER*" --break-on-error --gtest_shuffle --gtest_repeat=100
-
-## Submit a Patch to the Review Board
-
-Submit your patch for review after you have come to an agreement with your shepherd on the proposed solution, made the modifications and successfully ran the test cases. Make sure your shepherd is added as a "reviewer" (among others) in the review. This will ensure that your reviews get processed.
-
-When submitting a patch for review, include all testing done in the submission documentation. Follow the detailed steps found in the [submitting-a-patch](submitting-a-patch.md) document to submit a patch for review.
-
-#Advanced Level JIRA Items
-
-As you gain experience contributing to Mesos you may want to tackle more advanced level JIRA items. These items may touch multiple components within Mesos and/or may have a significant impact on the developer or user community. In these cases, a working group of stakeholders is formed to develop a design document. The initial formation of this working group will be part of the community communication resources, e.g. the re-occurring developer sync meetings, the developer email list, the IRC channel, etc. For reference, a contributor new to an advanced level work item can refer to the work done for the [inverse offer](https://issues.apache.org/jira/browse/MESOS-1592) project.
-
------
-
-# FAQs
-
-Q: Where can I find documentation about Mesos?
-A: Mesos documentation is located in the 'docs' directory of the Mesos distribution. This documentation includes information about Mesos architecture and design, running Mesos, developing within the Mesos ecosystem and contributing to Mesos. Additionally, the latest documentation can be found here:
-[http://mesos.apache.org/documentation/latest/index.html](http://mesos.apache.org/documentation/latest/index.html)
-
-
-Q: What is a Shepherd?
-A: An identified PMC/committer that works with a contributor to help shepherd a JIRA item to completion.  Shepherds should be as identified at the beginning of the design/development phase.

http://git-wip-us.apache.org/repos/asf/mesos/blob/3eed405d/docs/reopening-reviews.md
----------------------------------------------------------------------
diff --git a/docs/reopening-reviews.md b/docs/reopening-reviews.md
index fe50468..999680c 100644
--- a/docs/reopening-reviews.md
+++ b/docs/reopening-reviews.md
@@ -16,7 +16,7 @@ consider taking the following steps to avoid a repeat scenario:
 * Check in with the [community](/community) and see if there is interest.
   * For bug fixes or documentation updates, you should
     [contact the maintainer(s)](committers.md).
-  * For improvements or new features, you should [find a shepherd](submitting-a-patch.md)
+  * For improvements or new features, you should [find a shepherd](advanced-contribution.md)
     to collaborate on your design and review.
 * Update your review.  Chances are, the codebase has changed significantly
   since you last uploaded the review.  Also make sure your review's summary

http://git-wip-us.apache.org/repos/asf/mesos/blob/3eed405d/docs/reporting-a-bug.md
----------------------------------------------------------------------
diff --git a/docs/reporting-a-bug.md b/docs/reporting-a-bug.md
deleted file mode 100644
index a7e372c..0000000
--- a/docs/reporting-a-bug.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-title: Apache Mesos - Reporting An Issue
-layout: documentation
----
-
-# Reporting an Issue
-
-When reporting an issue (e.g. bug, improvement, feature request), please provide as much context as possible.
-
-* We track all issues via Apache's hosted [JIRA issue tracker](https://issues.apache.org/jira/browse/MESOS), so if you don't already have an account you'll need to register for one. It's quick and easy.
-* A JIRA should be created for every task, feature, bug-fix, etc. This makes it easy to track progress.
-* If you are planning to work on the ticket, please assign the JIRA issue to yourself before you start working on it. This helps to avoid duplication of work and alerts anyone who is following that issue. It is highly encouraged to start a discussion with others in the community about how to solve the issue. The [contribution guidelines](submitting-a-patch.md) discuss how to contribute to Mesos development in more detail.

http://git-wip-us.apache.org/repos/asf/mesos/blob/3eed405d/docs/reporting-an-issue.md
----------------------------------------------------------------------
diff --git a/docs/reporting-an-issue.md b/docs/reporting-an-issue.md
new file mode 100644
index 0000000..2f82aa2
--- /dev/null
+++ b/docs/reporting-an-issue.md
@@ -0,0 +1,12 @@
+---
+title: Apache Mesos - Reporting An Issue
+layout: documentation
+---
+
+# Reporting an Issue
+
+When reporting an issue (e.g. bug, improvement, feature request), please provide as much context as possible.
+
+* We track all issues via Apache's hosted [JIRA issue tracker](https://issues.apache.org/jira/browse/MESOS), so if you don't already have an account you'll need to register for one. It's quick and easy.
+* A JIRA should be created for every task, feature, bug-fix, etc. This makes it easy to track progress.
+* If you are planning to work on the ticket, please assign the JIRA issue to yourself before you start working on it. This helps to avoid duplication of work and alerts anyone who is following that issue. It is highly encouraged to start a discussion with others in the community about how to solve the issue. The [Beginner Contribution Guide](beginner-contribution.md) and [Advanced Contribution Guide](advanced-contribution.md) discuss how to contribute to Mesos development in more detail.

http://git-wip-us.apache.org/repos/asf/mesos/blob/3eed405d/docs/submitting-a-patch.md
----------------------------------------------------------------------
diff --git a/docs/submitting-a-patch.md b/docs/submitting-a-patch.md
deleted file mode 100644
index ffc6e56..0000000
--- a/docs/submitting-a-patch.md
+++ /dev/null
@@ -1,91 +0,0 @@
----
-title: Apache Mesos - Submitting a Patch
-layout: documentation
----
-
-# Submitting a Patch
-
-* You've fixed a bug or added a feature and want to contribute it. AWESOME!
-* We use [Apache Software Foundation JIRA](https://issues.apache.org/jira/browse/mesos/) to track and manage issues. If you don't already have an account, you'll need to create one.
-* We use [Apache Review Board](https://reviews.apache.org) for code reviews. If you don't already have an account, you'll need to create one (it's separate from your Apache JIRA account).
-* Once your JIRA and Review Board accounts are in place please go ahead and create a review or GitHub pull request with an entry for yourself in [contributors.yaml](https://github.com/apache/mesos/blob/master/docs/contributors.yaml) file.
-  * The file is used to map contributions to the JIRA and Review Board accounts of their respective authors. We also use this mapping to track contributions of various organizations to Apache Mesos.
-  * Feel free to omit the `affiliations` field out in case you do not want your contribution to be atributed to a particular organization.
-  * In the `email` field please specify the email that your local git client is setup with.
-* A code review request should be created for every JIRA that involves a change to the codebase.
-
-### Before you start writing code
-1. Check out the code from the Apache repository via Git. Instructions are on the [Getting Started](http://mesos.apache.org/gettingstarted/) page.
-
-2. Join the dev, issues, reviews and builds mailing lists by sending emails to [dev-subscribe@mesos.apache.org](mailto:dev-subscribe@mesos.apache.org), [issues-subscribe@mesos.apache.org](mailto:issues-subscribe@mesos.apache.org), [reviews-subscribe@mesos.apache.org](mailto:reviews-subscribe@mesos.apache.org) and [builds-subscribe@mesos.apache.org](mailto:builds-subscribe@mesos.apache.org) respectively.
-
-3. Find a JIRA issue that is currently unassigned that you want to work on at [JIRA issue tracker](https://issues.apache.org/jira/browse/MESOS), or create your own (you'll need a JIRA account for this, see below)!
-    1. This could be a JIRA representing a bug (possibly a bug that you encountered and reported, e.g. when trying to build) or a new feature.
-    2. Prefer working on issues marked as "[Accepted](https://issues.apache.org/jira/browse/MESOS-1?jql=project%20%3D%20MESOS%20AND%20status%20%3D%20Accepted)", rather than merely "Open". If an issue has been accepted, it means at least one Mesos developer thought that the ideas proposed in the issue are worth pursuing further.
-    3. Issues marked with the "[newbie](https://issues.apache.org/jira/browse/MESOS-1?jql=project%20%3D%20MESOS%20AND%20status%20%3D%20Accepted%20AND%20labels%20%3D%20newbie)" label can be good candidates for "starter" projects.
-
-4. Assign the JIRA to yourself.
-   1. You will be able to assign the JIRA to yourself as soon as your pull request with additions to the contributors.yaml file is merged.
-
-5. Formulate a plan for resolving the issue. Propose your plan via comments in the JIRA.
-
-6. Find a **shepherd** to collaborate on your patch. A shepherd is a Mesos committer that will work with you to give you feedback on your proposed design, and to eventually commit your change into the Mesos source tree.
-    1. To find a shepherd, email the dev mailing list (include a link to your JIRA issue). You can also try asking by adding a comment to your JIRA issue.
-    2. You can also find a shepherd by asking the developers on IRC (in the [mesos channel](irc://irc.freenode.net/mesos) on [Freenode](https://freenode.net)). You can find the current list of committers [here](committers.md): a developer that has previously worked on the component you are modifying might be a good candidate shepherd.
-
-### Create your patch
-1. Create one or more test cases to exercise the bug or the feature (the Mesos team uses [test-driven development](http://en.wikipedia.org/wiki/Test-driven_development)). Before you start coding, make sure these test cases all fail.
-    1. The [testing patterns](testing-patterns.md) page has some suggestions for writing test cases.
-
-2. Make your changes to the code (using whatever IDE/editor you choose) to actually fix the bug or implement the feature.
-    1. Before beginning, please read the [Mesos C++ Style Guide](c++-style-guide.md). It is recommended to use the git pre-commit hook (`support/hooks/pre-commit`) to automatically check for style errors. See the hook script for instructions to enable it.
-    2. Most of your changes will probably be to files inside of `BASE_MESOS_DIR`
-    3. From inside of the root Mesos directory: `./bootstrap` (Only required if building from git repository).
-    4. To build, we recommend that you don't build inside of the src directory. We recommend you do the following:
-        1. From inside of the root Mesos directory: `mkdir build && cd build`
-        2. `../configure`
-        3. `make`
-        4. Now all of the files generated by the build process will be contained in the build directory you created, instead of being spread throughout the src directory, which is a bit messier. This is both cleaner, and makes it easy to clean up if you want to get rid of the files generated by `configure` and `make`. I.e. You can reset your build process without risking changes you made in the src directory, by simply deleting the build directory, and creating a new one.
-
-3. Make sure that all of the unit tests pass, including the new test cases you have added: `make check`.
-    1. To build all tests without executing them, use something like: `make tests`.
-    2. To execute a single unit test (helpful when trying to debug a test case failure), use something like: `make check GTEST_FILTER="HTTPTest.Delete"`.
-
-4. Divide your change into one or more Git commits. Each commit should represent a single logical (atomic) change to the Mesos source code: this makes your changes easier to review. For more information, see the [reviewer guidelines](effective-code-reviewing.md).
-    1. Try to avoid including other, unrelated cleanups (e.g., typo fixes or style nits) in the same commit that makes functional changes. While typo fixes are great, including them in the same commit as functional changes makes the commit history harder to read.
-    2. Developers often make incremental commits to save their progress when working on a change, and then "rewrite history" (e.g., using `git rebase -i`) to create a clean set of commits once the change is ready to be reviewed.
-    3. Commit messages should be in past tense. The first sentence should summarize the change; it should start with a capital letter, not exceed 72 characters and end in a period.
-
-5. Make sure to pull in any changes that have been committed to master branch. Using Git, do this via something like:
-    1. `git checkout master`
-    2. `git pull`
-    3. `git checkout my_branch`
-    4. Check the output of `git diff master` and make sure it lists only your changes. If other changes you did not make are listed, try `git rebase master` to bring your branch up to date with master.
-
-### Submit your patch
-1. You're ready to submit your patch for review!
-    1. Log in or create an account at [Apache Review Board](http://reviews.apache.org).
-    2. The easiest (and recommended) way to submit reviews is through `post-reviews.py` a wrapper around post-review.
-    3. First, install RBTools. [See Instructions](https://www.reviewboard.org/docs/rbtools/dev/).
-    4. Configure post-review. The easiest method is to symlink to the sample config: `ln -s support/reviewboardrc .reviewboardrc`.
-    5. Log into Review Board from the command line: run `rbt status`.
-    6. From your local branch run `support/post-reviews.py`.
-    7. Note that `post-reviews.py` creates a new review for every commit on your branch that is different from the `master`.
-    8. Be sure to add your JIRA issue id (e.g. MESOS-1) to the field labeled "Bugs" (this will automatically link).
-    9. Add your shepherd under the "People" field, in the "Reviewers" section. You should also include other Mesos community members who have contributed to the discussion of your proposed change.
-    10. Under "Description" in addition to details about your changes, include a description of any documentation pages that need to be added, or are affected by your changes (e.g. did you change or add any configuration options/flags? Did you add a new binary?)
-    11. Under "Testing Done", explain what new tests you have created, what tests were modified, and what procedures you went through to test your changes.
-
-2. Wait for a code review from another Mesos developer via Review Board, address their feedback and upload updated patches until you receive a "Ship It" from a Mesos committer.
-    1. If you don't receive any feedback, contact your shepherd to remind them. While the committers try their best to provide prompt feedback on proposed changes, they are busy and sometimes a patch gets overlooked.
-    2. When addressing feedback, adjust your existing commit(s) instead of creating new commits, otherwise `post-reviews.py` will create a new review (`git rebase -i` is your friend).
-    3. Review Board comments should be used for code-specific discussions, and JIRA comments for bigger-picture design discussions.
-    4. Always respond to each RB comment that you address directly (i.e. each comment can be responded to directly) with either "Done." or a comment explaining how you addressed it.
-    5. If an issue has been raised in the review, please resolve the issue as "Fixed" or "Dropped". If "Dropped" please add a comment explaining the reason. Also, if your fix warrants a comment (e.g., fixed differently than suggested by the reviewer) please add a comment.
-
-3. After consensus is reached on your JIRA/patch, you're review request will receive a "Ship It!" from a committer, and then a committer will commit your patch to the git repository. Congratulations and thanks for participating in our community!
-
-4. The last step is to ensure that the necessary documentation gets created or updated so the whole world knows about your new feature or bug fix.
-
-## Style Guides
-* For patches to the core, we ask that you follow the [Mesos C++ Style Guide](c++-style-guide.md).

http://git-wip-us.apache.org/repos/asf/mesos/blob/3eed405d/site/source/community.html.md
----------------------------------------------------------------------
diff --git a/site/source/community.html.md b/site/source/community.html.md
index f56131f..26a8f95 100755
--- a/site/source/community.html.md
+++ b/site/source/community.html.md
@@ -16,10 +16,12 @@ layout: community_section
 
     <h3>Contribute</h3>
     <h3 name="reportbugs">Report or track a bug</h3>
-    <p>New bugs can be reported on our <a href="http://issues.apache.org/jira/browse/MESOS">issue tracker</a>. In order to create a new issue, you'll need to signup for an account. See the guidelines <a href="/documentation/latest/reporting-a-bug/">here</a>.</p>
+    <p>New bugs can be reported on our <a href="http://issues.apache.org/jira/browse/MESOS">issue tracker</a>. In order to create a new issue, you'll need to signup for an account. See the guidelines <a href="/documentation/latest/reporting-an-issue/">here</a>.</p>
 
-    <h3 name="contribute">Contribute a core patch</h3>
-    <p>Follow our <a href="/documentation/latest/submitting-a-patch">contribution guidelines</a> when submitting a patch. We love patches. :)</p>
+    <h3 name="contribute">Contribute a patch</h3>
+    <p>Mesos relies on its community to test releases, find bugs, contribute fixes and features, and provide feedback on existing APIs. Your contributions are greatly appreciated! Since the infrastructure that the Mesos community uses day-to-day (ReviewBoard and JIRA) is unfamiliar to some, we also provide a beginner contribution guide which will help you get started using only GitHub.</p>
+    <p>Is this your first time contributing? See our <a href="/documentation/latest/beginner-contribution">beginner contribution guide</a>. Thanks! We love patches. :)</p>
+    <p>Looking to go deeper? Find out how to make larger contributions in the <a href="/documentation/latest/advanced-contribution">advanced contribution guidelines</a>.</p>
 
     <h3 name="workinggroups">Working Groups</h3>
 


[3/3] mesos git commit: Added the Getting Started landing page.

Posted by gr...@apache.org.
Added the Getting Started landing page.

After moving the build documentation to its own page, we can now have a
real "Getting Started" page suitable for anyone to get started with
Mesos. It is purposefully short, and therefore not overwhelming.

Review: https://reviews.apache.org/r/63095/


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/b7147875
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/b7147875
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/b7147875

Branch: refs/heads/master
Commit: b71478750dce4a26d84c1840a4e6d73349a6f0db
Parents: 8386e22
Author: Andrew Schwartzmeyer <an...@schwartzmeyer.com>
Authored: Fri Oct 20 10:37:25 2017 -0700
Committer: Greg Mann <gr...@gmail.com>
Committed: Fri Oct 20 10:38:19 2017 -0700

----------------------------------------------------------------------
 site/config.rb                                  |  1 -
 site/source/downloads.html.erb                  |  2 +-
 site/source/getting-started.html.md             | 20 ++++++++++++++++++++
 site/source/index.html.erb                      |  2 +-
 site/source/layouts/documentation.erb           |  2 +-
 site/source/layouts/getting_started_section.erb | 15 +++++++++++++++
 site/source/layouts/layout.erb                  |  2 +-
 7 files changed, 39 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/b7147875/site/config.rb
----------------------------------------------------------------------
diff --git a/site/config.rb b/site/config.rb
index 9e6738f..04bc7aa 100644
--- a/site/config.rb
+++ b/site/config.rb
@@ -43,7 +43,6 @@ end
 page "/index.html", :layout => "basic"
 page "/documentation/*", :layout => "documentation"
 proxy "/documentation/index.html", "/documentation/latest.html", :layout => "documentation"
-proxy "/gettingstarted/index.html", "/documentation/latest/getting-started.html", :layout => "documentation"
 latest_doc_pages = Dir.glob("./source/documentation/latest/*.md")
 latest_doc_pages.each do |page_path|
   page_name = File.basename(page_path, '.md')

http://git-wip-us.apache.org/repos/asf/mesos/blob/b7147875/site/source/downloads.html.erb
----------------------------------------------------------------------
diff --git a/site/source/downloads.html.erb b/site/source/downloads.html.erb
index 3e24100..758a552 100755
--- a/site/source/downloads.html.erb
+++ b/site/source/downloads.html.erb
@@ -42,7 +42,7 @@ breadcrumb: Downloads
       </p>
 
       <p>Once you have downloaded Mesos, follow the
-        <a href="/gettingstarted/">getting started instructions</a>,
+        <a href="/getting-started/">getting started instructions</a>,
         and take a look at the rest of the
         <a href="/documentation/">Mesos documentation</a>.
       </p>

http://git-wip-us.apache.org/repos/asf/mesos/blob/b7147875/site/source/getting-started.html.md
----------------------------------------------------------------------
diff --git a/site/source/getting-started.html.md b/site/source/getting-started.html.md
new file mode 100755
index 0000000..b03d800
--- /dev/null
+++ b/site/source/getting-started.html.md
@@ -0,0 +1,20 @@
+---
+title: Apache Mesos | Getting Started
+breadcrumb: Getting Started
+layout: getting_started_section
+---
+
+<h1>Getting Started</h1>
+
+<p>For a great introduction to building and running a distributed system with Apache Mesos, watch Benjamin Hindman's <a href="https://www.youtube.com/watch?v=hTcZGODnyf0">talk on YouTube</a>. If anything could be considered <i>required reading</i>, it would be the official white paper: <a href="https://people.eecs.berkeley.edu/~alig/papers/mesos.pdf">Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center</a>.</p>
+
+<div class="row-fluid">
+    <h2 name="building">How To Build</h2>
+    <p>See the <a href="/documentation/latest/building">building documentation</a> to learn how to build Mesos from source on various platforms.</p>
+
+    <h2 name="contribute">Contribute</h2>
+    <p>Read the <a href="/documentation/latest/beginner-contribution">beginner contribution guide</a> for a first-time introduction to the process of contributing to Mesos. For the standard day-to-day workflow for advanced Mesos contributors, read our <a href="/documentation/latest/advanced-contribution">advanced contribution guide</a>. The latter guide also includes information on our core libraries, <b>stout</b> and <b>libprocess</b>, with which new developers should get familiar.</p>
+
+    <h2 name="community">Community</h2>
+    <p>Refer to the <a href="/community">community page</a> for our mailing lists, Slack, IRC, and JIRA issue tracker.</p>
+</div>

http://git-wip-us.apache.org/repos/asf/mesos/blob/b7147875/site/source/index.html.erb
----------------------------------------------------------------------
diff --git a/site/source/index.html.erb b/site/source/index.html.erb
index b4e847f..4bde97f 100755
--- a/site/source/index.html.erb
+++ b/site/source/index.html.erb
@@ -17,7 +17,7 @@ title: Apache Mesos
 
     <div class="navbar-collapse collapse" id="mesos-menu">
       <ul class="nav navbar-nav navbar-right">
-        <li><a href="/gettingstarted/">Getting Started</a></li>
+        <li><a href="/getting-started/">Getting Started</a></li>
         <li><a href="/blog/">Blog</a></li>
         <li><a href="/documentation/latest/">Documentation</a></li>
         <li><a href="/downloads/">Downloads</a></li>

http://git-wip-us.apache.org/repos/asf/mesos/blob/b7147875/site/source/layouts/documentation.erb
----------------------------------------------------------------------
diff --git a/site/source/layouts/documentation.erb b/site/source/layouts/documentation.erb
index a91f916..1f4772b 100644
--- a/site/source/layouts/documentation.erb
+++ b/site/source/layouts/documentation.erb
@@ -5,7 +5,7 @@ Documentation
 <div class="row-fluid">
   <div class="col-md-4">
     <h4>If you're new to Mesos</h4>
-    <p>See the <a href="/gettingstarted/">getting started</a> page for more
+    <p>See the <a href="/getting-started/">getting started</a> page for more
        information about downloading, building, and deploying Mesos.</p>
 
     <h4>If you'd like to get involved or you're looking for support</h4>

http://git-wip-us.apache.org/repos/asf/mesos/blob/b7147875/site/source/layouts/getting_started_section.erb
----------------------------------------------------------------------
diff --git a/site/source/layouts/getting_started_section.erb b/site/source/layouts/getting_started_section.erb
new file mode 100644
index 0000000..3b40267
--- /dev/null
+++ b/site/source/layouts/getting_started_section.erb
@@ -0,0 +1,15 @@
+<% wrap_layout :layout do  %>
+<div class="row">
+  <div class="col-md-2">
+    <ul class="list-group">
+      <li class="list-group-item"><a href="/documentation/latest/building/">How To Build</a></li>
+      <li class="list-group-item"><a href="/documentation/latest/beginner-contribution">Beginner Contribution</a></li>
+      <li class="list-group-item"><a href="/documentation/latest/advanced-contribution">Advanced Contribution</a></li>
+      <li class="list-group-item"><a href="https://issues.apache.org/jira/browse/MESOS">JIRA Issue Tracker</a></li>
+    </li>
+  </div>
+  <div class="col-md-10">
+    <%= yield %>
+  </div>
+</div>
+<% end %>

http://git-wip-us.apache.org/repos/asf/mesos/blob/b7147875/site/source/layouts/layout.erb
----------------------------------------------------------------------
diff --git a/site/source/layouts/layout.erb b/site/source/layouts/layout.erb
index 9213c63..b396c1b 100755
--- a/site/source/layouts/layout.erb
+++ b/site/source/layouts/layout.erb
@@ -14,7 +14,7 @@
 
     <div class="navbar-collapse collapse" id="mesos-menu">
       <ul class="nav navbar-nav navbar-right">
-        <li><a href="/gettingstarted/">Getting Started</a></li>
+        <li><a href="/getting-started/">Getting Started</a></li>
         <li><a href="/blog/">Blog</a></li>
         <li><a href="/documentation/latest/">Documentation</a></li>
         <li><a href="/downloads/">Downloads</a></li>


[2/3] mesos git commit: Moved building docs to `building.md`.

Posted by gr...@apache.org.
Moved building docs to `building.md`.

The existing "Getting Started" documentation does not cover how to "get
started" with Mesos, but instead how to build it from source on multiple
platforms. Also added a link to `configuration.md` in the build
documentation section, as it was not obvious.

Review: https://reviews.apache.org/r/63093/


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/8386e22f
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/8386e22f
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/8386e22f

Branch: refs/heads/master
Commit: 8386e22f20d9d20836df6111221cb3afdaf2a3ba
Parents: 3eed405
Author: Andrew Schwartzmeyer <an...@schwartzmeyer.com>
Authored: Fri Oct 20 10:37:24 2017 -0700
Committer: Greg Mann <gr...@gmail.com>
Committed: Fri Oct 20 10:38:11 2017 -0700

----------------------------------------------------------------------
 docs/building.md        | 270 +++++++++++++++++++++++++++++++++++++++++++
 docs/getting-started.md | 270 -------------------------------------------
 docs/home.md            |   3 +-
 3 files changed, 272 insertions(+), 271 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/8386e22f/docs/building.md
----------------------------------------------------------------------
diff --git a/docs/building.md b/docs/building.md
new file mode 100644
index 0000000..552abe7
--- /dev/null
+++ b/docs/building.md
@@ -0,0 +1,270 @@
+---
+title: Apache Mesos - Building
+layout: documentation
+---
+
+# Building
+
+## Downloading Mesos
+
+There are different ways you can get Mesos:
+
+1\. Download the latest stable release from [Apache](http://mesos.apache.org/downloads/) (***Recommended***)
+
+    $ wget http://www.apache.org/dist/mesos/1.4.0/mesos-1.4.0.tar.gz
+    $ tar -zxf mesos-1.4.0.tar.gz
+
+2\. Clone the Mesos git [repository](https://git-wip-us.apache.org/repos/asf/mesos.git) (***Advanced Users Only***)
+
+    $ git clone https://git-wip-us.apache.org/repos/asf/mesos.git
+
+*NOTE: If you have problems running the above commands, you may need to first run through the ***System Requirements*** section below to install the `wget`, `tar`, and `git` utilities for your system.*
+
+## System Requirements
+
+Mesos runs on Linux (64 Bit) and Mac OS X (64 Bit). To build Mesos from source, GCC 4.8.1+ or Clang 3.5+ is required.
+
+On Linux, a kernel version >= 2.6.23 is required at both build time and run time. For full support of process isolation under Linux a recent kernel >= 3.10 is required.
+
+The Mesos agent also runs on Windows. To build Mesos from source, follow the instructions in the [Windows](windows.md) section.
+
+Make sure your hostname is resolvable via DNS or via `/etc/hosts` to allow full support of Docker's host-networking capabilities, needed for some of the Mesos tests. When in doubt, please validate that `/etc/hosts` contains your hostname.
+
+### Ubuntu 14.04
+
+Following are the instructions for stock Ubuntu 14.04. If you are using a different OS, please install the packages accordingly.
+
+    # Update the packages.
+    $ sudo apt-get update
+
+    # Install a few utility tools.
+    $ sudo apt-get install -y tar wget git
+
+    # Install the latest OpenJDK.
+    $ sudo apt-get install -y openjdk-7-jdk
+
+    # Install autotools (Only necessary if building from git repository).
+    $ sudo apt-get install -y autoconf libtool
+
+    # Install other Mesos dependencies.
+    $ sudo apt-get -y install build-essential python-dev python-six python-virtualenv libcurl4-nss-dev libsasl2-dev libsasl2-modules maven libapr1-dev libsvn-dev
+
+### Ubuntu 16.04
+
+Following are the instructions for stock Ubuntu 16.04. If you are using a different OS, please install the packages accordingly.
+
+    # Update the packages.
+    $ sudo apt-get update
+
+    # Install a few utility tools.
+    $ sudo apt-get install -y tar wget git
+
+    # Install the latest OpenJDK.
+    $ sudo apt-get install -y openjdk-8-jdk
+
+    # Install autotools (Only necessary if building from git repository).
+    $ sudo apt-get install -y autoconf libtool
+
+    # Install other Mesos dependencies.
+    $ sudo apt-get -y install build-essential python-dev python-six python-virtualenv libcurl4-nss-dev libsasl2-dev libsasl2-modules maven libapr1-dev libsvn-dev zlib1g-dev
+
+### Mac OS X 10.11 (El Capitan), macOS 10.12 (Sierra)
+
+Following are the instructions for Mac OS X El Capitan. When building Mesos with the Apple-provided toolchain, the Command Line Tools from XCode >= 8.0 are required; XCode 8 requires Mac OS X 10.11.5 or newer.
+
+    # Install Command Line Tools. The Command Line Tools from XCode >= 8.0 are required.
+    $ xcode-select --install
+
+    # Install Homebrew.
+    $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
+
+    # Install Java.
+    $ brew install Caskroom/cask/java
+
+    # Install libraries.
+    $ brew install wget git autoconf automake libtool subversion maven
+
+    # Install Python dependencies.
+    $ sudo easy_install pip
+    $ pip install virtualenv
+
+When compiling on macOS 10.12, the following is needed:
+
+    # There is an incompatiblity with the system installed svn and apr headers.
+    # We need the svn and apr headers from a brew installation of subversion.
+    # You may need to unlink the existing version of subversion installed via
+    # brew in order to configure correctly.
+    $ brew unlink subversion # (If already installed)
+    $ brew install subversion
+
+    # When configuring, the svn and apr headers from brew will be automatically
+    # detected, so no need to explicitly point to them. Also,
+    # `-Wno-deprecated-declarations` is needed to suppress warnings.
+    $ ../configure CXXFLAGS=-Wno-deprecated-declarations
+
+    # Lastly, you may encounter the following error when the libprocess tests run:
+    $ ./libprocess-tests
+    Failed to obtain the IP address for '<hostname>'; the DNS service may not be able to resolve it: nodename nor servname provided, or not known
+
+    # If so, turn on 'Remote Login' within System Preferences > Sharing to resolve the issue.
+
+*NOTE: When upgrading from Yosemite to El Capitan, make sure to rerun `xcode-select --install` after the upgrade.*
+
+### CentOS 6.6
+
+Following are the instructions for stock CentOS 6.6. If you are using a different OS, please install the packages accordingly.
+
+    # Install a recent kernel for full support of process isolation.
+    $ sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
+    $ sudo rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
+    $ sudo yum --enablerepo=elrepo-kernel install -y kernel-lt
+
+    # Make the just installed kernel the one booted by default, and reboot.
+    $ sudo sed -i 's/default=1/default=0/g' /boot/grub/grub.conf
+    $ sudo reboot
+
+    # Install a few utility tools. This also forces an update of `nss`,
+    # which is necessary for the Java bindings to build properly.
+    $ sudo yum install -y tar wget git which nss
+
+    # 'Mesos > 0.21.0' requires a C++ compiler with full C++11 support,
+    # (e.g. GCC > 4.8) which is available via 'devtoolset-2'.
+    # Fetch the Scientific Linux CERN devtoolset repo file.
+    $ sudo wget -O /etc/yum.repos.d/slc6-devtoolset.repo http://linuxsoft.cern.ch/cern/devtoolset/slc6-devtoolset.repo
+
+    # Import the CERN GPG key.
+    $ sudo rpm --import http://linuxsoft.cern.ch/cern/centos/7/os/x86_64/RPM-GPG-KEY-cern
+
+    # Fetch the Apache Maven repo file.
+    $ sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
+
+    # 'Mesos > 0.21.0' requires 'subversion > 1.8' devel package, which is
+    # not available in the default repositories.
+    # Create a WANdisco SVN repo file to install the correct version:
+    $ sudo bash -c 'cat > /etc/yum.repos.d/wandisco-svn.repo <<EOF
+    [WANdiscoSVN]
+    name=WANdisco SVN Repo 1.8
+    enabled=1
+    baseurl=http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/$basearch/
+    gpgcheck=1
+    gpgkey=http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco
+    EOF'
+
+    # Install essential development tools.
+    $ sudo yum groupinstall -y "Development Tools"
+
+    # Install 'devtoolset-2-toolchain' which includes GCC 4.8.2 and related packages.
+    $ sudo yum install -y devtoolset-2-toolchain
+
+    # Install other Mesos dependencies.
+    $ sudo yum install -y apache-maven python-devel python-six python-virtualenv java-1.7.0-openjdk-devel zlib-devel libcurl-devel openssl-devel cyrus-sasl-devel cyrus-sasl-md5 apr-devel subversion-devel apr-util-devel
+
+    # Enter a shell with 'devtoolset-2' enabled.
+    $ scl enable devtoolset-2 bash
+    $ g++ --version  # Make sure you've got GCC > 4.8!
+
+    # Process isolation is using cgroups that are managed by 'cgconfig'.
+    # The 'cgconfig' service is not started by default on CentOS 6.6.
+    # Also the default configuration does not attach the 'perf_event' subsystem.
+    # To do this, add 'perf_event = /cgroup/perf_event;' to the entries in '/etc/cgconfig.conf'.
+    $ sudo yum install -y libcgroup
+    $ sudo service cgconfig start
+
+### CentOS 7.1
+
+Following are the instructions for stock CentOS 7.1. If you are using a different OS, please install the packages accordingly.
+
+    # Install a few utility tools
+    $ sudo yum install -y tar wget git
+
+    # Fetch the Apache Maven repo file.
+    $ sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
+
+    # Install the EPEL repo so that we can pull in 'libserf-1' as part of our
+    # subversion install below.
+    $ sudo yum install -y epel-release
+
+    # 'Mesos > 0.21.0' requires 'subversion > 1.8' devel package,
+    # which is not available in the default repositories.
+    # Create a WANdisco SVN repo file to install the correct version:
+    $ sudo bash -c 'cat > /etc/yum.repos.d/wandisco-svn.repo <<EOF
+    [WANdiscoSVN]
+    name=WANdisco SVN Repo 1.9
+    enabled=1
+    baseurl=http://opensource.wandisco.com/centos/7/svn-1.9/RPMS/\$basearch/
+    gpgcheck=1
+    gpgkey=http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco
+    EOF'
+
+    # Parts of Mesos require systemd in order to operate. However, Mesos
+    # only supports versions of systemd that contain the 'Delegate' flag.
+    # This flag was first introduced in 'systemd version 218', which is
+    # lower than the default version installed by centos. Luckily, centos
+    # 7.1 has a patched 'systemd < 218' that contains the 'Delegate' flag.
+    # Explicity update systemd to this patched version.
+    $ sudo yum update systemd
+
+    # Install essential development tools.
+    $ sudo yum groupinstall -y "Development Tools"
+
+    # Install other Mesos dependencies.
+    $ sudo yum install -y apache-maven python-devel python-six python-virtualenv java-1.8.0-openjdk-devel zlib-devel libcurl-devel openssl-devel cyrus-sasl-devel cyrus-sasl-md5 apr-devel subversion-devel apr-util-devel
+
+### Windows
+
+Follow the instructions in the [Windows](windows.md) section.
+
+## Building Mesos (Posix)
+
+    # Change working directory.
+    $ cd mesos
+
+    # Bootstrap (Only required if building from git repository).
+    $ ./bootstrap
+
+    # Configure and build.
+    $ mkdir build
+    $ cd build
+    $ ../configure
+    $ make
+
+In order to speed up the build and reduce verbosity of the logs, you can append `-j <number of cores> V=0` to `make`.
+
+    # Run test suite.
+    $ make check
+
+    # Install (Optional).
+    $ make install
+
+## Examples
+
+Mesos comes bundled with example frameworks written in C++, Java and Python.
+The framework binaries will only be available after running `make check`, as
+described in the ***Building Mesos*** section above.
+
+    # Change into build directory.
+    $ cd build
+
+    # Start Mesos master (ensure work directory exists and has proper permissions).
+    $ ./bin/mesos-master.sh --ip=127.0.0.1 --work_dir=/var/lib/mesos
+
+    # Start Mesos agent (ensure work directory exists and has proper permissions).
+    $ ./bin/mesos-agent.sh --master=127.0.0.1:5050 --work_dir=/var/lib/mesos
+
+    # Visit the Mesos web page.
+    $ http://127.0.0.1:5050
+
+    # Run C++ framework (exits after successfully running some tasks).
+    $ ./src/test-framework --master=127.0.0.1:5050
+
+    # Run Java framework (exits after successfully running some tasks).
+    $ ./src/examples/java/test-framework 127.0.0.1:5050
+
+    # Run Python framework (exits after successfully running some tasks).
+    $ ./src/examples/python/test-framework 127.0.0.1:5050
+
+*Note: These examples assume you are running Mesos on your local machine.
+Following them will not allow you to access the Mesos web page in a production
+environment (e.g. on AWS). For that you will need to specify the actual IP of
+your host when launching the Mesos master and ensure your firewall settings
+allow access to port 5050 from the outside world.*

http://git-wip-us.apache.org/repos/asf/mesos/blob/8386e22f/docs/getting-started.md
----------------------------------------------------------------------
diff --git a/docs/getting-started.md b/docs/getting-started.md
deleted file mode 100644
index da1471e..0000000
--- a/docs/getting-started.md
+++ /dev/null
@@ -1,270 +0,0 @@
----
-title: Apache Mesos - Getting Started
-layout: documentation
----
-
-# Getting Started
-
-## Downloading Mesos
-
-There are different ways you can get Mesos:
-
-1\. Download the latest stable release from [Apache](http://mesos.apache.org/downloads/) (***Recommended***)
-
-    $ wget http://www.apache.org/dist/mesos/1.4.0/mesos-1.4.0.tar.gz
-    $ tar -zxf mesos-1.4.0.tar.gz
-
-2\. Clone the Mesos git [repository](https://git-wip-us.apache.org/repos/asf/mesos.git) (***Advanced Users Only***)
-
-    $ git clone https://git-wip-us.apache.org/repos/asf/mesos.git
-
-*NOTE: If you have problems running the above commands, you may need to first run through the ***System Requirements*** section below to install the `wget`, `tar`, and `git` utilities for your system.*
-
-## System Requirements
-
-Mesos runs on Linux (64 Bit) and Mac OS X (64 Bit). To build Mesos from source, GCC 4.8.1+ or Clang 3.5+ is required.
-
-On Linux, a kernel version >= 2.6.23 is required at both build time and run time. For full support of process isolation under Linux a recent kernel >= 3.10 is required.
-
-The Mesos agent also runs on Windows. To build Mesos from source, follow the instructions in the [Windows](windows.md) section.
-
-Make sure your hostname is resolvable via DNS or via `/etc/hosts` to allow full support of Docker's host-networking capabilities, needed for some of the Mesos tests. When in doubt, please validate that `/etc/hosts` contains your hostname.
-
-### Ubuntu 14.04
-
-Following are the instructions for stock Ubuntu 14.04. If you are using a different OS, please install the packages accordingly.
-
-    # Update the packages.
-    $ sudo apt-get update
-
-    # Install a few utility tools.
-    $ sudo apt-get install -y tar wget git
-
-    # Install the latest OpenJDK.
-    $ sudo apt-get install -y openjdk-7-jdk
-
-    # Install autotools (Only necessary if building from git repository).
-    $ sudo apt-get install -y autoconf libtool
-
-    # Install other Mesos dependencies.
-    $ sudo apt-get -y install build-essential python-dev python-six python-virtualenv libcurl4-nss-dev libsasl2-dev libsasl2-modules maven libapr1-dev libsvn-dev
-
-### Ubuntu 16.04
-
-Following are the instructions for stock Ubuntu 16.04. If you are using a different OS, please install the packages accordingly.
-
-    # Update the packages.
-    $ sudo apt-get update
-
-    # Install a few utility tools.
-    $ sudo apt-get install -y tar wget git
-
-    # Install the latest OpenJDK.
-    $ sudo apt-get install -y openjdk-8-jdk
-
-    # Install autotools (Only necessary if building from git repository).
-    $ sudo apt-get install -y autoconf libtool
-
-    # Install other Mesos dependencies.
-    $ sudo apt-get -y install build-essential python-dev python-six python-virtualenv libcurl4-nss-dev libsasl2-dev libsasl2-modules maven libapr1-dev libsvn-dev zlib1g-dev
-
-### Mac OS X 10.11 (El Capitan), macOS 10.12 (Sierra)
-
-Following are the instructions for Mac OS X El Capitan. When building Mesos with the Apple-provided toolchain, the Command Line Tools from XCode >= 8.0 are required; XCode 8 requires Mac OS X 10.11.5 or newer.
-
-    # Install Command Line Tools. The Command Line Tools from XCode >= 8.0 are required.
-    $ xcode-select --install
-
-    # Install Homebrew.
-    $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
-
-    # Install Java.
-    $ brew install Caskroom/cask/java
-
-    # Install libraries.
-    $ brew install wget git autoconf automake libtool subversion maven
-
-    # Install Python dependencies.
-    $ sudo easy_install pip
-    $ pip install virtualenv
-
-When compiling on macOS 10.12, the following is needed:
-
-    # There is an incompatiblity with the system installed svn and apr headers.
-    # We need the svn and apr headers from a brew installation of subversion.
-    # You may need to unlink the existing version of subversion installed via
-    # brew in order to configure correctly.
-    $ brew unlink subversion # (If already installed)
-    $ brew install subversion
-
-    # When configuring, the svn and apr headers from brew will be automatically
-    # detected, so no need to explicitly point to them. Also,
-    # `-Wno-deprecated-declarations` is needed to suppress warnings.
-    $ ../configure CXXFLAGS=-Wno-deprecated-declarations
-
-    # Lastly, you may encounter the following error when the libprocess tests run:
-    $ ./libprocess-tests
-    Failed to obtain the IP address for '<hostname>'; the DNS service may not be able to resolve it: nodename nor servname provided, or not known
-
-    # If so, turn on 'Remote Login' within System Preferences > Sharing to resolve the issue.
-
-*NOTE: When upgrading from Yosemite to El Capitan, make sure to rerun `xcode-select --install` after the upgrade.*
-
-### CentOS 6.6
-
-Following are the instructions for stock CentOS 6.6. If you are using a different OS, please install the packages accordingly.
-
-    # Install a recent kernel for full support of process isolation.
-    $ sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
-    $ sudo rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
-    $ sudo yum --enablerepo=elrepo-kernel install -y kernel-lt
-
-    # Make the just installed kernel the one booted by default, and reboot.
-    $ sudo sed -i 's/default=1/default=0/g' /boot/grub/grub.conf
-    $ sudo reboot
-
-    # Install a few utility tools. This also forces an update of `nss`,
-    # which is necessary for the Java bindings to build properly.
-    $ sudo yum install -y tar wget git which nss
-
-    # 'Mesos > 0.21.0' requires a C++ compiler with full C++11 support,
-    # (e.g. GCC > 4.8) which is available via 'devtoolset-2'.
-    # Fetch the Scientific Linux CERN devtoolset repo file.
-    $ sudo wget -O /etc/yum.repos.d/slc6-devtoolset.repo http://linuxsoft.cern.ch/cern/devtoolset/slc6-devtoolset.repo
-
-    # Import the CERN GPG key.
-    $ sudo rpm --import http://linuxsoft.cern.ch/cern/centos/7/os/x86_64/RPM-GPG-KEY-cern
-
-    # Fetch the Apache Maven repo file.
-    $ sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
-
-    # 'Mesos > 0.21.0' requires 'subversion > 1.8' devel package, which is
-    # not available in the default repositories.
-    # Create a WANdisco SVN repo file to install the correct version:
-    $ sudo bash -c 'cat > /etc/yum.repos.d/wandisco-svn.repo <<EOF
-    [WANdiscoSVN]
-    name=WANdisco SVN Repo 1.8
-    enabled=1
-    baseurl=http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/$basearch/
-    gpgcheck=1
-    gpgkey=http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco
-    EOF'
-
-    # Install essential development tools.
-    $ sudo yum groupinstall -y "Development Tools"
-
-    # Install 'devtoolset-2-toolchain' which includes GCC 4.8.2 and related packages.
-    $ sudo yum install -y devtoolset-2-toolchain
-
-    # Install other Mesos dependencies.
-    $ sudo yum install -y apache-maven python-devel python-six python-virtualenv java-1.7.0-openjdk-devel zlib-devel libcurl-devel openssl-devel cyrus-sasl-devel cyrus-sasl-md5 apr-devel subversion-devel apr-util-devel
-
-    # Enter a shell with 'devtoolset-2' enabled.
-    $ scl enable devtoolset-2 bash
-    $ g++ --version  # Make sure you've got GCC > 4.8!
-
-    # Process isolation is using cgroups that are managed by 'cgconfig'.
-    # The 'cgconfig' service is not started by default on CentOS 6.6.
-    # Also the default configuration does not attach the 'perf_event' subsystem.
-    # To do this, add 'perf_event = /cgroup/perf_event;' to the entries in '/etc/cgconfig.conf'.
-    $ sudo yum install -y libcgroup
-    $ sudo service cgconfig start
-
-### CentOS 7.1
-
-Following are the instructions for stock CentOS 7.1. If you are using a different OS, please install the packages accordingly.
-
-    # Install a few utility tools
-    $ sudo yum install -y tar wget git
-
-    # Fetch the Apache Maven repo file.
-    $ sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
-
-    # Install the EPEL repo so that we can pull in 'libserf-1' as part of our
-    # subversion install below.
-    $ sudo yum install -y epel-release
-
-    # 'Mesos > 0.21.0' requires 'subversion > 1.8' devel package,
-    # which is not available in the default repositories.
-    # Create a WANdisco SVN repo file to install the correct version:
-    $ sudo bash -c 'cat > /etc/yum.repos.d/wandisco-svn.repo <<EOF
-    [WANdiscoSVN]
-    name=WANdisco SVN Repo 1.9
-    enabled=1
-    baseurl=http://opensource.wandisco.com/centos/7/svn-1.9/RPMS/\$basearch/
-    gpgcheck=1
-    gpgkey=http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco
-    EOF'
-
-    # Parts of Mesos require systemd in order to operate. However, Mesos
-    # only supports versions of systemd that contain the 'Delegate' flag.
-    # This flag was first introduced in 'systemd version 218', which is
-    # lower than the default version installed by centos. Luckily, centos
-    # 7.1 has a patched 'systemd < 218' that contains the 'Delegate' flag.
-    # Explicity update systemd to this patched version.
-    $ sudo yum update systemd
-
-    # Install essential development tools.
-    $ sudo yum groupinstall -y "Development Tools"
-
-    # Install other Mesos dependencies.
-    $ sudo yum install -y apache-maven python-devel python-six python-virtualenv java-1.8.0-openjdk-devel zlib-devel libcurl-devel openssl-devel cyrus-sasl-devel cyrus-sasl-md5 apr-devel subversion-devel apr-util-devel
-
-### Windows
-
-Follow the instructions in the [Windows](windows.md) section.
-
-## Building Mesos (Posix)
-
-    # Change working directory.
-    $ cd mesos
-
-    # Bootstrap (Only required if building from git repository).
-    $ ./bootstrap
-
-    # Configure and build.
-    $ mkdir build
-    $ cd build
-    $ ../configure
-    $ make
-
-In order to speed up the build and reduce verbosity of the logs, you can append `-j <number of cores> V=0` to `make`.
-
-    # Run test suite.
-    $ make check
-
-    # Install (Optional).
-    $ make install
-
-## Examples
-
-Mesos comes bundled with example frameworks written in C++, Java and Python.
-The framework binaries will only be available after running `make check`, as
-described in the ***Building Mesos*** section above.
-
-    # Change into build directory.
-    $ cd build
-
-    # Start Mesos master (ensure work directory exists and has proper permissions).
-    $ ./bin/mesos-master.sh --ip=127.0.0.1 --work_dir=/var/lib/mesos
-
-    # Start Mesos agent (ensure work directory exists and has proper permissions).
-    $ ./bin/mesos-agent.sh --master=127.0.0.1:5050 --work_dir=/var/lib/mesos
-
-    # Visit the Mesos web page.
-    $ http://127.0.0.1:5050
-
-    # Run C++ framework (exits after successfully running some tasks).
-    $ ./src/test-framework --master=127.0.0.1:5050
-
-    # Run Java framework (exits after successfully running some tasks).
-    $ ./src/examples/java/test-framework 127.0.0.1:5050
-
-    # Run Python framework (exits after successfully running some tasks).
-    $ ./src/examples/python/test-framework 127.0.0.1:5050
-
-*Note: These examples assume you are running Mesos on your local machine.
-Following them will not allow you to access the Mesos web page in a production
-environment (e.g. on AWS). For that you will need to specify the actual IP of
-your host when launching the Mesos master and ensure your firewall settings
-allow access to port 5050 from the outside world.*

http://git-wip-us.apache.org/repos/asf/mesos/blob/8386e22f/docs/home.md
----------------------------------------------------------------------
diff --git a/docs/home.md b/docs/home.md
index 657a41c..cf2e8d8 100644
--- a/docs/home.md
+++ b/docs/home.md
@@ -9,7 +9,8 @@ layout: documentation
 * [Academic Papers and Project History](https://www.usenix.org/conference/nsdi11/mesos-platform-fine-grained-resource-sharing-data-center)
 
 ## Build / Installation
-* [Getting Started](getting-started.md) for basic instructions on compiling and installing Mesos.
+* [Building](building.md) for basic instructions on compiling and installing Mesos.
+* [Configuration](configuration.md) for build configuration options.
 * [CMake](cmake.md) for details about using the new CMake build system.
 * [Windows Support](windows.md) for the state of Windows support in Mesos.