General Guideline

  1. Maintain a changelog using keepachangelog.com

  2. Use Semantic Versioning, see semver.org

  3. Prefer open interfaces over closed or custom interfaces, e.g. OpenAPI.

  4. Prefer well-known and matured projects (libraries, tools, …) over fancy & new or custom projects.

  5. Keep dependencies up-to-date, e.g. try to update as part of each feature or bugfix.

  6. Prefer ecosystem native technologies, e.g. package and distribute python package via a wheel package and not as a debian package.

  7. Prefer ecosystem native best practices and code styles, e.g. CamalCase in Java, but snake_case for Python methods.