Fixing the index numbering
[AGL/documentation.git] / docs / 7_How_To_Contribute / 9_Contribution_Checklist.md
1 ---
2 title: Contribution Checklist
3 ---
4
5 **Open Source Code Contribution Checklist**
6
7 ## General
8 - [ ] Does the component have a name ? (Pick one fitting the purpose and the project.)
9 - [ ] Is a separate git repo required for the component ?
10 - [ ] Does the component have a README.md containing all basic information about it ?
11     - [ ] Description.
12     - [ ] Dependencies.
13     - [ ] Build instructions.
14     - [ ] Installation instructions.
15     - [ ] Usage instructions.
16     - [ ] Example invocations.
17 - [ ] Does the component have a CONTRIBUTIONS.md file? (Containing all necessary information on how to contribute, e.g. pointing to project website? )
18
19 ## License
20  - [ ] Is the license an OSI approved open source software license?
21  - [ ] Are all files under an OSI approved open source license?
22  - [ ] Does the component have a LICENSE (or COPYING) file detailing the license of the code?
23  - [ ] Do the source code files have the license mentioned in the header?
24  - [ ] Do the source code files have an SPDX tag? (Note: An SPDX tag can be used in a file header instead of the license note)
25  - [ ] Are there files with other licenses in their header?
26      - [ ] If so, LICENSE should be the for the majority of the files and LICENSE.xyz for the exceptions.
27
28 ## docs/
29  - [ ] Are there docs/ folder for the component ?
30      - [ ] e.g. Are all APIs described inclusive description, usage and example invocations ?
31      - [ ] e.g. Are all cmdline tools or options described in the documentation ?
32      - [ ] e.g. Is the program flow described ?
33  - [ ] Contain Changelog.md ? (Keep track of major changes in the changelog.)
34
35 ## tests/
36  - [ ] Must have tests available.
37  - [ ] Must have simple invocation scripts available.
38  - [ ] Must have instructions for CI available.
39  - [ ] Must contribute CI test definitions.
40
41 ## Git repository
42  - [ ] Must have: a .gitreview file.
43      - [ ] Option: Can have a .gitignore file.
44      - [ ] Option: Can have a .editorconfig file.
45  - [ ] All code needs to build against master.
46  - [ ] Is a backport to a release branch required ?
47  - [ ] Code contributions submitted need to have a Sign-off-by! (Follow [**DCO**](https://developercertificate.org/).)
48
49 ## Yocto/OE
50  - [ ] Recipes need to follow the guidelines of : [**new-recipe-writing-a-new-recipe**](https://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#new-recipe-writing-a-new-recipe).
51  - [ ] Recipes follow the [**bitbake style guide**](https://www.openembedded.org/wiki/Styleguide).
52  - [ ] Your 'meta-*' layer needs to pass the yocto-check-layer tool.
53
54 ## Gerrit Reviews
55 **All gerrit reviews need to be addressed. All issues are to be discussed with the experts.**
56
57  - [ ] Issues are to be discussed in the EG first.
58  - [ ] Consent needs to be reached.
59  - [ ] Gerrit commits need two upvotes (not from authors!) to be merged.
60  - [ ] Uploads should be 'ready for review' or marked 'WIP'.