Skip to content

Latest commit

 

History

History
39 lines (28 loc) · 3 KB

CONTRIBUTING.md

File metadata and controls

39 lines (28 loc) · 3 KB

For NI employees, more details on using GitHub can be found here, in Azure DevOps.

Requirements for open source projects

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 [email protected].
    • 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
  • 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 configuration

Initial setup

  • 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.

Branch naming

  • 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/

Code review policy

  • 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"