ReleasePlan/de

Einführung
Es hat sich gezeigt, dass zeitbasierte Versionsreihen die beste Qualität an freier Software hervorbringen. Eine zeitbasierte Version ist eine, die weder auf Funktionen noch auf Fehlerbehebungen wartet - sondern (so weit wie möglich) rein zeitbasiert ist. Dies erzwingt Disziplin bei der Einführung von Korrekturen, gibt Vorhersagbarkeit und ermöglicht eine regelmäßigere Veröffentlichung. Es ist auch der Fall, dass wir notwendigerweise früher und danach schnell inkrementell Fehlerbehebungen auf der Basis der vorherigen stabilen Version veröffentlichen werden. Wenn Sie also einen Bedarf an der allerhöchsten Qualitätsversion haben, kann es sinnvoll sein, einen Umzug bis zur ersten oder vielleicht zweiten Nebenpunktversion aufzuschieben.


 * LibreOffice macht halbjährliche, vorhersehbare Veröffentlichungen, die mit anderen Projekten freier Software (z.B. Gnome) synchronisiert sind und den Hauptveröffentlichungen von Linux-Distributionen mindestens einen Monat voraus sind.


 * Die Synchronisierung des zeitbasierten Veröffentlichungszeitplans mit dem breiteren Ökosystem freier Software hat ebenfalls enorme Vorteile, da unsere neuen Funktionen so schnell wie möglich an die Benutzer weitergegeben werden können - mit einer minimalen Verzögerung des Verteilungszyklus. Folglich streben wir sechsmonatige Veröffentlichungen an, die wir im Laufe der Zeit anstoßen, um sie gut an die März/September-Normen anzupassen.


 * Es hat sich gezeigt, dass zeitbasierte Versionsreihen die beste Qualität an freier Software hervorbringen. Eine zeitbasierte Version ist eine, die weder auf Funktionen noch auf Fehlerbehebungen wartet - sondern (so weit wie möglich) rein zeitbasiert ist. Dies erzwingt Disziplin bei der Einführung von Korrekturen, gibt Vorhersagbarkeit und ermöglicht eine regelmäßigere Veröffentlichung. Es ist auch der Fall, dass wir notwendigerweise früher und danach schnell inkrementell Fehlerbehebungen auf der Basis der vorherigen stabilen Version veröffentlichen werden. Wenn Sie also einen Bedarf an der allerhöchsten Qualitätsversion haben, kann es sinnvoll sein, einen Umstieg bis zur ersten oder vielleicht zweiten Nebenpunktversion aufzuschieben.


 * There are 2 branches: Fresh (the newest release) and Still (the previous release), which are intended for mainstream feature users and conservative, corporate deployments respectively.


 * Infolgedessen erhalten Benutzer alle sechs Monate eine neue Hauptversion mit einer Vielzahl an Funktionen, Korrekturen und Verbesserungen. Darüber hinaus erhalten sie viele reine Fehlerbehebungs-Mikroversionen. Die erste X.Y.0-Version ist für Erstanwender gedacht. Konservativeren Benutzern wird empfohlen, auf eine spätere X.Y.Z-Fehlerbehebungsversion zu warten.

Note that the dates mentioned in the schedule might get shifted if there are serious technical or other problems with the release. An extra RC might be needed if the final release candidate does not fit the Release Criteria. Such problem would shift the final release by one week or even more.

The simplified graphic below shows three releases placed on a timeline consisting of 24 months.

Future Fresh Still

7.4 release
See also the detailed schedule and the release notes.

7.3 release
See also the detailed schedule and the release notes.

7.2 release
See also the detailed schedule and the release notes.

7.1 release
See also the detailed schedule and the release notes.

Version 7.0
See also the detailed schedule and the release notes.

Version 6.4
See also the detailed schedule and the release notes.

Version 6.3
See also the detailed schedule and the release notes.

Dates
Die Veröffentlichung ist zeitbasiert, aber der Zeitplan definiert Kalenderwochen anstelle von genauen Daten. Das liegt daran, dass wir immer ein bisschen flexibel sind. Die Veröffentlichung kann sich aufgrund von Blocker-Fehlern, Build-Problemen und anderen technischen Problemen um einige Tage verzögern.

The release consists of several beta and release candidate builds. There are needed several actions for each build. The ideal workflow looks like:


 * Monday: commit deadline; reminder is sent to devel, l10n mailing list before it happens
 * Tuesday: the tag is created on a commit that builds and passes unit-, subsequent-, and smoke-tests; tag is announced on the devel and qa mailing lists
 * Wednesday: builds are uploaded on the early pre-release site; they are announced on the devel and qa mailing lists
 * Thursday: builds are uploaded on mirrors. They are announced via many channels, e.g. mailing lists, twitter
 * Friday: builds are available via the official pre-release site

Die finale Veröffentlichung wird in der Regel am Donnerstag bekannt gegeben, wenige Tage nachdem der finale Veröffentlichungskandidat veröffentlicht wurde.

Note that we are very strict about commits to the final release candidate, so full regression test is not needed. It is used as the final build when it passes the needed tests. It is just renamed on mirrors.

Zeitplan
Der Zeitplan basiert auf den folgenden Regeln:


 * do the major release every six months and synchronize it (at least one month ahead) with major Linux distributions; it always comes with a wide range of features, fixes, and enhancements
 * do a pure bugfix release every month after the main release until it is good enough even for the most conservative people; do it less frequently afterwards
 * do pure bugfix releases, including security fixes, until the next release is ready for most conservative people
 * do not do two builds the same week.

Das Ergebnis ist die folgende Vorlage:

Where (b) means the beginning of the month, (m) means the middle of the month and (e) means the end of the month.

String freeze
The release plans for the first version of each major release indicate a "hard English string & UI freeze". The idea is to make the lives of translators easier. The translators should be able to trust that no new translatable strings are added into the UI or Help files between the period of the string freeze and release.

After the first version of a major release is out, correcting mistakes in the UI and Help strings is fine. Any completely new content should target the next major release.

Versionsschema
We do several builds around each release. The following versioning scheme is used:


 * X.Y.0.0.alphaZ - Z. Alpha-Version der ursprünglichen Veröffentlichung
 * X.Y.0.0.betaZ - Z. Beta-Version der ursprünglichen Veröffentlichung
 * X.Y.0.Z - Zth release candidate of the initial release, last rc is considered as final and put on the main download page
 * X.Y.1.Z - Zth release candidate of the 1st bugfix release, last rc is considered as final and put on the main download page

Es scheint der beste Kompromiss mit den folgenden Vorteilen zu sein:


 * easy to understand for normal users, alpha, beta flags are known from other projects, so they set reasonable expectations
 * correct alphabetical sorting in RPM, Bugzilla
 * “easy” to parse (alpha/beta strings delimited by dot)

There was a long discussion about this scheme on the mailing list.

Beschleunigung des Veröffentlichungszykluses
This acceleration of the release cycle involves some considerable release engineering and QA effort. To reduce the cost of these, we work to provide complete (ie. containing all languages) daily snapshots of the master branch to allow continual testing of code improvements. This works partially already, as can be seen/downloaded from here.

Similarly, we plan to increasingly automate the build process to allow a much lower-touch release flow, and to continue to shrink the footprint of our binaries to allow far more rapid transfer of product-equivalent builds.

End-of-Life Releases
A release normally has a lifetime of around nine months. We consider a release to have reached its End of Life (EOL) one month after the last planned release.

If you want longer term support for a release, you’re encouraged to engage any certified L3 provider who could provide you with the service.

Because of the amount of data, the releases were split out to ReleasePlan/Archive.