Versioning

From Open Source Ecology
Jump to navigation Jump to search

Versioning practice at OSE follows the naming convention of naming the module under development followed by v for version and date. Example:

3D_Printer_v19.10

This refers to the 3D Printer, the version whose start build date was October of 2019.

Notes:

  1. Use a unique name for everything. For example, 3D Printer v19.10 - is not the same as 3D Printer v18.09.
  2. When a new version is created, add that version to the list at the Genealogies page.
  3. Use a version at every level - Machine, Module, or Submodule/Part. Note that these different levels of detail are all considered as modules when referring to the development process: you can be developing the final product at the machine level, at the module level, or sub/part level. Each of these modules should have a version.
  4. When developing at the Module level, include the full name that identifies the largest unit of organization: for example: use 3D Printer Extruder v19.10, not Extruder v19.10. Same for part - use the 3D Printer Extruder Nozzle v19.10, not Nozzle v19.10.
  5. Use official naming convention of modules from GVCS Modules List.
  6. In name, use capital letters for all first letters of words in the name. Thus, it's 3D Printer, not 3D printer.
  7. Use v in small letters, which is short for version
  8. Since we go through multiple prototypes over multiple years - start with the year in the version name.
  9. Use month for the month the projects was STARTED. Since documentation is realtime and you don't know when the version development will end - it makes sense to use the month started.
  10. If multiple versions are iterated in the same month, name the latter one with the DAY it was started, such as v19.10.22 (for starting on October 22)

Controversy

Software people favor the dot number convention (Semantic Versioning) v1.0, v1.1, v1.1.1 etc. This can be used, but OSE favors the more transparent date-based notation - which includes a sense of project management for overall project completion according to the Critical Path and Product Ecology - involving the 2028 finish date. Knowing which versions are being worked at the same time provides immediate information (by virtue of version date in the name) on project activity for purposes of coordination with large parallel teams.

Semantic Versioning solves for a different thing in software. In software, m


The dot-number

Links