Upstream version 11.40.277.0
[platform/framework/web/crosswalk.git] / src / xwalk / CONTRIBUTING.md
1 # Contributing to Crosswalk
2
3 Thanks a lot for contributing to Crosswalk, you rock!
4
5 This page lists some guidelines for the contribution process to help you send
6 an awesome patch that gets reviewed and merged quickly.
7 [Crosswalk's website](https://crosswalk-project.org/contribute/) also has a
8 whole section dedicated to this, be sure to check it out.
9
10 ## License
11
12 Crosswalk is licensed under the
13 [3-clause BSD license](http://opensource.org/licenses/BSD-3-Clause). When you
14 submit a patch, you agree to license your contribution to Intel under this
15 license.
16
17 ## Submitting pull requests
18
19 * If it applies, add the platform your change affects in both the commit
20   message and the pull request title. For example, _"[Android] Update target
21   SDK to android-21"_ or _"[Tizen] Add unit test for metadata element
22   handler"_.
23
24 * If you know them, be sure to mention the people you would like to review your
25   patch in a comment. You can check the `OWNERS` files in the tree to know the
26   best people to look at your changes.
27
28 * Do not use your `master` branch in your pull request. This means you will not
29   be able to send multiple pull requests at the same time without changing all
30   of them at once, and they will also be changed when you update your branch to
31   track Crosswalk's latest changes. Instead, use a separate branch for each
32   pull request.
33
34 * If someone asks you to make a change to your pull request, **DO NOT** close
35   it and open a new one. Instead, make the changes to your branch, amending and
36   rebasing when necessary, and then use `git push -f` to push the changes to
37   the same branch you have used in your existing pull request.
38
39 ## Commit messages
40
41 * Use the present tense ("Add feature" not "Added feature").
42
43 * Use the imperative mood ("Move cursor to..." not "Moves cursor to...").
44
45 * Limit the first line to 72 characters or less.
46
47 * If your pull request fixes an open issue in
48   [our bug tracker](https://crosswalk-project.org/jira), please reference it in
49   your commit message as well as your pull request message, like this:
50   ```
51   Fix something.
52
53   Yadda, yadda, yadda.
54
55   BUG=XWALK-123456
56   ```
57   This way, the issue will be updated when the pull request is sent and, once
58   it is merged, the issue will be closed automatically.
59   If you simply want the issue to be updated but do **not** want it to be
60   closed, use a different construct in your message, like _"Related to:
61   XWALK-123"_.
62
63 ## Coding style
64
65 * C++: We follow
66   [Chromium's coding style](http://dev.chromium.org/developers/coding-style),
67   which basically mean's
68   [Google's](https://google-styleguide.googlecode.com/svn/trunk/cppguide.html).
69   Please take some time to get familiar with it, particularly with the amount
70   of space used for indentation and the position of asterisks and braces. If in
71   doubt, check the rest of the code around what you are changing.
72
73 * Java: We also follow
74   [Chromium's guidelines](http://www.chromium.org/developers/coding-style/java),
75   which are very similar to
76   [Android's style guide](http://source.android.com/source/code-style.html), so
77   there should not be any big surprises.
78
79 * Python: Just like
80   [Chromium's](http://dev.chromium.org/developers/coding-style), our Python
81   code mostly follows [PEP-8](https://www.python.org/dev/peps/pep-0008/), the
82   exceptions being the amount of space used for indentation (2 instead of 4)
83   and the use of `MixedCase` functions and methods instead of
84   `lower_case_ones`.