sijie commented on a change in pull request #2459: Added Contributing page on 
website
URL: https://github.com/apache/incubator-pulsar/pull/2459#discussion_r213187066
 
 

 ##########
 File path: site2/website/contributing.md
 ##########
 @@ -0,0 +1,250 @@
+
+The Apache Pulsar community welcomes contributions from anyone with a passion 
for distributed systems! Pulsar has many different opportunities for 
contributions --
+write new examples/tutorials, add new user-facing libraries, write new Pulsar 
IO connectors, or participate on the documentation effort.
+
+We use a review-then-commit workflow in Pulsar for all contributions.
+
+**For larger contributions or those that affect multiple components:**
+
+1. **Engage**: We encourage you to work with the Pulsar community on the
+   [Github Issues](https://github.com/apache/incubator-pulsar/issues) and
+   [developer’s mailing list](/contact) 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 Repo](https://github.com/apache/incubator-pulsar). Work with a 
committer to review and
+   iterate on the code, if needed.
+1. **Commit:** Once at least 2 Pulsar committers have approved the pull 
request, a Pulsar committer
+    will merge it into the master branch (and potentially backport to stable 
branches in case of
+    bug fixes).
+
+We look forward to working with you!
+
+## Engage
+
+### Mailing list(s)
+
+We discuss design and implementation issues on the 
[d...@pulsar.incubator.apache.org](mailto:d...@pulsar.incubator.apache.org)
+mailing list, which is archived 
[here](https://lists.apache.org/list.html?d...@pulsar.apache.org).
+Join by emailing 
[`dev-subscr...@pulsar.incubator.apache.org`](mailto:dev-subscr...@pulsar.incubator.apache.org).
+
+If interested, you can also join the other [mailing lists](/contact).
+
+### Github Issues
+
+We are using [Github 
Issues](https://github.com/apache/incubator-pulsar/issues) as the 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
+Pulsar related work are being tracked there.
+
+If you do not already have an Github account, sign up 
[here](https://github.com/join).
+
+If a quick [search](https://github.com/apache/incubator-pulsar/issues) doesn’t 
turn up an existing
+Github issue for the work you want to contribute, create it. Please discuss 
your idea with a
+committer in Github or, alternatively, on the developer mailing list.
+
+If there’s an existing Github 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 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 document unless
+there is a corresponding Github issue assigned to you for that work. Simple 
changes, like fixing typos,
+do not require an associated issue.
+
+### Online discussions
+
+We are using [Apache Pulsar Slack channel](https://apache-pulsar.slack.com/) 
for online discussions.
+You can self-invite yourself by accessing [this 
link](https://apache-pulsar.herokuapp.com/).
+
+Slack channels are great for quick questions or discussions on specialized 
topics. Remember that we
+strongly encourage communication via the mailing lists, and we prefer to 
discuss more complex subjects
+by email. Developers should be careful to move or duplicate all the official 
or useful discussions to
+the issue tracking system and/or the dev mailing list.
+
+## Design
+
+To avoid potential frustration during the code review cycle, we encourage you 
to clearly scope and
+design non-trivial contributions with the BookKeeper community before you 
start coding.
+
+We are using "Pulsar Improvement Proposals" (or "PIP") for managing major 
changes to Pulsar. The
+list of all PIPs is maintained in the Pulsar wiki at 
https://github.com/apache/incubator-pulsar/wiki.
+
+## Code
+
+To contribute code to Apache Pulsar, you’ll have to do a few administrative 
steps once, and then
+follow the [Coding Guide](../coding_guide).
+
+### One-time Setup
+
+#### [Optionally] 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.pdf) (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 [Pulsar GitHub Repo](https://github.com/apache/incubator-pulsar/) 
and fork the repository
+to your own private account. This will be your private workspace for staging 
changes.
+
+#### 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 your personal Pulsar’s GitHub fork.
+
+    $ git clone https://github.com/<Github_user>/incubator-pulsar.git
+    $ cd bookkeeper
 
 Review comment:
   cd incubator-pulsar

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to