Skip to content

Commit

Permalink
Merge pull request #841 from Dasharo/use-new-naming-scheme-for-des
Browse files Browse the repository at this point in the history
dev-proc/versioning.md: initial coorections to dasharo naming scheme
  • Loading branch information
pietrushnic authored Dec 18, 2024
2 parents da10b73 + a9584c8 commit f622ef0
Showing 1 changed file with 72 additions and 40 deletions.
112 changes: 72 additions & 40 deletions docs/dev-proc/versioning.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,66 +14,98 @@ in menu on the left side (Supported Hardware->Hardware Model->Releases).

Dasharo Releases can be divided into two categories:

* Dasharo Pro Package Releases (previous Dasharo Supporters Release for
Dasharo Support Entrance Subscribers)
* Dasharo Community Releases
- Dasharo Pro/Enterprise Package (formerly Dasharo Entry Subscription) Releases
- Dasharo Community Releases

## Dasharo Pro Package Releases

Dasharo Pro Package subscribers receive firmware updates more
frequently than the community. The number of updates per year depends on the
number of Dasharo Pro Packages sold and the availability of other
funding (e.g., NLNet, corporate sponsors, community donations) but is less
than 2 updates per year. Dasharo Pro Package Releases are characterized
by a changing patch version (`z`). Fixes and features introduced in Dasharo
Pro Package Releases will also be available later as Dasharo Community
Releases with public pre-built binaries in the respective release pages. In
short, being a Dasharo Subscriber gives early access to the newest features
and fixes.
Dasharo Pro/Enterprise Package (formerly Dasharo Entry Subscription)
subscribers receive firmware updates more frequently than the community. The
number of updates per year depends on the number of Dasharo Pro/Enterprise
Package (formerly Dasharo Entry Subscription) sold and the availability of
other funding (e.g., NLNet, corporate sponsors, community donations) but one or
more per year. Dasharo Pro/Enterprise Package (formerly Dasharo Entry
Subscription) Releases are characterized by a changing patch version (`z`).
Fixes and features introduced in Dasharo Pro/Enterprise Package (formerly
Dasharo Entry Subscription) Releases will also be available later as Dasharo
Community Releases with public pre-built binaries in the respective release
pages. In short, being a Dasharo Subscriber gives early access to the newest
features and fixes.

For details about the naming convention, please check
[here](../dasharo-naming-convention.md).

[How to become Dasharo Pro Package subscriber?](../ways-you-can-help-us.md#become-a-dasharo-pro-package-subscriber)

## Dasharo Community Releases

Dasharo Community Releases are built and published once a year. Each Dasharo
Timeline for Dasharo Community Releases is communicated in [Dasharo
Roadmap](https://github.com/Dasharo/presentations/blob/main/dasharo_roadmap.md)
presentations during [Dasharo User
Group](https://docs.dasharo.com/#events-calendar) events. Each Dasharo
Community Release has a zero patch version (`x.y.0`) and the only changing
number is the minor version `y`. To be up-to-date with latest Dasharo
Community Release updates, one can subscribed to free of charge mailing list
for given hardware platform, for which the link can be found in menu on the
left side (Supported Hardware->Hardware Model->Releases).
number is the minor version `y`. To be up-to-date with latest Dasharo Community
Release updates, one can subscribed to free of charge mailing list for given
hardware platform, for which the link can be found in menu on the left side
(Supported Hardware->Hardware Model->Releases).

## PC Engines releases and its exceptional versioning scheme

Dasharo (coreboot+SeaBIOS) for PC Engines does not adhere to the typical
versioning scheme used by Dasharo, which is semantic versioning. This is due to
a couple of reasons:

- We want to convey that this series of releases is a direct continuation of
past efforts sponsored by PC Engines and published
[here](https://pcengines.github.io/). By sticking to that versioning scheme, we
do not deviate from the agreed pattern and what users are accustomed to.
- We have utilized the same infrastructure, and maintaining versioning
according to the pattern used by us since 2017 has helped us minimize changes.

The general rule for versioning pattern is as follows: `<coreboot_rel_ver>{.00.}<dasharo_rel_num>`

- `<coreboot_rel_ver>` - changed in February 2024, from x.y.z to YY.MM{.FF},
where `YY` represents the year, `MM` represents the month, and optional `{.FF}`
represents the patch number if any hotfix for the given release is created.
- `{.00.}` - if no hotfix exists for the given coreboot release, we add `.00.`
to reserve space for a potential hotfix on that version.
- `<dasharo_rel_num>` - indicates the number of versions released by the
Dasharo Team on top of the given coreboot release, starting from `01`, where
version `00` means no changes were applied on top of the coreboot release.

## Signing keys

In Dasharo we use following rules for keys:

* GPG RSA 4096 for signing and authentication and subkey for encryption
* There few types of naming conventions, which define `Real Name` field and
- GPG RSA 4096 for signing and authentication and subkey for encryption
- There few types of naming conventions, which define `Real Name` field and
chain of trust schemes:
- Software:
+ Real Name: `<name> open-source software release <version> signing key`
+ Signing key: `3mdeb Open Source Software Master Key <[email protected]>`
- Firmware:
+ Real Name: `<name> open-source firmware release <version> signing key`
+ Signing key: `3mdeb Dasharo Master Key`
- PC Engines (firmware exception):
+ Real Name: `PC Engines open-source firmware release <version> signing key`
+ Signing key: `3mdeb Open Source Firmware Master Key <[email protected]>`
- Dasharo firmware produced by 3mdeb:
+ Real Name: `Dasharo release <version> compatible with <name> signing key`
+ Signing key: `3mdeb Dasharo Master Key`
- For Dasharo firmware produced by 3mdeb on customer's behalf:
+ Real Name: `Dasharo open-source firmware <version> for <name> signing key`
+ Signing key: `3mdeb Dasharo Master Key`
+ Software:
* Real Name: `<name> open-source software release <version> signing key`
* Signing key: `3mdeb Open Source Software Master Key <[email protected]>`
+ Firmware (deprecated):
* Real Name: `<name> open-source firmware release <version> signing key`
* or Real Name: `<name> Open Source Firmware Release <version> Signing Key`
* Signing key: `3mdeb Dasharo Master Key`
+ PC Engines (firmware exception):
* Real Name: `PC Engines open-source firmware release <version> signing key`
* Signing key: `3mdeb Open Source Firmware Master Key <[email protected]>`
+ Dasharo firmware produced by 3mdeb:
* Real Name: `Dasharo release <version> compatible with <name> signing key`
* Signing key: `3mdeb Dasharo Master Key`
+ For Dasharo firmware produced by 3mdeb on customer's behalf:
* Real Name: `Dasharo open-source firmware <version> for <name> signing key`
* Signing key: `3mdeb Dasharo Master Key`

`<name>` typically is in form `<vendor> <model>` or just `<vendor>` if we
release firmware for whole line of products which can be support in one binary
e.g. PC Engines. Examples:

* `Dell OptiPlex 7010/9010`
* `ASUS KGPE-D16`
* `MSI MS7D25`
* `NovaCustom`
* `Tuxedo`
- `Dell OptiPlex 7010/9010`
- `ASUS KGPE-D16`
- `MSI MS7D25`
- `NovaCustom`
- `Tuxedo`

Most recent status should be reflected in
[3mdeb-secpack](https://github.com/3mdeb/3mdeb-secpack) repository.

0 comments on commit f622ef0

Please sign in to comment.