Code of Conduct
openIMIS Initiative has adopted the Contributor Covenant as its Code of Conduct, and we expect project participants to adhere to it. Please read the full text.
Issue Tracker
Open Development
All work on openIMIS happens directly on GitHub. Both core team members and external contributors send pull requests which go through the same review process.
Semantic Versioning
React follows semantic versioning. We release patch versions for critical bug fixes, minor versions for new features or non-essential changes, and major versions for any breaking changes. When we make breaking changes, we also introduce deprecation warnings in a minor version so that our users learn about the upcoming changes and migrate their code in advance. Learn more about our commitment to stability and incremental migration in our versioning policy.
Every significant change is documented in the changelog wiki pages.
Branch Organization
Submit all changes to the develop branch
. We use separate branches for development (develop branch
) or for upcoming releases. We do our best to keep master
in good shape, with all tests passing.
Code that lands in develop
must be compatible with the latest stable release. It may contain additional features, but no breaking changes. We should be able to release a new minor version from the tip of develop
at any time.
Code convention
JSON (mirror the guidelines for naming JavaScript identifiers)
Property names should be meaningful names
Property names must be camel-cased, ASCII strings
The first character must be a letter
Subsequent characters can be a letter, a digit, an underscore
Reserved JavaScript keywords should be avoided
Examples
Django contribution: https://docs.djangoproject.com/en/dev/internals/contributing/
ReactJS contribution: https://reactjs.org/docs/how-to-contribute.html
Material Design: https://material.io/develop/android/docs/contributing/
Google Java Style Guide: https://google.github.io/styleguide/javaguide.html
Python Style Guide: https://www.python.org/doc/essays/styleguide/
Gnome todo: https://gitlab.gnome.org/GNOME/gnome-todo/blob/master/doc/CONTRIBUTING.md
Questions
Global openIMIS guidelines or per programming language?
Better have per language, but define overlaps/interactions
FHIR is already guiding, GRAPH-QL is more open