Open Source is built on the desire to produce software that can be openly used by the community. It’s a great first step, But, Open Source doesn’t say that a project needs to be designed, developed, or supported in an open way. The principle of Open Development offers this expansion.

The Principles of Open Development

Open Development is built on seven sub-principles:

  1. Accessibility. Anyone must be able to join.
  2. Collaboration. Members must have a voice in design.
  3. Diversity. A diversity of views must be recruited.
  4. Strategy. Plans must be made by the community as a whole.
  5. **Transparency. ** Membership, goals, governance, processes, and support must be open.
  6. Sustainability. Long-term commitment must be built in from the start.
  7. Openness. Openness must also mean interoperability.

See “Principles of Open Development” for more on these topics.

The Levels of Open Development

Open Development isn’t a binary choice, but instead a spectrum. Projects can rise up through a variety of levels to eventually meet the full requirements of Open Development.

  1. Open Source. Source is mostly viewable and freely licensable.
  2. Inspectable. Open source is available in a public repo.
  3. Observable. Branches, releases, and issues are used to make development process open.
  4. Reproducible. Code is compilable even if some parts remain private.
  5. Testable. Open test suites support reproducible code.
  6. Cooperative. Public is fully invited into design & development process.
  7. Distributed. Project is shipped & in use by multiple entities.
  8. Standardized. Project is accepted by international standards organization.

See “Best Practices of Open Development” for more.