CONTRIBUTING.md revision 14299:2fbea9df56d2
16145SN/AThank you for your interest in this project! Please refer to the following
212065Snikos.nikoleris@arm.comsections on how to contribute code and bug reports.
312065Snikos.nikoleris@arm.com
412065Snikos.nikoleris@arm.com### Reporting bugs
512065Snikos.nikoleris@arm.com
612065Snikos.nikoleris@arm.comAt the moment, this project is run in the spare time of a single person
712065Snikos.nikoleris@arm.com([Wenzel Jakob](http://rgl.epfl.ch/people/wjakob)) with very limited resources
812065Snikos.nikoleris@arm.comfor issue tracker tickets. Thus, before submitting a question or bug report,
912065Snikos.nikoleris@arm.complease take a moment of your time and ensure that your issue isn't already
1012065Snikos.nikoleris@arm.comdiscussed in the project documentation provided at
1112065Snikos.nikoleris@arm.com[http://pybind11.readthedocs.org/en/latest](http://pybind11.readthedocs.org/en/latest).
1212065Snikos.nikoleris@arm.com
1312065Snikos.nikoleris@arm.comAssuming that you have identified a previously unknown problem or an important
146145SN/Aquestion, it's essential that you submit a self-contained and minimal piece of
1511903Sleolson@google.comcode that reproduces the problem. In other words: no external dependencies,
166145SN/Aisolate the function(s) that cause breakage, submit matched and complete C++
176145SN/Aand Python snippets that can be easily compiled and run on my end.
186145SN/A
196145SN/A## Pull requests
206145SN/AContributions are submitted, reviewed, and accepted using Github pull requests.
216145SN/APlease refer to [this
226145SN/Aarticle](https://help.github.com/articles/using-pull-requests) for details and
236145SN/Aadhere to the following rules to make the process as smooth as possible:
246145SN/A
256145SN/A* Make a new branch for every feature you're working on.
266145SN/A* Make small and clean pull requests that are easy to review but make sure they
276145SN/A  do add value by themselves.
286145SN/A* Add tests for any new functionality and run the test suite (``make pytest``)
296145SN/A  to ensure that no existing features break.
306145SN/A* Please run ``flake8`` and ``tools/check-style.sh`` to check your code matches
316145SN/A  the project style. (Note that ``check-style.sh`` requires ``gawk``.)
326145SN/A* This project has a strong focus on providing general solutions using a
336145SN/A  minimal amount of code, thus small pull requests are greatly preferred.
346145SN/A
356145SN/A### Licensing of contributions
366145SN/A
376145SN/Apybind11 is provided under a BSD-style license that can be found in the
386145SN/A``LICENSE`` file. By using, distributing, or contributing to this project, you
396145SN/Aagree to the terms and conditions of this license.
4011903Sleolson@google.com
4111903Sleolson@google.comYou are under no obligation whatsoever to provide any bug fixes, patches, or
426145SN/Aupgrades to the features, functionality or performance of the source code
436145SN/A("Enhancements") to anyone; however, if you choose to make your Enhancements
4411793Sbrandon.potter@amd.comavailable either publicly, or directly to the author of this software, without
4511793Sbrandon.potter@amd.comimposing a separate written license agreement for such Enhancements, then you
4612065Snikos.nikoleris@arm.comhereby grant the following license: a non-exclusive, royalty-free perpetual
477056SN/Alicense to install, use, modify, prepare derivative works, incorporate into
488232SN/Aother computer software, distribute, and sublicense such enhancements or
499104SN/Aderivative works thereof, in binary and source code form.
507039SN/A