1*74e0540eSJed Brown# How to contribute 2*74e0540eSJed Brown 3*74e0540eSJed BrownContributions to libCEED are welcome. 4*74e0540eSJed Brown 5*74e0540eSJed BrownPlease use a pull request to the appropriate branch ('maint' for 6*74e0540eSJed Brownbackward-compatible bug fixes for the last stable release, 'master' for 7*74e0540eSJed Brownnew features and everything else). 8*74e0540eSJed Brown 9*74e0540eSJed BrownPlease make your commits well-organized and atomic, using `git rebase 10*74e0540eSJed Brown--interactive` as needed. Open an issue or RFC pull request to discuss 11*74e0540eSJed Brownany significant changes before investing time. Check that the tests 12*74e0540eSJed Brownpass using `make prove` or `make test`. If adding a new feature, please 13*74e0540eSJed Brownadd or extend a test so that it is tested. 14*74e0540eSJed Brown 15*74e0540eSJed BrownWrite commit messages for a reviewer of your pull request and for a 16*74e0540eSJed Brownfuture developer (maybe you) that bisects and finds that a bug was 17*74e0540eSJed Brownintroduced in your commit. The assumptions that are clear in your head 18*74e0540eSJed Brownright now are likely not. Give credit where credit is due using tags 19*74e0540eSJed Brownsuch as `Reported-by: Helpful User <helpful@example.com>`. Please use a 20*74e0540eSJed Brownreal name and email for your author information (`git config user.name` 21*74e0540eSJed Brownand `user.email`). 22*74e0540eSJed Brown 23*74e0540eSJed BrownPlease avoid "merging from upstream" (like merging 'master' into your 24*74e0540eSJed Brownfeature branch) unless there is a specific reason to do so, in which 25*74e0540eSJed Browncase you should explain why in the merge commit. 26*74e0540eSJed Brown[Rationale](https://lwn.net/Articles/328436/) from 27*74e0540eSJed Brown[Junio](https://gitster.livejournal.com/42247.html) and 28*74e0540eSJed Brown[Linus](http://yarchive.net/comp/linux/git_merges_from_upstream.html). 29*74e0540eSJed Brown 30*74e0540eSJed BrownBy submitting a pull request, you are affirming the following. 31*74e0540eSJed Brown 32*74e0540eSJed Brown## [Developer's Certificate of Origin 1.1](https://developercertificate.org/). 33*74e0540eSJed Brown 34*74e0540eSJed BrownBy making a contribution to this project, I certify that: 35*74e0540eSJed Brown 36*74e0540eSJed Brown(a) The contribution was created in whole or in part by me and I 37*74e0540eSJed Brown have the right to submit it under the open source license 38*74e0540eSJed Brown indicated in the file; or 39*74e0540eSJed Brown 40*74e0540eSJed Brown(b) The contribution is based upon previous work that, to the best 41*74e0540eSJed Brown of my knowledge, is covered under an appropriate open source 42*74e0540eSJed Brown license and I have the right under that license to submit that 43*74e0540eSJed Brown work with modifications, whether created in whole or in part 44*74e0540eSJed Brown by me, under the same open source license (unless I am 45*74e0540eSJed Brown permitted to submit under a different license), as indicated 46*74e0540eSJed Brown in the file; or 47*74e0540eSJed Brown 48*74e0540eSJed Brown(c) The contribution was provided directly to me by some other 49*74e0540eSJed Brown person who certified (a), (b) or (c) and I have not modified 50*74e0540eSJed Brown it. 51*74e0540eSJed Brown 52*74e0540eSJed Brown(d) I understand and agree that this project and the contribution 53*74e0540eSJed Brown are public and that a record of the contribution (including all 54*74e0540eSJed Brown personal information I submit with it, including my sign-off) is 55*74e0540eSJed Brown maintained indefinitely and may be redistributed consistent with 56*74e0540eSJed Brown this project or the open source license(s) involved. 57*74e0540eSJed Brown 58*74e0540eSJed Brown 59