- Versionsnummern
-
Versionsnummern unterscheiden in der Softwareentwicklung die einzelnen Versionen einer Software. Durch die oft langjährige Produktlaufzeit und die sich mehrfachen anreihenden Entwicklungszyklen ist es unerlässlich, definierte Stände zu erstellen. Die Versionsnummer ist die Grundlage für die Versionsverwaltung. Den Prozess der Vergabe der Versionsnummer nennt man Versionierung.
Inhaltsverzeichnis
Aufbau
Eine Versionsnummer wird oft nach dem Programmnamen angeführt und manchmal durch „v.“ oder „V“ (für Version) speziell gekennzeichnet.
Eine Versionsnummer setzt sich häufig wie folgt zusammen:
<Hauptversionsnummer>.<Nebenversionsnummer>.<Revisionsnummer>-<Buildnummer>
bzw. auf englisch:
<major release>.<minor release>.<patch level>-<build number>
zum Beispiel für die 2. Version eines Programms, in der 3. Nebenversion und in der 5. Fehlerkorrektur, Build 0041
2.3.5-0041
Das ist aber von System zu System unterschiedlich und kann sich in seiner Bedeutung auch durchaus unterscheiden. Für bestimmte Entwicklungsumgebung wie z.B. .NET ist die Versionierung standardisiert. Ansonsten gibt es keine festen Vorgaben, sondern es haben sich in bestimmten Bereichen Quasi-Standards etabliert.
Zu einem Versionsstand an einem beliebigen Zeitpunkt sagt man auch Build. Die Build-Nummer wird in vielen Projekten unabhängig von den anderen Nummern erhöht und nicht zurückgesetzt. Zum Beispiel gibt es bei Microsoft Windows zwei Produktreihen: in der Reihe Windows 95 sind die Builds 950 (Windows 95) und 2222 (Windows 98 SE) bekannt, in der Reihe Windows NT sind dies die Builds 1381 (Windows NT 4.0 Service Pack 6), 2600 (Windows XP) und 6000 (Windows Vista).
Oftmals ist es – vor allem bei Open-Source-Software - der Fall, dass sich die Versionsnummern von Programmen oder Systemen noch vor der Version 1.x befinden. Dies deutet jedoch nicht zwingend darauf hin, dass die Entwicklung noch nicht weit fortgeschritten ist, sondern eher, dass die Version noch nicht das von den Entwicklern gesteckte Ziel erreicht hat und sich weiterhin in der Entwicklung befindet. Teilweise gibt es sogar Open-Source-Programme, die, obwohl sie den Alpha- und Beta-Status längst verlassen haben, weiterhin noch unterhalb der Version 1.x versioniert sind.
Bedeutung
- Eine Hauptversionsnummer (major release) indiziert meist äußerst signifikante Änderung am Programm – z. B. wenn das Programm komplett neu geschrieben wurde (z. B. GIMP 1.x nach 2.x) oder sich bei Bibliotheken keine Schnittstellenkompatiblität aufrechterhalten lässt.
- Eine Nebenversionsnummer (minor release) bezeichnet meistens die funktionelle Erweiterung des Programms.
- Eine Revisionsnummer (patch level) enthält meist Fehlerbehebungen.
- Die Buildnummer (build number) kennzeichnet in der Regel den Fortschritt der Entwicklungsarbeit in Einzelschritten, wird also z. B. bei 0001 beginnend mit jedem Kompilieren des Codes um eins erhöht. Version 5.0.0-3242 stünde also für das 3242. Kompilationsprodukt einer Software.
Diese Vorgehensweise findet sowohl bei kommerzieller Software als auch im Umfeld der Freien Software und Open Source Verwendung.
Andere Arten, Programmversionen voneinander zu unterscheiden, sind:
- Jahreszahlen, z. B.: Windows 95;
- alphanumerische Bezeichner, z. B.: Adobe Photoshop CS2, Adobe Flash MX;
- Codenamen, z. B.: Mac OS X Tiger;
- Jahre und Monate; so wird zum Beispiel die Versionsnummer der Ubuntu-Distribution aus der letzten Ziffer der Jahreszahl und dem Monat des Erscheinens gebildet. Z. B. Ubuntu 6.06 (für 2006.06 = Juni 2006).
- Die Versionsnummer von TeX nähert sich π an; die von METAFONT der Eulerschen Zahl e.
Für die Software-Entwicklung stellen Versionsnummern eine weitaus wichtigere Information als für den Kunden dar. Mit Hilfe der Versionsnummern kann u. a. sichergestellt werden, dass in Entwicklergruppen neue Programmteile nicht mit älteren überschrieben werden.
Die Nummern können auch aus mehreren Ziffern bestehen. Zum Beispiel folgt nach Version 0.9, wenn sich nur die Nebenversion erhöht, 0.10 und nicht 1.0. Bei manchen Programmen ist daher die Nebenversionsnummer zweistellig (Beispiel: 0.09).
Frühe, unvollständige Versionen werden oft durch die Hauptversion 0 angezeigt. Version 1.0 zu veröffentlichen, sagt dann aus, dass das Programm vollständig („feature-complete“) ist.
Marketingaspekte
In größeren Softwareprojekten wird unter Umständen aus Marketingaspekten von der internen, eher technisch motivierten Versionierung abgewichen, was dann zu Versionsnamen führt (z. B. Windows XP vs. Windows NT 5.1), aus denen sich die Versionsfolge nicht mehr ohne weiteres erkennen lässt. Aus Marketinggründen kann es auch zum Überspringen von Versionsnummern kommen, um keine niedrigere Version (welche als „älter“ interpretiert werden kann) als Mitwettbewerber zu haben. Dies war beispielsweise bei Slackware der Fall.
Ergänzungen
Zusätzlich gibt es noch Ergänzungen:
- Alpha – während der Entwicklung der Software, sehr frühes Stadium
- Beta – zum Testen vorgesehen, begrenzter Anwenderkreis
- RC - Veröffentlichungskandidat (release candidate rc), abschließende Testversion
- Release (final) - endgültige Version
- Patch (oder patchlevel pl) - Korrekturlevel
Wikimedia Foundation.