Merged the contribution information from the ithinksw.org philo wiki into the documen...
[philo.git] / docs / contributing.rst
1 Contributing to Philo
2 =====================
3
4 So you want to contribute to Philo? That's great! Here's some ways you can get started:
5
6 * **Report bugs and request features.** :mod:`philo` uses a Redmine installation located at `http://ithinksw.org/projects/philo/issues <http://ithinksw.org/projects/philo/issues>`_ for issue tracking. In order to report an issue, you will need to register for an account with the tracker.
7 * **Contribute code.** Philo uses git to manage its code. You can fork philo's repository either on `GitHub <http://github.com/ithinksw/philo>`_ or `Gitorious <http://gitorious.org/ithinksw/philo>`_. If you are contributing to Philo, you will need to submit a :ref:`Contributor License Agreement <cla>`.
8 * **Join the discussion** on IRC at `irc://irc.oftc.net/#philo <irc://irc.oftc.net/#philo>`_ if you have any questions or suggestions or just want to chat about the project. You can also keep in touch via :mod:`philo`'s mailing lists: `philo@ithinksw.org <mailto:philo@ithinksw.org>`_ and `philo-devel@ithinksw.org <mailto:philo-devel@ithinksw.org>`_.
9
10
11 Branches and Code Style
12 +++++++++++++++++++++++
13 We use `A successful Git branching model`__ with the blessed repository. To make things easier, you probably should too. This means that you should work on and against the develop branch in most cases, and leave it to the release manager to create the commits on the master branch if and when necessary. Regardless of what you do, the release manager will usually merge your changes into the develop branch unless you explicitly note they should be treated otherwise.
14
15 __ http://nvie.com/posts/a-successful-git-branching-model/
16
17 Philo adheres to PEP8 for its code style, with two exceptions: tabs are used rather than spaces, and lines are not truncated at 79 characters.
18
19 .. _cla:
20
21 Licensing and Legal
22 +++++++++++++++++++
23
24 In order for the release manager to merge your changes into the blessed repository, you will need to submit a signed CLA. Our CLAs are based on the Apache Software Foundation's CLAs, which is the same source as the `Django Project's CLAs`_. You might, therefore, find the `Django Project's CLA FAQ`_. helpful.
25
26 .. _`Django Project's CLAs`: https://www.djangoproject.com/foundation/cla/
27 .. _`Django Project's CLA FAQ`: https://www.djangoproject.com/foundation/cla/faq/
28
29 If you are an individual not doing work for an employer, then you can simply submit the :download:`Individual CLA <cla/ithinksw-icla.txt>`.
30
31 If you are doing work for an employer, they will need to submit the :download:`Corporate CLA <cla/ithinksw-ccla.txt>` and you will need to submit the Individual CLA :download:`Individual CLA <cla/ithinksw-icla.txt>` as well.
32
33 Both documents include information on how to submit them.