Repository: incubator-beam-site
Updated Branches:
  refs/heads/asf-site db24abd9d -> 8615ea0c0


Add contribution guide


Project: http://git-wip-us.apache.org/repos/asf/incubator-beam-site/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-beam-site/commit/8de7377a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-beam-site/tree/8de7377a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-beam-site/diff/8de7377a

Branch: refs/heads/asf-site
Commit: 8de7377ac6ca95e4628f120d8cfd05b3d944f6d8
Parents: db24abd
Author: James Malone <[email protected]>
Authored: Fri Mar 25 23:22:10 2016 -0700
Committer: Davor Bonaci <[email protected]>
Committed: Wed Mar 30 09:32:55 2016 -0700

----------------------------------------------------------------------
 _config.yml                                     |   3 +
 _includes/header.html                           |   1 +
 _pages/contribution-guide.md                    | 263 ++++++++++++
 .../2016/03/17/capability-matrix.html           |   1 +
 .../python/sdk/2016/02/25/beam-has-a-logo0.html |   1 +
 .../website/2016/02/22/beam-has-a-logo.html     |   1 +
 content/blog/index.html                         |   1 +
 content/capability-matrix/index.html            |   1 +
 content/contribution-guide/index.html           | 430 +++++++++++++++++++
 content/feed.xml                                |   4 +-
 content/getting_started/index.html              |   1 +
 content/images/contribution-guide-1.png         | Bin 0 -> 31400 bytes
 content/index.html                              |   1 +
 content/issue_tracking/index.html               |   1 +
 content/mailing_lists/index.html                |   1 +
 content/privacy_policy/index.html               |   1 +
 content/source_repository/index.html            |   1 +
 content/team/index.html                         |  17 +-
 images/contribution-guide-1.png                 | Bin 0 -> 31400 bytes
 19 files changed, 719 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-beam-site/blob/8de7377a/_config.yml
----------------------------------------------------------------------
diff --git a/_config.yml b/_config.yml
index c0964ef..168a31c 100644
--- a/_config.yml
+++ b/_config.yml
@@ -36,3 +36,6 @@ include: ['_pages']
 
 collections:
 - beam_team
+
+# Things to ignore in the build
+exclude: ['README.md', 'Gemfile.lock', 'Gemfile']

http://git-wip-us.apache.org/repos/asf/incubator-beam-site/blob/8de7377a/_includes/header.html
----------------------------------------------------------------------
diff --git a/_includes/header.html b/_includes/header.html
index f92f620..5121f74 100644
--- a/_includes/header.html
+++ b/_includes/header.html
@@ -26,6 +26,7 @@
             <li><a href="{{ site.baseurl }}/team/">Apache Beam Team</a></li>
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">Contribute</li>
+            <li><a href="{{ site.baseurl }}/contribution-guide/">Contribution 
Guide</a></li>
             <li><a href="{{ site.baseurl }}/source_repository/">Source 
Repository</a></li>
             <li><a href="{{ site.baseurl }}/issue_tracking/">Issue 
Tracking</a></li>
           </ul>

http://git-wip-us.apache.org/repos/asf/incubator-beam-site/blob/8de7377a/_pages/contribution-guide.md
----------------------------------------------------------------------
diff --git a/_pages/contribution-guide.md b/_pages/contribution-guide.md
new file mode 100644
index 0000000..abcbb1b
--- /dev/null
+++ b/_pages/contribution-guide.md
@@ -0,0 +1,263 @@
+---
+layout: default
+title: "Apache Beam Contribution Guide"
+permalink: /contribution-guide/
+---
+
+# How to Contribute
+
+* TOC
+{:toc}
+
+The Apache Beam community welcomes contributions from anyone with a passion 
for data processing! Beam has many different opportunities for contributions -- 
write new examples, add new user-facing libraries (new statistical libraries, 
new IO connectors, etc), work on the core programming model, build specific 
runners (Apache Flink, Apache Spark, Google Cloud Dataflow, etc), or 
participate on the documentation effort.
+
+We use a review-then-commit workflow in Beam for all contributions.
+
+![Alt text]({{ "/images/contribution-guide-1.png" | prepend: site.baseurl }} 
"Workflow image")
+
+**For larger contributions or those that affect multiple components:**
+
+1. **Engage**: We encourage you to work with the Beam community on the [Apache 
JIRA issue tracker](https://issues.apache.org/jira/browse/BEAM) and 
[developer’s mailing list](http://beam.incubator.apache.org/mailing_lists/) 
to identify good areas for contribution.
+1. **Design:** More complicated contributions will likely benefit from some 
early discussion in order to scope and design them well.
+
+**For all contributions:**
+
+1. **Code:** The best part ;-)
+1. **Review:** Submit a pull request with your contribution to our [GitHub 
mirror](https://github.com/apache/incubator-beam/). Work with a committer to 
review and iterate on the code, if needed.
+1. **Commit:** A Beam committer merges the pull request into our [Apache 
repository](https://git-wip-us.apache.org/repos/asf/incubator-beam.git).
+
+We look forward to working with you!
+
+## Engage
+
+### Mailing list(s)
+We discuss design and implementation issues on [email protected] 
mailing list, which is archived 
[here](http://mail-archives.apache.org/mod_mbox/incubator-beam-dev/). Join by 
emailing 
[`[email protected]`](mailto:[email protected]).
+
+If interested, you can also join 
[`[email protected]`](http://mail-archives.apache.org/mod_mbox/incubator-beam-user/)
 and 
[`[email protected]`](http://mail-archives.apache.org/mod_mbox/incubator-beam-commits/)
 too.
+
+### Apache JIRA
+We use [Apache JIRA](https://issues.apache.org/jira/browse/BEAM) as an issue 
tracking and project management tool, as well as a way to communicate among a 
very diverse and distributed set of contributors. To be able to gather 
feedback, avoid frustration, and avoid duplicated efforts all Beam-related work 
should be tracked there.
+
+If you do not already have an Apache JIRA account, sign up 
[here](https://issues.apache.org/jira/).
+
+If a quick 
[search](https://issues.apache.org/jira/issues/?jql=project%3DBEAM%20AND%20text%20~%20%22the%20thing%20I%20want%20to%20contribute%22)
 doesn’t turn up an existing JIRA issue for the work you want to contribute, 
create it. Please discuss your proposal with a committer or the [component 
lead](https://issues.apache.org/jira/browse/BEAM/?selectedTab=com.atlassian.jira.jira-projects-plugin:components-panel)
 in JIRA or, alternatively, on the developer mailing list.
+
+If there’s an existing JIRA issue for your intended contribution, please 
comment about your intended work. Once the work is understood, a committer will 
assign the issue to you. (If you don’t have a JIRA role yet, you’ll be 
added to the “contributor” role.) If an issue is currently assigned, please 
check with the current assignee before reassigning.
+
+For moderate or large contributions, you should not start coding or writing a 
design doc unless there is a corresponding JIRA issue assigned to you for that 
work. Simple changes, like fixing typos, do not require an associated issue.
+
+## Design
+To avoid potential frustration during the code review cycle, we encourage you 
to clearly scope and design non-trivial contributions with the Beam community 
before you start coding.
+
+Generally, the JIRA issue is the best place to gather relevant design docs, 
comments, or references. It’s great to explicitly include relevant 
stakeholders early in the conversation. For designs that may be generally 
interesting, we also encourage conversations on the developer’s mailing list.
+
+We suggest using [Google Docs](https://docs.google.com/) for sharing designs 
that may benefit from diagrams or comments. Please remember to make the 
document world-commentable and add a link to it from the relevant JIRA issue. 
We also track Beam-related documents in [this shared 
folder](https://drive.google.com/folderview?id=0B-IhJZh9Ab52OFBVZHpsNjc4eXc&usp=sharing).
+
+## Code
+To contribute code to Apache Beam, you’ll have to do a few administrative 
steps once, and then follow a few guidelines for each contribution.
+
+### One-time Setup
+
+#### [Potentially] Submit Contributor License Agreement
+Apache Software Foundation (ASF) desires that all contributors of ideas, code, 
or documentation to the Apache projects complete, sign, and submit an 
[Individual Contributor License 
Agreement](https://www.apache.org/licenses/icla.txt) (ICLA). The purpose of 
this agreement is to clearly define the terms under which intellectual property 
has been contributed to the ASF and thereby allow us to defend the project 
should there be a legal dispute regarding the software at some future time.
+
+We require you to have an ICLA on file with the Apache Secretary for larger 
contributions only. For smaller ones, however, we rely on  [clause 
five](http://www.apache.org/licenses/LICENSE-2.0#contributions) of the Apache 
License, Version 2.0, describing licensing of intentionally submitted 
contributions and do not require an ICLA in that case.
+
+#### Obtain a GitHub account
+We use GitHub’s pull request functionality to review proposed code changes.
+
+If you do not already have a personal GitHub account, sign up 
[here](https://github.com/join).
+
+#### Fork the repository on GitHub
+Go to the [Beam GitHub mirror](https://github.com/apache/incubator-beam/) and 
fork the repository to your own private account. This will be your private 
workspace for staging changes.
+
+We recommend enabling Travis-CI continuous integration coverage on your 
private fork in order to easily test your changes before proposing a pull 
request. Go to [Travis-CI](https://travis-ci.org), log in with your GitHub 
account, and enable coverage for your repository.
+
+#### Clone the repository locally
+You are now ready to create the development environment on your local machine. 
Feel free to repeat these steps on all machines that you want to use for 
development.
+
+We assume you are using SSH-based authentication with GitHub. If necessary, 
exchange SSH keys with GitHub by following [their 
instructions](https://help.github.com/articles/generating-an-ssh-key/).
+
+Clone Beam’s read-only GitHub mirror.
+
+    $ git clone https://github.com/apache/incubator-beam.git
+    $ cd incubator-beam
+
+Add your forked repository as an additional Git remote, where you’ll push 
your changes.
+
+<pre><code>$ git remote add <b>&lt;GitHub_user&gt;</b> 
[email protected]:<b>&lt;GitHub_user&gt;</b>/incubator-beam.git</code></pre>
+
+You are now ready to start developing!
+
+### Create a branch in your fork
+You’ll work on your contribution in a branch in your own (forked) 
repository. Create a local branch, initialized with the state of the branch you 
expect your changes to be merged into. Keep in mind that we use several 
branches, including `master`, feature-specific, and release-specific branches. 
If you are unsure, initialize with the state of the `master` branch.
+
+<pre><code>$ git fetch --all
+$ git checkout -b <b>&lt;my-branch&gt;</b> origin/master</code></pre>
+
+At this point, you can start making and committing changes to this branch in a 
standard way.
+
+### Syncing and pushing your branch
+Periodically while you work, and certainly before submitting a pull request, 
you should update your branch with the most recent changes to the target branch.
+
+    $ git pull --rebase
+
+Remember to always use `--rebase` parameter to avoid extraneous merge commits.
+
+To push your local, committed changes to your (forked) repository on GitHub, 
run:
+
+<pre><code>$ git push <b>&lt;GitHub_user&gt; &lt;my-branch&gt;</b></code></pre>
+
+### Testing
+All code should have appropriate unit testing coverage. New code should have 
new tests in the same contribution. Bug fixes should include a regression test 
to prevent the issue from reoccurring.
+
+For contributions to the Java code, run unit tests locally via Maven. 
Alternatively, you can use Travis-CI.
+
+    $ mvn clean verify
+
+## Review
+Once the initial code is complete and the tests pass, it’s time to start the 
code review process. We review and discuss all code, no matter who authors it. 
It’s a great way to build community, since you can learn from other 
developers, and they become familiar with your contribution. It also builds a 
strong project by encouraging a high quality bar and keeping code consistent 
throughout the project.
+
+### Create a pull request
+Organize your commits to make your reviewer’s job easier. Use the following 
command to re-order, squash, edit, or change description of individual commits.
+
+    $ git rebase -i origin/master
+
+Navigate to the [Beam GitHub mirror](https://github.com/apache/incubator-beam) 
to create a pull request. The title of the pull request should be strictly in 
the following format:
+
+<pre><code>[BEAM-<b>&lt;JIRA-issue-#&gt;</b>] Title of the pull 
request</code></pre>
+
+Please include a descriptive pull request message to help make the 
reviewer’s job easier. It’s fine to refer to existing design docs or the 
contents of the associated JIRA as appropriate.
+
+If you know a good committer to review your pull request, please make a 
comment like the following. If not, don’t worry -- a committer will pick it 
up.
+
+<pre><code>Hi @<b>&lt;GitHub-reviewer-username&gt;</b>, can you please take a 
look?</code></pre>
+
+When choosing a reviewer, think about who is the expert on the relevant code, 
who the stakeholders are for this change, and who else would benefit from 
becoming familiar with the code. If you’d appreciate comments from additional 
folks but already have a main reviewer, you can explicitly cc them using 
<code>@<b>&lt;GitHub-reviewer-username&gt;</b></code>.
+
+### Code Review and Revision
+During the code review process, don’t rebase your branch or otherwise modify 
published commits, since this can remove existing comment history and be 
confusing to the reviewer. When you make a revision, always push it in a new 
commit.
+
+Our GitHub mirror automatically provides pre-commit testing coverage using 
Jenkins and Travis-CI. Please make sure those tests pass; the contribution 
cannot be merged otherwise.
+
+### LGTM
+Once the reviewer is happy with the change, they’ll respond with an LGTM 
(“*looks good to me!*”). At this point, the committer will take over, 
possibly make some additional touch ups, and merge your changes into the 
codebase.
+
+In the case both the author and the reviewer are committers, either can merge 
the pull request. Just be sure to communicate clearly whose responsibility it 
is in this particular case.
+
+Thank you for your contribution to Beam!
+
+### Deleting your branch
+Once the pull request is merged into the Beam repository, you can safely 
delete the branch locally and purge it from your forked repository.
+
+From another local branch, run:
+
+<pre><code>$ git fetch --all
+$ git branch -d <b>&lt;my-branch&gt;</b>
+$ git push <b>&lt;GitHub_user&gt;</b> --delete 
<b>&lt;my-branch&gt;</b></code></pre>
+
+## Commit (committers only)
+Once the code has been peer reviewed by a committer, the next step is for the 
committer to merge it into the [authoritative Apache 
repository](https://git-wip-us.apache.org/repos/asf/incubator-beam.git), not 
the read-only GitHub mirror. (In the case that the author is also a committer, 
it is acceptable for either the author or reviewer to do the merge. Just be 
explicit about whose job it is!)
+
+Pull requests should not be merged before the review has received an explicit 
LGTM from another committer. Exceptions to this rule may be made rarely, on a 
case-by-case basis only, in the committer’s discretion for situations such as 
build breakages.
+
+Committers should never commit anything without going through a pull request, 
since that would bypass test coverage and potentially cause the build to fail 
due to checkstyle, etc. In addition, pull requests ensure that changes are 
communicated properly and potential flaws or improvements can be spotted. 
**Always go through the pull request, even if you won’t wait for the code 
review.** Even then, comments can be provided in the pull requests after it has 
been merged to work on follow-ups.
+
+Committing is currently a manual process, but we are investigating tools to 
automate pieces of this process.
+
+### One-time Setup
+Add the Apache Git remote in your local clone, by running:
+
+    $ git remote add apache 
https://git-wip-us.apache.org/repos/asf/incubator-beam.git
+
+We recommend renaming the `origin` remote to `github`, to avoid confusion when 
dealing with this many remotes.
+
+    $ git remote rename origin github
+
+For the `github` remote, add an additional fetch reference, which will cause 
every pull request to be made available as a remote branch in your workspace.
+
+    $ git config --local --add remote.github.fetch \
+        '+refs/pull/*/head:refs/remotes/github/pr/*'
+
+You can confirm your configuration by running the following command.
+
+<pre><code>$ git remote -v
+apache https://git-wip-us.apache.org/repos/asf/incubator-beam.git (fetch)
+apache https://git-wip-us.apache.org/repos/asf/incubator-beam.git (push)
+github https://github.com/apache/incubator-beam.git (fetch)
+github https://github.com/apache/incubator-beam.git (push)
+<b>&lt;username&gt;</b>        
[email protected]:<b>&lt;username&gt;</b>/beam.git (fetch)
+<b>&lt;username&gt;</b>        
[email protected]:<b>&lt;username&gt;</b>/beam.git (push)</code></pre>
+
+### Contributor License Agreement
+If you are merging a larger contribution, please make sure that the 
contributor has an ICLA on file with the Apache Secretary. You can view the 
list of committers 
[here](http://home.apache.org/phonebook.html?unix=committers), as well as 
[ICLA-signers who aren’t yet 
committers](http://home.apache.org/unlistedclas.html).
+
+For smaller contributions, however, this is not required. In this case, we 
rely on [clause five](http://www.apache.org/licenses/LICENSE-2.0#contributions) 
of the Apache License, Version 2.0, describing licensing of intentionally 
submitted contributions.
+
+### Tests
+Before merging, please make sure both Travis-CI and Jenkins tests pass, as 
visible in the GitHub pull request. Do not merge the pull request otherwise.
+
+### Finishing touches
+At some point in the review process, you should take the pull request over and 
complete any outstanding work that is either minor, stylistic, or otherwise 
outside the expertise of the contributor.
+
+Fetch references from all remote repositories, and checkout the specific pull 
request branch.
+
+<pre>
+</code>$ git fetch --all
+$ git checkout -b finish-pr-<b>&lt;pull-request-#&gt;</b> 
github/pr/<b>&lt;pull-request-#&gt;</b></code></pre>
+
+At this point, you can commit any final touches to the pull request. For 
example, you should:
+
+* Rebase on current state of the target branch.
+* Fix typos.
+* Reorganize commits that are part of the pull request, such as squash them 
into fewer commits that make sense for a historical perspective.
+
+You will often need the following command, assuming you’ll be merging 
changes into the `master` branch:
+
+    $ git rebase -i apache/master
+
+Please make sure to retain authorship of original commits to give proper 
credit to the contributor. You are welcome to change their commits slightly 
(e.g., fix a typo) and squash them, but more substantive changes should be a 
separate commit and review.
+
+### Merge process
+Once you are ready to merge, fetch all remotes, checkout the destination 
branch and merge the changes.
+
+<pre><code>$ git fetch --all
+$ git checkout apache/master
+$ git merge --no-ff \
+&nbsp;&nbsp;&nbsp;&nbsp;-m $'[BEAM-<b>&lt;JIRA-issue-#&gt;</b>] 
<b>&lt;Title&gt;</b>\n\nThis closes #<b>&lt;pull-request-#&gt;</b>' \
+&nbsp;&nbsp;&nbsp;&nbsp;finish-pr-<b>&lt;pull-request-#&gt;</b></code></pre>
+
+Always use `--no-ff` option and the specific commit message "This closes 
#<b>&lt;pull request #&gt;</b>"" -- it ensures proper marking in the tooling. 
It would be nice to include additional information in the merge commit message, 
such as the title and summary of the pull request.
+
+At this point, you want to ensure everything is right. Test it with `mvn 
verify`. Run `gitk` or `git log --graph,` etc. When you are happy with how it 
looks, push it. This is the point of no return -- proceed with caution.
+
+    $ git push apache HEAD:master
+
+Done. You can delete the local 
<code>finish-pr-<b>&lt;pull-request-#&gt;</b></code> branch if you like.
+
+## Additional Projects
+
+### Website
+We use the same general review-then-commit process for changes to the Beam 
website, which uses [this GitHub 
Mirror](https://github.com/apache/incubator-beam-site). The website uses the 
[Jekyll](http://jekyllrb.com) framework to make website development easier. The 
[README 
file](https://github.com/apache/incubator-beam-site/blob/asf-site/README.md) in 
the website repository has more information on how to:
+
+* Install Jekyll
+* Make changes to the website
+* Test your changes
+
+#### Editing the website
+You can checkout the website repository with the following commands. This will 
allow you to edit the website in a local environment provided you have 
installed [Jekyll](http://jekyllrb.com) and understand how to use it.
+
+<pre><code>git clone -b asf-site 
https://github.com/apache/incubator-beam-site.git
+cd incubator-beam-site
+git remote add <b>&lt;GitHub_user&gt;</b> 
[email protected]:<b>&lt;GitHub_user&gt;</b>/incubator-beam-site.git
+git fetch --all
+git checkout -b <b>&lt;my-branch&gt;</b> origin/asf-site</code></pre>
+
+#### Committing website changes
+
+Committers can commit website changes with the following commands. **Changes 
to the website must follow the same process outlined above** for changes to the 
Apache Beam code base.
+
+<pre><code>git remote add apache 
https://git-wip-us.apache.org/repos/asf/incubator-beam-site.git
+git remote rename origin github
+git config --local --add remote.github.fetch \
+&nbsp;&nbsp;&nbsp;&nbsp;'+refs/pull/*/head:refs/remotes/github/pr/*'</code></pre>

http://git-wip-us.apache.org/repos/asf/incubator-beam-site/blob/8de7377a/content/beam/capability/2016/03/17/capability-matrix.html
----------------------------------------------------------------------
diff --git a/content/beam/capability/2016/03/17/capability-matrix.html 
b/content/beam/capability/2016/03/17/capability-matrix.html
index 91d220f..be15c84 100644
--- a/content/beam/capability/2016/03/17/capability-matrix.html
+++ b/content/beam/capability/2016/03/17/capability-matrix.html
@@ -59,6 +59,7 @@
             <li><a href="/team/">Apache Beam Team</a></li>
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">Contribute</li>
+            <li><a href="/contribution-guide/">Contribution Guide</a></li>
             <li><a href="/source_repository/">Source Repository</a></li>
             <li><a href="/issue_tracking/">Issue Tracking</a></li>
           </ul>

http://git-wip-us.apache.org/repos/asf/incubator-beam-site/blob/8de7377a/content/beam/python/sdk/2016/02/25/beam-has-a-logo0.html
----------------------------------------------------------------------
diff --git a/content/beam/python/sdk/2016/02/25/beam-has-a-logo0.html 
b/content/beam/python/sdk/2016/02/25/beam-has-a-logo0.html
index aa23635..2f833d7 100644
--- a/content/beam/python/sdk/2016/02/25/beam-has-a-logo0.html
+++ b/content/beam/python/sdk/2016/02/25/beam-has-a-logo0.html
@@ -59,6 +59,7 @@
             <li><a href="/team/">Apache Beam Team</a></li>
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">Contribute</li>
+            <li><a href="/contribution-guide/">Contribution Guide</a></li>
             <li><a href="/source_repository/">Source Repository</a></li>
             <li><a href="/issue_tracking/">Issue Tracking</a></li>
           </ul>

http://git-wip-us.apache.org/repos/asf/incubator-beam-site/blob/8de7377a/content/beam/update/website/2016/02/22/beam-has-a-logo.html
----------------------------------------------------------------------
diff --git a/content/beam/update/website/2016/02/22/beam-has-a-logo.html 
b/content/beam/update/website/2016/02/22/beam-has-a-logo.html
index d2ce9bc..cf07959 100644
--- a/content/beam/update/website/2016/02/22/beam-has-a-logo.html
+++ b/content/beam/update/website/2016/02/22/beam-has-a-logo.html
@@ -59,6 +59,7 @@
             <li><a href="/team/">Apache Beam Team</a></li>
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">Contribute</li>
+            <li><a href="/contribution-guide/">Contribution Guide</a></li>
             <li><a href="/source_repository/">Source Repository</a></li>
             <li><a href="/issue_tracking/">Issue Tracking</a></li>
           </ul>

http://git-wip-us.apache.org/repos/asf/incubator-beam-site/blob/8de7377a/content/blog/index.html
----------------------------------------------------------------------
diff --git a/content/blog/index.html b/content/blog/index.html
index 6d27438..7481714 100644
--- a/content/blog/index.html
+++ b/content/blog/index.html
@@ -60,6 +60,7 @@
             <li><a href="/team/">Apache Beam Team</a></li>
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">Contribute</li>
+            <li><a href="/contribution-guide/">Contribution Guide</a></li>
             <li><a href="/source_repository/">Source Repository</a></li>
             <li><a href="/issue_tracking/">Issue Tracking</a></li>
           </ul>

http://git-wip-us.apache.org/repos/asf/incubator-beam-site/blob/8de7377a/content/capability-matrix/index.html
----------------------------------------------------------------------
diff --git a/content/capability-matrix/index.html 
b/content/capability-matrix/index.html
index 7047b1f..e8e1960 100644
--- a/content/capability-matrix/index.html
+++ b/content/capability-matrix/index.html
@@ -60,6 +60,7 @@
             <li><a href="/team/">Apache Beam Team</a></li>
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">Contribute</li>
+            <li><a href="/contribution-guide/">Contribution Guide</a></li>
             <li><a href="/source_repository/">Source Repository</a></li>
             <li><a href="/issue_tracking/">Issue Tracking</a></li>
           </ul>

http://git-wip-us.apache.org/repos/asf/incubator-beam-site/blob/8de7377a/content/contribution-guide/index.html
----------------------------------------------------------------------
diff --git a/content/contribution-guide/index.html 
b/content/contribution-guide/index.html
new file mode 100644
index 0000000..aba93d8
--- /dev/null
+++ b/content/contribution-guide/index.html
@@ -0,0 +1,430 @@
+<!DOCTYPE html>
+<html lang="en">
+
+  <head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+
+  <title>Apache Beam Contribution Guide</title>
+  <meta name="description" content="Apache Beam is an open source, unified 
model and set of language-specific SDKs for defining and executing data 
processing workflows, and also data ingestion and integration flows, supporting 
Enterprise Integration Patterns (EIPs) and Domain Specific Languages (DSLs). 
Dataflow pipelines simplify the mechanics of large-scale batch and streaming 
data processing and can run on a number of runtimes like Apache Flink, Apache 
Spark, and Google Cloud Dataflow (a cloud service). Beam also brings DSL in 
different languages, allowing users to easily implement their data integration 
processes.
+">
+
+  <link rel="stylesheet" href="/styles/site.css">
+  <link rel="stylesheet" href="/css/theme.css">
+  <script 
src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js";></script>
+  <script src="/js/bootstrap.min.js"></script>
+  <link rel="canonical" 
href="http://beam.incubator.apache.org/contribution-guide/";>
+  <link rel="alternate" type="application/rss+xml" title="Apache Beam 
(incubating)" href="http://beam.incubator.apache.org/feed.xml";>
+  <script>
+    
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new 
Date();a=s.createElement(o),
+    
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+    
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+    ga('create', 'UA-73650088-1', 'auto');
+    ga('send', 'pageview');
+
+  </script>
+  <link rel="shortcut icon" type="image/x-icon" href="/images/favicon.ico">
+</head>
+
+
+  <body role="document">
+
+    <nav class="navbar navbar-default navbar-fixed-top">
+  <div class="container">
+    <div class="navbar-header">
+      <a href="/" class="navbar-brand" >
+        <img alt="Brand" src="/images/beam_logo_navbar.png">
+      </a>
+    </div>
+    <div id="navbar" class="navbar-collapse collapse">
+      <ul class="nav navbar-nav">
+        <li class="dropdown">
+          <a href="#" class="dropdown-toggle" data-toggle="dropdown" 
role="button" aria-haspopup="true" aria-expanded="false">Documentation <span 
class="caret"></span></a>
+          <ul class="dropdown-menu">
+            <li><a href="/getting_started/">Getting Started</a></li>
+           <li><a href="/capability-matrix/">Capability Matrix</a></li>
+            <li><a href="https://goo.gl/ps8twC";>Technical Docs</a></li>
+            <li><a href="https://goo.gl/nk5OM0";>Technical Vision</a></li>
+          </ul>
+        </li>
+        <li class="dropdown">
+          <a href="#" class="dropdown-toggle" data-toggle="dropdown" 
role="button" aria-haspopup="true" aria-expanded="false">Community <span 
class="caret"></span></a>
+          <ul class="dropdown-menu">
+            <li class="dropdown-header">Community</li>
+            <li><a href="/mailing_lists/">Mailing Lists</a></li>
+            <li><a href="https://goo.gl/ps8twC";>Technical Docs</a></li>
+            <li><a href="https://goo.gl/nk5OM0";>Technical Vision</a></li>
+            <li><a href="/team/">Apache Beam Team</a></li>
+            <li role="separator" class="divider"></li>
+            <li class="dropdown-header">Contribute</li>
+            <li><a href="/contribution-guide/">Contribution Guide</a></li>
+            <li><a href="/source_repository/">Source Repository</a></li>
+            <li><a href="/issue_tracking/">Issue Tracking</a></li>
+          </ul>
+        </li>
+        <li><a href="/blog">Blog</a></li>
+      </ul>
+    </div><!--/.nav-collapse -->
+  </div>
+</nav>
+
+
+<link rel="stylesheet" href="">
+
+
+    <div class="container" role="main">
+
+      <div class="container">
+        <h1 id="how-to-contribute">How to Contribute</h1>
+
+<ul id="markdown-toc">
+  <li><a href="#how-to-contribute" id="markdown-toc-how-to-contribute">How to 
Contribute</a>    <ul>
+      <li><a href="#engage" id="markdown-toc-engage">Engage</a>        <ul>
+          <li><a href="#mailing-lists" id="markdown-toc-mailing-lists">Mailing 
list(s)</a></li>
+          <li><a href="#apache-jira" id="markdown-toc-apache-jira">Apache 
JIRA</a></li>
+        </ul>
+      </li>
+      <li><a href="#design" id="markdown-toc-design">Design</a></li>
+      <li><a href="#code" id="markdown-toc-code">Code</a>        <ul>
+          <li><a href="#one-time-setup" 
id="markdown-toc-one-time-setup">One-time Setup</a>            <ul>
+              <li><a href="#potentially-submit-contributor-license-agreement" 
id="markdown-toc-potentially-submit-contributor-license-agreement">[Potentially]
 Submit Contributor License Agreement</a></li>
+              <li><a href="#obtain-a-github-account" 
id="markdown-toc-obtain-a-github-account">Obtain a GitHub account</a></li>
+              <li><a href="#fork-the-repository-on-github" 
id="markdown-toc-fork-the-repository-on-github">Fork the repository on 
GitHub</a></li>
+              <li><a href="#clone-the-repository-locally" 
id="markdown-toc-clone-the-repository-locally">Clone the repository 
locally</a></li>
+            </ul>
+          </li>
+          <li><a href="#create-a-branch-in-your-fork" 
id="markdown-toc-create-a-branch-in-your-fork">Create a branch in your 
fork</a></li>
+          <li><a href="#syncing-and-pushing-your-branch" 
id="markdown-toc-syncing-and-pushing-your-branch">Syncing and pushing your 
branch</a></li>
+          <li><a href="#testing" id="markdown-toc-testing">Testing</a></li>
+        </ul>
+      </li>
+      <li><a href="#review" id="markdown-toc-review">Review</a>        <ul>
+          <li><a href="#create-a-pull-request" 
id="markdown-toc-create-a-pull-request">Create a pull request</a></li>
+          <li><a href="#code-review-and-revision" 
id="markdown-toc-code-review-and-revision">Code Review and Revision</a></li>
+          <li><a href="#lgtm" id="markdown-toc-lgtm">LGTM</a></li>
+          <li><a href="#deleting-your-branch" 
id="markdown-toc-deleting-your-branch">Deleting your branch</a></li>
+        </ul>
+      </li>
+      <li><a href="#commit-committers-only" 
id="markdown-toc-commit-committers-only">Commit (committers only)</a>        
<ul>
+          <li><a href="#one-time-setup-1" 
id="markdown-toc-one-time-setup-1">One-time Setup</a></li>
+          <li><a href="#contributor-license-agreement" 
id="markdown-toc-contributor-license-agreement">Contributor License 
Agreement</a></li>
+          <li><a href="#tests" id="markdown-toc-tests">Tests</a></li>
+          <li><a href="#finishing-touches" 
id="markdown-toc-finishing-touches">Finishing touches</a></li>
+          <li><a href="#merge-process" id="markdown-toc-merge-process">Merge 
process</a></li>
+        </ul>
+      </li>
+      <li><a href="#additional-projects" 
id="markdown-toc-additional-projects">Additional Projects</a>        <ul>
+          <li><a href="#website" id="markdown-toc-website">Website</a>         
   <ul>
+              <li><a href="#editing-the-website" 
id="markdown-toc-editing-the-website">Editing the website</a></li>
+              <li><a href="#committing-website-changes" 
id="markdown-toc-committing-website-changes">Committing website changes</a></li>
+            </ul>
+          </li>
+        </ul>
+      </li>
+    </ul>
+  </li>
+</ul>
+
+<p>The Apache Beam community welcomes contributions from anyone with a passion 
for data processing! Beam has many different opportunities for contributions 
– write new examples, add new user-facing libraries (new statistical 
libraries, new IO connectors, etc), work on the core programming model, build 
specific runners (Apache Flink, Apache Spark, Google Cloud Dataflow, etc), or 
participate on the documentation effort.</p>
+
+<p>We use a review-then-commit workflow in Beam for all contributions.</p>
+
+<p><img src="/images/contribution-guide-1.png" alt="Alt text" title="Workflow 
image" /></p>
+
+<p><strong>For larger contributions or those that affect multiple 
components:</strong></p>
+
+<ol>
+  <li><strong>Engage</strong>: We encourage you to work with the Beam 
community on the <a href="https://issues.apache.org/jira/browse/BEAM";>Apache 
JIRA issue tracker</a> and <a 
href="http://beam.incubator.apache.org/mailing_lists/";>developer’s mailing 
list</a> to identify good areas for contribution.</li>
+  <li><strong>Design:</strong> More complicated contributions will likely 
benefit from some early discussion in order to scope and design them well.</li>
+</ol>
+
+<p><strong>For all contributions:</strong></p>
+
+<ol>
+  <li><strong>Code:</strong> The best part ;-)</li>
+  <li><strong>Review:</strong> Submit a pull request with your contribution to 
our <a href="https://github.com/apache/incubator-beam/";>GitHub mirror</a>. Work 
with a committer to review and iterate on the code, if needed.</li>
+  <li><strong>Commit:</strong> A Beam committer merges the pull request into 
our <a href="https://git-wip-us.apache.org/repos/asf/incubator-beam.git";>Apache 
repository</a>.</li>
+</ol>
+
+<p>We look forward to working with you!</p>
+
+<h2 id="engage">Engage</h2>
+
+<h3 id="mailing-lists">Mailing list(s)</h3>
+<p>We discuss design and implementation issues on 
[email protected] mailing list, which is archived <a 
href="http://mail-archives.apache.org/mod_mbox/incubator-beam-dev/";>here</a>. 
Join by emailing <a 
href="&#109;&#097;&#105;&#108;&#116;&#111;:&#100;&#101;&#118;&#045;&#115;&#117;&#098;&#115;&#099;&#114;&#105;&#098;&#101;&#064;&#098;&#101;&#097;&#109;&#046;&#105;&#110;&#099;&#117;&#098;&#097;&#116;&#111;&#114;&#046;&#097;&#112;&#097;&#099;&#104;&#101;&#046;&#111;&#114;&#103;"><code
 
class="highlighter-rouge">[email protected]</code></a>.</p>
+
+<p>If interested, you can also join <a 
href="http://mail-archives.apache.org/mod_mbox/incubator-beam-user/";><code 
class="highlighter-rouge">[email protected]</code></a> and <a 
href="http://mail-archives.apache.org/mod_mbox/incubator-beam-commits/";><code 
class="highlighter-rouge">[email protected]</code></a> too.</p>
+
+<h3 id="apache-jira">Apache JIRA</h3>
+<p>We use <a href="https://issues.apache.org/jira/browse/BEAM";>Apache JIRA</a> 
as an issue tracking and project management tool, as well as a way to 
communicate among a very diverse and distributed set of contributors. To be 
able to gather feedback, avoid frustration, and avoid duplicated efforts all 
Beam-related work should be tracked there.</p>
+
+<p>If you do not already have an Apache JIRA account, sign up <a 
href="https://issues.apache.org/jira/";>here</a>.</p>
+
+<p>If a quick <a 
href="https://issues.apache.org/jira/issues/?jql=project%3DBEAM%20AND%20text%20~%20%22the%20thing%20I%20want%20to%20contribute%22";>search</a>
 doesn’t turn up an existing JIRA issue for the work you want to contribute, 
create it. Please discuss your proposal with a committer or the <a 
href="https://issues.apache.org/jira/browse/BEAM/?selectedTab=com.atlassian.jira.jira-projects-plugin:components-panel";>component
 lead</a> in JIRA or, alternatively, on the developer mailing list.</p>
+
+<p>If there’s an existing JIRA issue for your intended contribution, please 
comment about your intended work. Once the work is understood, a committer will 
assign the issue to you. (If you don’t have a JIRA role yet, you’ll be 
added to the “contributor” role.) If an issue is currently assigned, please 
check with the current assignee before reassigning.</p>
+
+<p>For moderate or large contributions, you should not start coding or writing 
a design doc unless there is a corresponding JIRA issue assigned to you for 
that work. Simple changes, like fixing typos, do not require an associated 
issue.</p>
+
+<h2 id="design">Design</h2>
+<p>To avoid potential frustration during the code review cycle, we encourage 
you to clearly scope and design non-trivial contributions with the Beam 
community before you start coding.</p>
+
+<p>Generally, the JIRA issue is the best place to gather relevant design docs, 
comments, or references. It’s great to explicitly include relevant 
stakeholders early in the conversation. For designs that may be generally 
interesting, we also encourage conversations on the developer’s mailing 
list.</p>
+
+<p>We suggest using <a href="https://docs.google.com/";>Google Docs</a> for 
sharing designs that may benefit from diagrams or comments. Please remember to 
make the document world-commentable and add a link to it from the relevant JIRA 
issue. We also track Beam-related documents in <a 
href="https://drive.google.com/folderview?id=0B-IhJZh9Ab52OFBVZHpsNjc4eXc&amp;usp=sharing";>this
 shared folder</a>.</p>
+
+<h2 id="code">Code</h2>
+<p>To contribute code to Apache Beam, you’ll have to do a few administrative 
steps once, and then follow a few guidelines for each contribution.</p>
+
+<h3 id="one-time-setup">One-time Setup</h3>
+
+<h4 id="potentially-submit-contributor-license-agreement">[Potentially] Submit 
Contributor License Agreement</h4>
+<p>Apache Software Foundation (ASF) desires that all contributors of ideas, 
code, or documentation to the Apache projects complete, sign, and submit an <a 
href="https://www.apache.org/licenses/icla.txt";>Individual Contributor License 
Agreement</a> (ICLA). The purpose of this agreement is to clearly define the 
terms under which intellectual property has been contributed to the ASF and 
thereby allow us to defend the project should there be a legal dispute 
regarding the software at some future time.</p>
+
+<p>We require you to have an ICLA on file with the Apache Secretary for larger 
contributions only. For smaller ones, however, we rely on  <a 
href="http://www.apache.org/licenses/LICENSE-2.0#contributions";>clause five</a> 
of the Apache License, Version 2.0, describing licensing of intentionally 
submitted contributions and do not require an ICLA in that case.</p>
+
+<h4 id="obtain-a-github-account">Obtain a GitHub account</h4>
+<p>We use GitHub’s pull request functionality to review proposed code 
changes.</p>
+
+<p>If you do not already have a personal GitHub account, sign up <a 
href="https://github.com/join";>here</a>.</p>
+
+<h4 id="fork-the-repository-on-github">Fork the repository on GitHub</h4>
+<p>Go to the <a href="https://github.com/apache/incubator-beam/";>Beam GitHub 
mirror</a> and fork the repository to your own private account. This will be 
your private workspace for staging changes.</p>
+
+<p>We recommend enabling Travis-CI continuous integration coverage on your 
private fork in order to easily test your changes before proposing a pull 
request. Go to <a href="https://travis-ci.org";>Travis-CI</a>, log in with your 
GitHub account, and enable coverage for your repository.</p>
+
+<h4 id="clone-the-repository-locally">Clone the repository locally</h4>
+<p>You are now ready to create the development environment on your local 
machine. Feel free to repeat these steps on all machines that you want to use 
for development.</p>
+
+<p>We assume you are using SSH-based authentication with GitHub. If necessary, 
exchange SSH keys with GitHub by following <a 
href="https://help.github.com/articles/generating-an-ssh-key/";>their 
instructions</a>.</p>
+
+<p>Clone Beam’s read-only GitHub mirror.</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>$ git clone 
https://github.com/apache/incubator-beam.git
+$ cd incubator-beam
+</code></pre>
+</div>
+
+<p>Add your forked repository as an additional Git remote, where you’ll push 
your changes.</p>
+
+<pre><code>$ git remote add <b>&lt;GitHub_user&gt;</b> 
[email protected]:<b>&lt;GitHub_user&gt;</b>/incubator-beam.git</code></pre>
+
+<p>You are now ready to start developing!</p>
+
+<h3 id="create-a-branch-in-your-fork">Create a branch in your fork</h3>
+<p>You’ll work on your contribution in a branch in your own (forked) 
repository. Create a local branch, initialized with the state of the branch you 
expect your changes to be merged into. Keep in mind that we use several 
branches, including <code class="highlighter-rouge">master</code>, 
feature-specific, and release-specific branches. If you are unsure, initialize 
with the state of the <code class="highlighter-rouge">master</code> branch.</p>
+
+<pre><code>$ git fetch --all
+$ git checkout -b <b>&lt;my-branch&gt;</b> origin/master</code></pre>
+
+<p>At this point, you can start making and committing changes to this branch 
in a standard way.</p>
+
+<h3 id="syncing-and-pushing-your-branch">Syncing and pushing your branch</h3>
+<p>Periodically while you work, and certainly before submitting a pull 
request, you should update your branch with the most recent changes to the 
target branch.</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>$ git pull --rebase
+</code></pre>
+</div>
+
+<p>Remember to always use <code class="highlighter-rouge">--rebase</code> 
parameter to avoid extraneous merge commits.</p>
+
+<p>To push your local, committed changes to your (forked) repository on 
GitHub, run:</p>
+
+<pre><code>$ git push <b>&lt;GitHub_user&gt; &lt;my-branch&gt;</b></code></pre>
+
+<h3 id="testing">Testing</h3>
+<p>All code should have appropriate unit testing coverage. New code should 
have new tests in the same contribution. Bug fixes should include a regression 
test to prevent the issue from reoccurring.</p>
+
+<p>For contributions to the Java code, run unit tests locally via Maven. 
Alternatively, you can use Travis-CI.</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>$ mvn clean verify
+</code></pre>
+</div>
+
+<h2 id="review">Review</h2>
+<p>Once the initial code is complete and the tests pass, it’s time to start 
the code review process. We review and discuss all code, no matter who authors 
it. It’s a great way to build community, since you can learn from other 
developers, and they become familiar with your contribution. It also builds a 
strong project by encouraging a high quality bar and keeping code consistent 
throughout the project.</p>
+
+<h3 id="create-a-pull-request">Create a pull request</h3>
+<p>Organize your commits to make your reviewer’s job easier. Use the 
following command to re-order, squash, edit, or change description of 
individual commits.</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>$ git rebase -i 
origin/master
+</code></pre>
+</div>
+
+<p>Navigate to the <a href="https://github.com/apache/incubator-beam";>Beam 
GitHub mirror</a> to create a pull request. The title of the pull request 
should be strictly in the following format:</p>
+
+<pre><code>[BEAM-<b>&lt;JIRA-issue-#&gt;</b>] Title of the pull 
request</code></pre>
+
+<p>Please include a descriptive pull request message to help make the 
reviewer’s job easier. It’s fine to refer to existing design docs or the 
contents of the associated JIRA as appropriate.</p>
+
+<p>If you know a good committer to review your pull request, please make a 
comment like the following. If not, don’t worry – a committer will pick it 
up.</p>
+
+<pre><code>Hi @<b>&lt;GitHub-reviewer-username&gt;</b>, can you please take a 
look?</code></pre>
+
+<p>When choosing a reviewer, think about who is the expert on the relevant 
code, who the stakeholders are for this change, and who else would benefit from 
becoming familiar with the code. If you’d appreciate comments from additional 
folks but already have a main reviewer, you can explicitly cc them using 
<code>@<b>&lt;GitHub-reviewer-username&gt;</b></code>.</p>
+
+<h3 id="code-review-and-revision">Code Review and Revision</h3>
+<p>During the code review process, don’t rebase your branch or otherwise 
modify published commits, since this can remove existing comment history and be 
confusing to the reviewer. When you make a revision, always push it in a new 
commit.</p>
+
+<p>Our GitHub mirror automatically provides pre-commit testing coverage using 
Jenkins and Travis-CI. Please make sure those tests pass; the contribution 
cannot be merged otherwise.</p>
+
+<h3 id="lgtm">LGTM</h3>
+<p>Once the reviewer is happy with the change, they’ll respond with an LGTM 
(“<em>looks good to me!</em>”). At this point, the committer will take 
over, possibly make some additional touch ups, and merge your changes into the 
codebase.</p>
+
+<p>In the case both the author and the reviewer are committers, either can 
merge the pull request. Just be sure to communicate clearly whose 
responsibility it is in this particular case.</p>
+
+<p>Thank you for your contribution to Beam!</p>
+
+<h3 id="deleting-your-branch">Deleting your branch</h3>
+<p>Once the pull request is merged into the Beam repository, you can safely 
delete the branch locally and purge it from your forked repository.</p>
+
+<p>From another local branch, run:</p>
+
+<pre><code>$ git fetch --all
+$ git branch -d <b>&lt;my-branch&gt;</b>
+$ git push <b>&lt;GitHub_user&gt;</b> --delete 
<b>&lt;my-branch&gt;</b></code></pre>
+
+<h2 id="commit-committers-only">Commit (committers only)</h2>
+<p>Once the code has been peer reviewed by a committer, the next step is for 
the committer to merge it into the <a 
href="https://git-wip-us.apache.org/repos/asf/incubator-beam.git";>authoritative 
Apache repository</a>, not the read-only GitHub mirror. (In the case that the 
author is also a committer, it is acceptable for either the author or reviewer 
to do the merge. Just be explicit about whose job it is!)</p>
+
+<p>Pull requests should not be merged before the review has received an 
explicit LGTM from another committer. Exceptions to this rule may be made 
rarely, on a case-by-case basis only, in the committer’s discretion for 
situations such as build breakages.</p>
+
+<p>Committers should never commit anything without going through a pull 
request, since that would bypass test coverage and potentially cause the build 
to fail due to checkstyle, etc. In addition, pull requests ensure that changes 
are communicated properly and potential flaws or improvements can be spotted. 
<strong>Always go through the pull request, even if you won’t wait for the 
code review.</strong> Even then, comments can be provided in the pull requests 
after it has been merged to work on follow-ups.</p>
+
+<p>Committing is currently a manual process, but we are investigating tools to 
automate pieces of this process.</p>
+
+<h3 id="one-time-setup-1">One-time Setup</h3>
+<p>Add the Apache Git remote in your local clone, by running:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>$ git remote add 
apache https://git-wip-us.apache.org/repos/asf/incubator-beam.git
+</code></pre>
+</div>
+
+<p>We recommend renaming the <code class="highlighter-rouge">origin</code> 
remote to <code class="highlighter-rouge">github</code>, to avoid confusion 
when dealing with this many remotes.</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>$ git remote 
rename origin github
+</code></pre>
+</div>
+
+<p>For the <code class="highlighter-rouge">github</code> remote, add an 
additional fetch reference, which will cause every pull request to be made 
available as a remote branch in your workspace.</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>$ git config 
--local --add remote.github.fetch \
+    '+refs/pull/*/head:refs/remotes/github/pr/*'
+</code></pre>
+</div>
+
+<p>You can confirm your configuration by running the following command.</p>
+
+<pre><code>$ git remote -v
+apache https://git-wip-us.apache.org/repos/asf/incubator-beam.git (fetch)
+apache https://git-wip-us.apache.org/repos/asf/incubator-beam.git (push)
+github https://github.com/apache/incubator-beam.git (fetch)
+github https://github.com/apache/incubator-beam.git (push)
+<b>&lt;username&gt;</b>        
[email protected]:<b>&lt;username&gt;</b>/beam.git (fetch)
+<b>&lt;username&gt;</b>        
[email protected]:<b>&lt;username&gt;</b>/beam.git (push)</code></pre>
+
+<h3 id="contributor-license-agreement">Contributor License Agreement</h3>
+<p>If you are merging a larger contribution, please make sure that the 
contributor has an ICLA on file with the Apache Secretary. You can view the 
list of committers <a 
href="http://home.apache.org/phonebook.html?unix=committers";>here</a>, as well 
as <a href="http://home.apache.org/unlistedclas.html";>ICLA-signers who aren’t 
yet committers</a>.</p>
+
+<p>For smaller contributions, however, this is not required. In this case, we 
rely on <a 
href="http://www.apache.org/licenses/LICENSE-2.0#contributions";>clause five</a> 
of the Apache License, Version 2.0, describing licensing of intentionally 
submitted contributions.</p>
+
+<h3 id="tests">Tests</h3>
+<p>Before merging, please make sure both Travis-CI and Jenkins tests pass, as 
visible in the GitHub pull request. Do not merge the pull request otherwise.</p>
+
+<h3 id="finishing-touches">Finishing touches</h3>
+<p>At some point in the review process, you should take the pull request over 
and complete any outstanding work that is either minor, stylistic, or otherwise 
outside the expertise of the contributor.</p>
+
+<p>Fetch references from all remote repositories, and checkout the specific 
pull request branch.</p>
+
+<pre>
+$ git fetch --all
+$ git checkout -b finish-pr-<b>&lt;pull-request-#&gt;</b> 
github/pr/<b>&lt;pull-request-#&gt;</b></pre>
+
+<p>At this point, you can commit any final touches to the pull request. For 
example, you should:</p>
+
+<ul>
+  <li>Rebase on current state of the target branch.</li>
+  <li>Fix typos.</li>
+  <li>Reorganize commits that are part of the pull request, such as squash 
them into fewer commits that make sense for a historical perspective.</li>
+</ul>
+
+<p>You will often need the following command, assuming you’ll be merging 
changes into the <code class="highlighter-rouge">master</code> branch:</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>$ git rebase -i 
apache/master
+</code></pre>
+</div>
+
+<p>Please make sure to retain authorship of original commits to give proper 
credit to the contributor. You are welcome to change their commits slightly 
(e.g., fix a typo) and squash them, but more substantive changes should be a 
separate commit and review.</p>
+
+<h3 id="merge-process">Merge process</h3>
+<p>Once you are ready to merge, fetch all remotes, checkout the destination 
branch and merge the changes.</p>
+
+<pre><code>$ git fetch --all
+$ git checkout apache/master
+$ git merge --no-ff \
+&nbsp;&nbsp;&nbsp;&nbsp;-m $'[BEAM-<b>&lt;JIRA-issue-#&gt;</b>] 
<b>&lt;Title&gt;</b>\n\nThis closes #<b>&lt;pull-request-#&gt;</b>' \
+&nbsp;&nbsp;&nbsp;&nbsp;finish-pr-<b>&lt;pull-request-#&gt;</b></code></pre>
+
+<p>Always use <code class="highlighter-rouge">--no-ff</code> option and the 
specific commit message “This closes #<b>&lt;pull request #&gt;</b>”” – 
it ensures proper marking in the tooling. It would be nice to include 
additional information in the merge commit message, such as the title and 
summary of the pull request.</p>
+
+<p>At this point, you want to ensure everything is right. Test it with <code 
class="highlighter-rouge">mvn verify</code>. Run <code 
class="highlighter-rouge">gitk</code> or <code class="highlighter-rouge">git 
log --graph,</code> etc. When you are happy with how it looks, push it. This is 
the point of no return – proceed with caution.</p>
+
+<div class="highlighter-rouge"><pre class="highlight"><code>$ git push apache 
HEAD:master
+</code></pre>
+</div>
+
+<p>Done. You can delete the local 
<code>finish-pr-<b>&lt;pull-request-#&gt;</b></code> branch if you like.</p>
+
+<h2 id="additional-projects">Additional Projects</h2>
+
+<h3 id="website">Website</h3>
+<p>We use the same general review-then-commit process for changes to the Beam 
website, which uses <a 
href="https://github.com/apache/incubator-beam-site";>this GitHub Mirror</a>. 
The website uses the <a href="http://jekyllrb.com";>Jekyll</a> framework to make 
website development easier. The <a 
href="https://github.com/apache/incubator-beam-site/blob/asf-site/README.md";>README
 file</a> in the website repository has more information on how to:</p>
+
+<ul>
+  <li>Install Jekyll</li>
+  <li>Make changes to the website</li>
+  <li>Test your changes</li>
+</ul>
+
+<h4 id="editing-the-website">Editing the website</h4>
+<p>You can checkout the website repository with the following commands. This 
will allow you to edit the website in a local environment provided you have 
installed <a href="http://jekyllrb.com";>Jekyll</a> and understand how to use 
it.</p>
+
+<pre><code>git clone -b asf-site 
https://github.com/apache/incubator-beam-site.git
+cd incubator-beam-site
+git remote add <b>&lt;GitHub_user&gt;</b> 
[email protected]:<b>&lt;GitHub_user&gt;</b>/incubator-beam-site.git
+git fetch --all
+git checkout -b <b>&lt;my-branch&gt;</b> origin/asf-site</code></pre>
+
+<h4 id="committing-website-changes">Committing website changes</h4>
+
+<p>Committers can commit website changes with the following commands. 
<strong>Changes to the website must follow the same process outlined 
above</strong> for changes to the Apache Beam code base.</p>
+
+<pre><code>git remote add apache 
https://git-wip-us.apache.org/repos/asf/incubator-beam-site.git
+git remote rename origin github
+git config --local --add remote.github.fetch \
+&nbsp;&nbsp;&nbsp;&nbsp;'+refs/pull/*/head:refs/remotes/github/pr/*'</code></pre>
+
+      </div>
+
+
+    <hr>
+  <div class="row">
+      <div class="col-xs-12">
+          <footer>
+              <p class="text-center">&copy; Copyright 2016
+                <a href="http://www.apache.org";>The Apache Software 
Foundation.</a> All Rights Reserved.</p>
+                <p class="text-center"><a href="/privacy_policy">Privacy 
Policy</a> |
+                <a href="/feed.xml">RSS Feed</a></p>
+          </footer>
+      </div>
+  </div>
+  <!-- container div end -->
+</div>
+
+
+  </body>
+
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-beam-site/blob/8de7377a/content/feed.xml
----------------------------------------------------------------------
diff --git a/content/feed.xml b/content/feed.xml
index 5052f13..d94900c 100644
--- a/content/feed.xml
+++ b/content/feed.xml
@@ -6,8 +6,8 @@
 </description>
     <link>http://beam.incubator.apache.org/</link>
     <atom:link href="http://beam.incubator.apache.org/feed.xml"; rel="self" 
type="application/rss+xml"/>
-    <pubDate>Wed, 23 Mar 2016 00:00:49 -0700</pubDate>
-    <lastBuildDate>Wed, 23 Mar 2016 00:00:49 -0700</lastBuildDate>
+    <pubDate>Wed, 30 Mar 2016 09:25:15 -0700</pubDate>
+    <lastBuildDate>Wed, 30 Mar 2016 09:25:15 -0700</lastBuildDate>
     <generator>Jekyll v3.1.2</generator>
     
       <item>

http://git-wip-us.apache.org/repos/asf/incubator-beam-site/blob/8de7377a/content/getting_started/index.html
----------------------------------------------------------------------
diff --git a/content/getting_started/index.html 
b/content/getting_started/index.html
index 6ee33ee..0fa03ea 100644
--- a/content/getting_started/index.html
+++ b/content/getting_started/index.html
@@ -60,6 +60,7 @@
             <li><a href="/team/">Apache Beam Team</a></li>
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">Contribute</li>
+            <li><a href="/contribution-guide/">Contribution Guide</a></li>
             <li><a href="/source_repository/">Source Repository</a></li>
             <li><a href="/issue_tracking/">Issue Tracking</a></li>
           </ul>

http://git-wip-us.apache.org/repos/asf/incubator-beam-site/blob/8de7377a/content/images/contribution-guide-1.png
----------------------------------------------------------------------
diff --git a/content/images/contribution-guide-1.png 
b/content/images/contribution-guide-1.png
new file mode 100644
index 0000000..d390a79
Binary files /dev/null and b/content/images/contribution-guide-1.png differ

http://git-wip-us.apache.org/repos/asf/incubator-beam-site/blob/8de7377a/content/index.html
----------------------------------------------------------------------
diff --git a/content/index.html b/content/index.html
index 09dda44..d99377d 100644
--- a/content/index.html
+++ b/content/index.html
@@ -60,6 +60,7 @@
             <li><a href="/team/">Apache Beam Team</a></li>
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">Contribute</li>
+            <li><a href="/contribution-guide/">Contribution Guide</a></li>
             <li><a href="/source_repository/">Source Repository</a></li>
             <li><a href="/issue_tracking/">Issue Tracking</a></li>
           </ul>

http://git-wip-us.apache.org/repos/asf/incubator-beam-site/blob/8de7377a/content/issue_tracking/index.html
----------------------------------------------------------------------
diff --git a/content/issue_tracking/index.html 
b/content/issue_tracking/index.html
index 9c0cc03..c962ef2 100644
--- a/content/issue_tracking/index.html
+++ b/content/issue_tracking/index.html
@@ -60,6 +60,7 @@
             <li><a href="/team/">Apache Beam Team</a></li>
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">Contribute</li>
+            <li><a href="/contribution-guide/">Contribution Guide</a></li>
             <li><a href="/source_repository/">Source Repository</a></li>
             <li><a href="/issue_tracking/">Issue Tracking</a></li>
           </ul>

http://git-wip-us.apache.org/repos/asf/incubator-beam-site/blob/8de7377a/content/mailing_lists/index.html
----------------------------------------------------------------------
diff --git a/content/mailing_lists/index.html b/content/mailing_lists/index.html
index d823e69..81f3005 100644
--- a/content/mailing_lists/index.html
+++ b/content/mailing_lists/index.html
@@ -60,6 +60,7 @@
             <li><a href="/team/">Apache Beam Team</a></li>
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">Contribute</li>
+            <li><a href="/contribution-guide/">Contribution Guide</a></li>
             <li><a href="/source_repository/">Source Repository</a></li>
             <li><a href="/issue_tracking/">Issue Tracking</a></li>
           </ul>

http://git-wip-us.apache.org/repos/asf/incubator-beam-site/blob/8de7377a/content/privacy_policy/index.html
----------------------------------------------------------------------
diff --git a/content/privacy_policy/index.html 
b/content/privacy_policy/index.html
index 614f18a..0aded21 100644
--- a/content/privacy_policy/index.html
+++ b/content/privacy_policy/index.html
@@ -60,6 +60,7 @@
             <li><a href="/team/">Apache Beam Team</a></li>
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">Contribute</li>
+            <li><a href="/contribution-guide/">Contribution Guide</a></li>
             <li><a href="/source_repository/">Source Repository</a></li>
             <li><a href="/issue_tracking/">Issue Tracking</a></li>
           </ul>

http://git-wip-us.apache.org/repos/asf/incubator-beam-site/blob/8de7377a/content/source_repository/index.html
----------------------------------------------------------------------
diff --git a/content/source_repository/index.html 
b/content/source_repository/index.html
index 35f9242..0300597 100644
--- a/content/source_repository/index.html
+++ b/content/source_repository/index.html
@@ -60,6 +60,7 @@
             <li><a href="/team/">Apache Beam Team</a></li>
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">Contribute</li>
+            <li><a href="/contribution-guide/">Contribution Guide</a></li>
             <li><a href="/source_repository/">Source Repository</a></li>
             <li><a href="/issue_tracking/">Issue Tracking</a></li>
           </ul>

http://git-wip-us.apache.org/repos/asf/incubator-beam-site/blob/8de7377a/content/team/index.html
----------------------------------------------------------------------
diff --git a/content/team/index.html b/content/team/index.html
index 590dc68..d1fadf6 100644
--- a/content/team/index.html
+++ b/content/team/index.html
@@ -60,6 +60,7 @@
             <li><a href="/team/">Apache Beam Team</a></li>
             <li role="separator" class="divider"></li>
             <li class="dropdown-header">Contribute</li>
+            <li><a href="/contribution-guide/">Contribution Guide</a></li>
             <li><a href="/source_repository/">Source Repository</a></li>
             <li><a href="/issue_tracking/">Issue Tracking</a></li>
           </ul>
@@ -123,7 +124,7 @@
       
         <tr>
           <th scope="row">Ben Chambers</th>
-          <td scope="row"></td>
+          <td scope="row">bchambers</td>
           <td scope="row">bchambers [at] google [dot] com</td>
           <td scope="row">Google</td>
           <td scope="row">committer, PPMC</td>
@@ -141,7 +142,7 @@
       
         <tr>
           <th scope="row">Dan Halperin</th>
-          <td scope="row"></td>
+          <td scope="row">dhalperi</td>
           <td scope="row">dhalperi [at] google [dot] com</td>
           <td scope="row">Google</td>
           <td scope="row">committer, PPMC</td>
@@ -195,7 +196,7 @@
       
         <tr>
           <th scope="row">Kostas Tzoumas</th>
-          <td scope="row"></td>
+          <td scope="row">ktzoumas</td>
           <td scope="row">kostas [at] data-artisans [dot] com</td>
           <td scope="row">data Artisans</td>
           <td scope="row">committer, PPMC</td>
@@ -213,7 +214,7 @@
       
         <tr>
           <th scope="row">Luke Cwik</th>
-          <td scope="row"></td>
+          <td scope="row">lcwik</td>
           <td scope="row">lcwik [at] google [dot] com</td>
           <td scope="row">Google</td>
           <td scope="row">committer, PPMC</td>
@@ -231,7 +232,7 @@
       
         <tr>
           <th scope="row">Stephan Ewen</th>
-          <td scope="row"></td>
+          <td scope="row">sewen</td>
           <td scope="row">stephan [at] data-artisans [dot] com</td>
           <td scope="row">data Artisans</td>
           <td scope="row">committer, PPMC</td>
@@ -240,7 +241,7 @@
       
         <tr>
           <th scope="row">Tom White</th>
-          <td scope="row"></td>
+          <td scope="row">tomwhite</td>
           <td scope="row">tom [at] cloudera [dot] com</td>
           <td scope="row">Cloudera</td>
           <td scope="row">committer, PPMC</td>
@@ -249,7 +250,7 @@
       
         <tr>
           <th scope="row">Tyler Akidau</th>
-          <td scope="row"></td>
+          <td scope="row">takidau</td>
           <td scope="row">takidau [at] google [dot] com</td>
           <td scope="row">Google</td>
           <td scope="row">committer, PPMC</td>
@@ -258,7 +259,7 @@
       
         <tr>
           <th scope="row">Robert Bradshaw</th>
-          <td scope="row"></td>
+          <td scope="row">robertwb</td>
           <td scope="row">robertwb [at] google [dot] com</td>
           <td scope="row">Google</td>
           <td scope="row">committer, PPMC</td>

http://git-wip-us.apache.org/repos/asf/incubator-beam-site/blob/8de7377a/images/contribution-guide-1.png
----------------------------------------------------------------------
diff --git a/images/contribution-guide-1.png b/images/contribution-guide-1.png
new file mode 100644
index 0000000..d390a79
Binary files /dev/null and b/images/contribution-guide-1.png differ

Reply via email to