For NI employees, more details on using GitHub can be found here, in Azure DevOps.
You may use the repo ni/Github-Repo-Template as a starting point or guide (do not use capital letters in your repo's name)
- Include a LICENSE file in the root directory
- Use the MIT license (approved by NI Legal for permissively open source projects). If you are considering copyleft (e.g. GPL), contact opensource@ni.com.
- LICENSE should include NI copyright at the top of the file (e.g. "Copyright (c) 2022, National Instruments Corp.")
- Include a CONTRIBUTING.md in the root directory
- It should contain the Developer Certificate of Origin (DCO)
- Include language in .github/pull_request_template.md that explicitly acknowledges the submission adheres to the DCO
For NI employees, you can read more about open source considerations in the Open Source Handbook, in Azure DevOps.
- Repo name should be all lowercase with hyphens to separate words, e.g.
my-repo
- Include helpful README.md and CONTRIBUTING.md
- Include a CODEOWNERS file specifying at least one owner for every file in the repo
- Include a .github/pull_request_template.md file
- Configure allowed merge types for pull requests (i.e. merge, squash, and/or rebase)
- Enable auto-merge
- Configure one or more issue templates. See ni/nimble for examples
- Configure GitHub Actions to run gating build(s) on PRs. You can also use Azure Pipelines if the build requires access to NI build agents.
- Default branch should be named
main
- Names should be in all lowercase, with hyphens to separate words, e.g.
my-feature-branch
- User branches should be under
users/<username>/
- Collaborative feature branches should be under
features/
- Reviewers should respond to code reviews within 24 hours of being added (minus weekends and holidays)
- A response can be a review comment, an approval/rejection, or even just a comment to the effect of "I'll look at this tomorrow"