CONTRIBUTING.rst 2.26 KB
Newer Older
1 2 3
Contributing to CMake
*********************

4 5 6 7 8
The following summarizes the process for contributing changes.
See documentation on `CMake Development`_ for more information.

.. _`CMake Development`: Help/dev/README.rst

9 10 11
Community
=========

12
CMake is maintained and supported by `Kitware`_ and developed in
13
collaboration with a productive community of contributors.
14 15
Please subscribe and post to the `CMake Developers List`_ to raise
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 21 22

Patches
=======

23 24 25 26
CMake uses `Kitware's GitLab Instance`_ to manage development and code review.
To contribute patches:

#. 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 31
   Base work on the upstream ``release`` branch only if it fixes a
   regression or bug in a feature new to that release.
32 33
   If in doubt, prefer ``master``.  Reviewers may simply ask for
   a rebase if deemed appropriate in particular cases.
34 35
#. Create commits making incremental, distinct, logically complete changes
   with appropriate `commit messages`_.
36
#. Push a topic branch to a personal repository fork on GitLab.
37 38
#. Create a GitLab Merge Request targeting the upstream ``master`` branch
   (even if the change is intended for merge to the ``release`` branch).
39
   Check the box to allow edits from maintainers.
40

41 42
The merge request will enter the `CMake Review Process`_ for consideration.

43 44
.. _`Kitware's GitLab Instance`: https://gitlab.kitware.com
.. _`CMake Repository`: https://gitlab.kitware.com/cmake/cmake
45
.. _`Utilities/SetupForDevelopment.sh`: Utilities/SetupForDevelopment.sh
46
.. _`CMake Source Code Guide`: Help/dev/source.rst
47
.. _`commit messages`: Help/dev/review.rst#commit-messages
48
.. _`CMake Review Process`: Help/dev/review.rst
49 50 51 52 53 54

License
=======

We do not require any formal copyright assignment or contributor license
agreement.  Any contributions intentionally sent upstream are presumed
55
to be offered under terms of the OSI-approved BSD 3-clause License.
56 57 58
See `Copyright.txt`_ for details.

.. _`Copyright.txt`: Copyright.txt