Contributing to CMake
*********************

Community
=========

CMake is maintained by `Kitware, Inc.`_ and developed in
collaboration with a productive community of contributors.

.. _`Kitware, Inc.`: http://www.kitware.com

The preferred entry point for new contributors is the mailing list.
Please subscribe and post to the `CMake Developers List`_ to offer
contributions.  Regular and productive contributors may be invited
to gain direct push access.

.. _`CMake Developers List`: http://www.cmake.org/mailman/listinfo/cmake-developers

Patches
=======

Please base all new work on the ``master`` branch.  Then use
``git format-patch`` to produce patches suitable to post to
the mailing list.

License
=======

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

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