Merge branch 'main' into 21224-project-details
[arvados.git] / CONTRIBUTING.md
1 [comment]: # (Copyright © The Arvados Authors. All rights reserved.)
2 [comment]: # ()
3 [comment]: # (SPDX-License-Identifier: CC-BY-SA-3.0)
4
5 # Contributing
6
7 Arvados is free software, which means it is free for all to use, learn
8 from, and improve.  We encourage contributions from the community that
9 improve Arvados for everyone.  Some examples of contributions are bug
10 reports, bug fixes, new features, and scripts or documentation that help
11 with using, administering, or installing Arvados.  We also love to
12 hear about Arvados success stories.
13
14 Those interested in contributing should begin by joining the [Arvados community
15 channel](https://gitter.im/arvados/community) and telling us about your interest.
16
17 Contributors should also create an account at https://dev.arvados.org
18 to be able to create and comment on bug tracker issues.  The
19 Arvados public bug tracker is located at
20 https://dev.arvados.org/projects/arvados/issues .
21
22 Contributors may also be interested in the [development road map](https://dev.arvados.org/issues/gantt?utf8=%E2%9C%93&set_filter=1&gantt=1&f%5B%5D=project_id&op%5Bproject_id%5D=%3D&v%5Bproject_id%5D%5B%5D=49&f%5B%5D=&zoom=1).
23
24 # Development
25
26 Git repositories for primary development are located at
27 https://git.arvados.org/ and can also be browsed at
28 https://dev.arvados.org/projects/arvados/repository .  Every push to
29 the main branch is also mirrored to Github at
30 https://github.com/arvados/arvados .
31
32 Visit [Hacking Arvados](https://dev.arvados.org/projects/arvados/wiki/Hacking) for
33 detailed information about setting up an Arvados development
34 environment, development process, [coding standards](https://dev.arvados.org/projects/arvados/wiki/Coding_Standards), and notes about specific components.
35
36 If you wish to build the Arvados documentation from a local git clone, see
37 [doc/README.textile](doc/README.textile) for instructions.
38
39 # Pull requests
40
41 The preferred method for making contributions is through Github pull requests.
42
43 This is the general contribution process:
44
45 1. Fork the Arvados repository using the Github "Fork" button
46 2. Clone your fork, make your changes, commit to your fork.
47 3. Every commit message must have a DCO sign-off and every file must have a SPDX license (see below).
48 4. Add yourself to the [AUTHORS](AUTHORS) file
49 5. When your fork is ready, through Github, Create a Pull Request against `arvados:main`
50 6. Notify the core team about your pull request through the [Arvados development
51 channel](https://gitter.im/arvados/development) or by other means.
52 7. A member of the core team will review the pull request.  They may have questions or comments, or request changes.
53 8. When the contribution is ready, a member of the core team will
54 merge the pull request into the main branch, which will
55 automatically resolve the pull request.
56
57 The Arvados project does not require a contributor agreement in advance, but does require each commit message include a [Developer Certificate of Origin](https://dev.arvados.org/projects/arvados/wiki/Developer_Certificate_Of_Origin).  Please ensure *every git commit message* includes `Arvados-DCO-1.1-Signed-off-by`. If you have already made commits without it, fix them with `git commit --amend` or `git rebase`.
58
59 The Developer Certificate of Origin line looks like this:
60
61 ```
62 Arvados-DCO-1.1-Signed-off-by: Joe Smith <joe.smith@example.com>
63 ```
64
65 New files must also include `SPDX-License-Identifier` at the top with one of the three Arvados open source licenses.  See [COPYING](COPYING) for details.
66
67 # Continuous integration
68
69 Continuous integration is hosted at https://ci.arvados.org/
70
71 Currently, external contributors cannot trigger builds.  We are investigating integration with Github pull requests for the future.
72
73 [![Build Status](https://ci.arvados.org/buildStatus/icon?job=run-tests)](https://ci.arvados.org/job/run-tests/)
74
75 [![Go Report Card](https://goreportcard.com/badge/github.com/arvados/arvados)](https://goreportcard.com/report/github.com/arvados/arvados)