Difference between revisions of "Schedules/Release Schedules Guide"

Jump to: navigation, search
m (fix section)
(add move to community notice)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
KDE is becoming a very big project. To be able to make a release of KDE a lot
+
{{Moved To Community}}
of cooperation between all developers is needed. To make clear to everyone
+
what is required to make a successful release a schedule is made.
+
This schedule should be seen as a guideline and not as a strict scheme.
+
 
+
Hopefully this release schedule can contribute to the fun and quality of KDE.
+
 
+
== KDE Release Schedules ==
+
 
+
Two schedules are presented here. A major release takes approx. 5 (!!) months
+
from the first announcement to the final release. A minor release takes approx.
+
2 months. Schedules for [[#Schedule (Major Release)|major]]
+
releases and for [[#Schedule (Minor Release)|minor]] releases.
+
 
+
The dates mentioned serve as an indication only. They reflect the expected
+
duration of a certain phase. If required by the circumstances, the release
+
dude is free to increase the time between steps. In this case, the release
+
dude will inform all KDE mailinglists about the adjustments in the release
+
schedule as well as the reason for the adjustments.
+
 
+
''Example:'' "The KFM authors want to add javascript support in KHTML before
+
the freeze and will need at least 3 more weeks for this. Therefore the
+
freeze of the KDE libraries has been delayed till at least 1 Aug 2001."
+
 
+
If a developer would like to see the release delayed he/she should inform
+
the release dude about this as soon as possible. The release dude will
+
decide whether the release will be delayed or not. (Possibly after
+
consulting others)
+
 
+
''Example:'' "Can we wait with the release till Qt3.54 has been released?
+
I want to use the xyz widget the Trolls have added in my abc application."
+
 
+
=== Schedule (Major Release) ===
+
 
+
{| border="1" cellpadding="5" cellspacing="0" style="border: #80B3FF solid 1px; border-collapse: collapse; text-align: left; width: 100%;"
+
|-
+
|bgcolor="#EEEEEE"| '''Step 1'''
+
|bgcolor="#EEEEEE"| '''Start of the Release'''
+
|bgcolor="#EEEEEE"| '''Date:''' wk 0
+
|-
+
|colspan="3"|
+
* A release dude is appointed who will implement this schedule.
+
* It is decided which libraries will be released.
+
* A [[#release_announcement|Release Announcement]] is made which is also published on the appropriate mailing lists.
+
|-
+
||'''Evaluation''' || || '''Date:''' wk 3
+
|-
+
|colspan="3"|
+
* It is evaluated whether the next step needs to be delayed. <br />A [[#release_announcement|Release Announcement]] is made with the result of the evaluation.
+
|-
+
|bgcolor="#EEEEEE" | '''Step 2'''
+
|bgcolor="#EEEEEE" | '''Library Freeze'''
+
|bgcolor="#EEEEEE" | '''Date:''' wk 4
+
|-
+
|colspan="3"|
+
* [[#core_lib|Core libraries]] are [[#feature_freeze|feature-frozen]] for the SVN trunk.
+
* It is decided which applications will be released.
+
* A [[#release_announcement|Release Announcement]] is made.
+
|-
+
||'''Evaluation''' || || '''Date:''' wk 7
+
|-
+
|colspan="3"|
+
* It is evaluated whether the next step needs to be delayed.<br /> A [[#release_announcement|Release Announcement]] is made with the result of the evaluation.
+
|-
+
|bgcolor="#EEEEEE" | '''Step 3'''
+
|bgcolor="#EEEEEE" | '''Application Freeze'''
+
|bgcolor="#EEEEEE" | '''Date:''' wk 8
+
|-
+
|colspan="3"|
+
* [[#core_lib|Core libraries]] enter [[#deep_freeze|deep-freeze]] for the SVN trunk.
+
* [[#core_app|Core applications]] are [[#feature_freeze|feature-frozen]] for the SVN trunk.
+
* An alpha-release is made in both source and binary form.
+
* It is decided which libraries will be released.
+
* A [[#release_announcement|Release Announcement]] is made.
+
|-
+
||'''Evaluation''' || || '''Date:''' wk 11
+
|-
+
|colspan="3"|
+
* It is evaluated whether the next step needs to be delayed.<br />A [[#release_announcement|Release Announcement]] is made with the result of the evaluation.
+
|-
+
|bgcolor="#EEEEEE" | '''Step 4'''
+
|bgcolor="#EEEEEE" | '''Ready for translation'''
+
|bgcolor="#EEEEEE" | '''Date:''' wk 12
+
|-
+
|colspan="3"|
+
* [[#core_lib|Core libraries]] are [[#deep_freeze|deep-frozen]] for the SVN trunk.
+
* [[#core_app|Core applications]] are [[#deep_freeze|deep-frozen]] for the SVN trunk.
+
* A source-only beta-release is made which will be translated.
+
* A [[#release_announcement|Release Announcement]] is made.
+
* A "What's Changed?" should be written!!
+
|-
+
||'''Evaluation''' || || '''Date:''' wk 15
+
|-
+
|colspan="3"|
+
* It is evaluated whether the next step needs to be delayed. <br /> A [[#release_announcement|Release Announcement]] is made with the result of the evaluation.
+
|-
+
|bgcolor="#EEEEEE" | '''Step 5'''
+
|bgcolor="#EEEEEE" | '''Final Release'''
+
|bgcolor="#EEEEEE" | '''Date:''' wk 16
+
|-
+
|colspan="3"|
+
* Debugging messages are turned off by default.
+
* The code is checked for left over debug output.
+
* A source-only gamma-release is made without translations.
+
* The SVN trunk is copied to tags/
+
* All parts are free to modify again.
+
* A [[#release_announcement|Release Announcement]] is made which is also published on the appropriate mailing lists.
+
* Translations can finalize and packagers can start to prepare themselves.
+
* The "What's changed?" should be finished by now!
+
* A "Press Release" should be written.
+
|-
+
||'''Evaluation''' || || '''Date:''' wk 18
+
|-
+
|colspan="3"|
+
* It is evaluated whether the next step needs to be delayed.<br /> A [[#release_announcement|Release Announcement]] is made if the next step is delayed.
+
|-
+
|bgcolor="#EEEEEE" | '''Step 6'''
+
|bgcolor="#EEEEEE" | '''Tagging of the Release'''
+
|bgcolor="#EEEEEE" | '''Date:''' wk 18
+
|-
+
|colspan="3"|This should happen during a weekend.
+
* All translations should be finished and have been put into SVN.
+
* The gamma-release is now the final-release. It should not have changed much since the previous step. The according tags/ copy is created in SVN.
+
* The tarballs of the release are made available to the packagers (and the packagers only).
+
* The creation of the tarballs are announced to kde-pr and kde-distributors. (These lists are not world readable) The translators are informed as well.
+
* The FTP-mirror maintainers are informed about the upcoming release and the mirrors.html file is updated (on both ftp and www).
+
|-
+
|bgcolor="#EEEEEE" | '''Step 7'''
+
|bgcolor="#EEEEEE" | '''Final Release'''
+
|bgcolor="#EEEEEE" | '''Date:''' wk 19
+
|-
+
|colspan="3"|This should happen on a Monday, one week after Step 6.
+
* kde-pr sends out the press release.
+
* kde-pr informs all KDE lists and updates the web-pages.
+
* Announcements to comp.os.linux.announce, comp.windows.x.kde, de.alt.comp.kde and possibly others are made.
+
* The binary and source packages are made world-wide available on the ftp-server.
+
* The release is complete.
+
* '''<font size="+2">PARTY!!!!</font>'''
+
|}
+
 
+
=== Schedule (Minor Release) ===
+
 
+
{| border="1" cellpadding="5" cellspacing="0" style="border: #80B3FF solid 1px; border-collapse: collapse; text-align: left; width: 100%;"
+
|-
+
|bgcolor="#EEEEEE"| '''Step 1'''
+
|bgcolor="#EEEEEE"| '''Start of the Release'''
+
|bgcolor="#EEEEEE"| '''Date:''' wk 0
+
|-
+
|colspan="3"|
+
* A release dude is appointed who will implement this schedule.
+
* It is decided which applications and libraries will be released.
+
* A [[#release_announcement|Release Announcement]] is made which is also published on the appropriate mailing lists.
+
|-
+
||'''Evaluation''' || || '''Date:''' wk 3
+
|-
+
|colspan="3"|
+
* It is evaluated whether the next step needs to be delayed.<br /> A [[#release_announcement|Release Announcement]] is made with the result of the evaluation.
+
|-
+
|bgcolor="#EEEEEE"| '''Step 2'''
+
|bgcolor="#EEEEEE"| '''Application Freeze'''
+
|bgcolor="#EEEEEE"| '''Date:''' wk 4
+
|-
+
|colspan="3"|
+
* [[#core_lib|Core libraries]] enter [[#deep_freeze|deep-freeze]] for the SVN branch to release.
+
* [[#core_app|Core applications]] are [[#feature_freeze|feature-frozen]] for the SVN branch to release.
+
* A [[#release_announcement|Release Announcement]] is made.
+
|-
+
||'''Evaluation''' || || '''Date:''' wk 6
+
|-
+
|colspan="3"|
+
* It is evaluated whether the next step needs to be delayed.<br />A [[#release_announcement|Release Announcement]] is made with the result of the evaluation.
+
|-
+
|bgcolor="#EEEEEE"| '''Step 3'''
+
|bgcolor="#EEEEEE"| '''Ready for translation'''
+
|bgcolor="#EEEEEE"| '''Date:''' wk 6
+
|-
+
|colspan="3"|
+
* [[#core_lib|Core libraries]] are [[#deep_freeze|deep-frozen]] for the SVN branch to release.
+
* [[#core_app|Core applications]] are [[#deep_freeze|deep-frozen]] for the SVN branch to release.
+
* Debugging messages are turned off by default.
+
* The code is checked for left over debug output.
+
* The SVN branch is created
+
* A source-only gamma-release is made which can be translated. Packagers can prepare themselves using the gamma-release.
+
* A [[#release_announcement|Release Announcement]] is made.
+
* A "What's changed?" should be written.
+
* A "Press Release" should be written.
+
|-
+
|bgcolor="#EEEEEE"| '''Step 4'''
+
|bgcolor="#EEEEEE"| '''Final Release'''
+
|bgcolor="#EEEEEE"| '''Date:''' wk 8
+
|-
+
|colspan="3"|This should happen during a weekend.
+
* All translations should be finished and have been put into SVN.
+
* The gamma-release is now the final-release. It should not have changed since the previous step. The release tags/ path is created in SVN.
+
* The tarballs of the release are made available to the packagers. (And the packagers only).
+
* The creation of the tarballs are announced to kde-pr and kde-distributors. (These lists are not world readable) The translators are informed as well.
+
* The FTP-mirror maintainers are informed about the upcoming release and the mirrors.html file is updated. (on both ftp and www)
+
|-
+
|bgcolor="#EEEEEE"| '''Step 5'''
+
|bgcolor="#EEEEEE"| '''Final Release'''
+
|bgcolor="#EEEEEE"| '''Date:''' wk 9
+
|-
+
|colspan="3"|This should happen on a Monday, one week after Step 4.
+
* kde-pr sends out the press release.
+
* kde-pr informs all KDE lists and updates the web-pages.
+
* Announcements to comp.os.linux.announce, comp.windows.x.kde, de.alt.comp.kde and possibly others are made.
+
* The binary and source packages are made world-wide available on the ftp-server.
+
* The release is complete.
+
* '''<font size="+2">PARTY!!!!</font>'''
+
|-
+
|}
+
 
+
== Terms ==
+
;<div id="major_rel">Major Release</div>
+
:A major KDE release has two version numbers, eg KDE 1.1. Only a major KDE release will incorporate new features.
+
 
+
;<div id="minor_rel">Minor Release</div>
+
:For minor releases a shortened release schedule will be used. A minor KDE release has three version numbers, eg. KDE 1.1.1. A minor KDE release concentrates on fixing bugs, minor glitches and small usability issues. A minor release is based on a SVN branch of a previous release and does not affect the trunk of SVN.
+
 
+
;<div id="release_announcement">Release Announcement</div>
+
:A Release Announcement is an announcement related to a release and coupled to a certain step or evaluation. A Release Announcement is sent to ALL KDE mailinglists. It contains a pointer to this document ("KDE Release Schedule") The anouncement includes the current state of the release and describes which parts of SVN are free to modify, feature-frozen or deep-frozen. Each announcement includes in a "What Next?" section what the next step of  the release will be and how many weeks/days are left till this step is reached. Release Announcements are repeated weekly, if the next step is within the next week, the announcement is repeated daily.
+
 
+
;<div id="no_freeze">Free to modify</div>
+
:No special restrictions with regard to changes.
+
 
+
;<div id="feature_freeze">Feature frozen</div>
+
:No new features, texts may be changed, focus should be on bug fixing.
+
 
+
;<div id="deep_freeze">Deep frozen</div>
+
:No new features, no changes of texts, only severe bugs may be fixed after two developers have seen a patch and agreed on it.
+
 
+
;<div id="core_lib">Core libraries</div>
+
:All the libraries which will be released.
+
 
+
;<div id="core_app">Core applications</div>
+
:All the applications which will be released.
+

Latest revision as of 10:57, 16 March 2016

This page is now on the community wiki.


This page was last modified on 16 March 2016, at 10:57. Content is available under Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2 unless otherwise noted.