2 title: Contribution Checklist
5 **Open Source Code Contribution Checklist**
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 ?
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? )
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.
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.)
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.
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 octopus.
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/).)
50 - [ ] Recipes need to follow the guidelines of : [**new-recipe-writing-a-new-recipe**](https://docs.yoctoproject.org/dev/dev-manual/new-recipe.html#following-recipe-style-guidelines).
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.
55 **All gerrit reviews need to be addressed. All issues are to be discussed with the experts.**
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'.