Imported Upstream version 3.10.3
[platform/upstream/cmake.git] / CONTRIBUTING.rst
1 Contributing to CMake
2 *********************
3
4 The following summarizes the process for contributing changes.
5 See documentation on `CMake Development`_ for more information.
6
7 .. _`CMake Development`: Help/dev/README.rst
8
9 Community
10 =========
11
12 CMake is maintained and supported by `Kitware`_ and developed in
13 collaboration with a productive community of contributors.
14 Please subscribe and post to the `CMake Developers List`_ to raise
15 discussion of development topics.
16
17 .. _`Kitware`: http://www.kitware.com/cmake
18 .. _`CMake Developers List`: https://cmake.org/mailman/listinfo/cmake-developers
19
20 Patches
21 =======
22
23 CMake uses `Kitware's GitLab Instance`_ to manage development and code review.
24 To contribute patches:
25
26 #. Fork the upstream `CMake Repository`_ into a personal account.
27 #. Run `Utilities/SetupForDevelopment.sh`_ for local configuration.
28 #. See the `CMake Source Code Guide`_ for coding guidelines.
29 #. Base all new work on the upstream ``master`` branch.
30    Base work on the upstream ``release`` branch only if it fixes a
31    regression or bug in a feature new to that release.
32 #. Create commits making incremental, distinct, logically complete changes
33    with appropriate `commit messages`_.
34 #. Push a topic branch to a personal repository fork on GitLab.
35 #. Create a GitLab Merge Request targeting the upstream ``master`` branch
36    (even if the change is intended for merge to the ``release`` branch).
37
38 The merge request will enter the `CMake Review Process`_ for consideration.
39
40 .. _`Kitware's GitLab Instance`: https://gitlab.kitware.com
41 .. _`CMake Repository`: https://gitlab.kitware.com/cmake/cmake
42 .. _`Utilities/SetupForDevelopment.sh`: Utilities/SetupForDevelopment.sh
43 .. _`CMake Source Code Guide`: Help/dev/source.rst
44 .. _`commit messages`: Help/dev/review.rst#commit-messages
45 .. _`CMake Review Process`: Help/dev/review.rst
46
47 License
48 =======
49
50 We do not require any formal copyright assignment or contributor license
51 agreement.  Any contributions intentionally sent upstream are presumed
52 to be offered under terms of the OSI-approved BSD 3-clause License.
53 See `Copyright.txt`_ for details.
54
55 .. _`Copyright.txt`: Copyright.txt