xref: /libCEED/CONTRIBUTING.md (revision 74e0540e2478136394f75869675056eb6aba67cc)
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