Basics

All development should be made available publicly under open source licences.

  1. Use version control right from the beginning of a new project.
    • If in doubt, use Git.
    • Implement a Code Hosting Policy.
    • Use meaningful commit messages, cf. [ProGit] Sec. 5.2:
      • Capitalised summary with a maximum of 50 characters followed by a blank line.
      • Detailed but concise explanations in paragraphs or bullet points at 72 characters line length.
      • Explain what you do and why, but not how.
    • Never include any secrets in the code.
  2. Use an appropriate OSI approved license.
    • Decide on an appropriate license before you first commit.
    • Ensure the license is compatible with all dependencies.
    • If in doubt, choose APACHE-2.0 or EUPL-1.2.
    • Add the text in a LICENSE.txt.
    • Add license statements to code files, consider using SPDX <https://spdx.org/specifications>__ identifiers.
  3. Maintain a README.
  4. Document your software properly.
  5. Use existing tooling to support development workflows.
  6. Ensure maximal interoperability.
  7. Ensure your software is usable and accessible.
  8. Implement a release policy and keep a changelog.
  9. Add a code of conduct in a CODE_OF_CONDUCT.md, like we do.
  10. Specify contribution policies in a CONTRIBUTING.md, like we do. Don’t ignore non-code contributions. A legitimate policy can be that external contributions are not accepted and merged.