Muckturnier

News

Neues Versionierungsschema und Version 3.0

Die Versionierung von Muckturnier bedarf einer Überarbeitung. Ein durchdachtes und auch oft benutztes System zur Versionierung ist das Semantic Versioning. An das wird die Versionierung von Muckturnier ab dem nächsten Release angelehnt (nicht ganz so, wie es da steht, aber prinzipiell).

Die Sache ist eigentlich ganz einfach: Der erste Teil der Versionsnummer („Major“) wird hochgezählt, wenn es grundlegende Änderungen gibt. Der zweite Teil („Minor“) bei Funktionserweiterungen bzw- änderungen, und der dritte („Patch“) bei Bugfixes und ansonsten unverändertem Funktionsumfang.

Schluss mit „Null Punkt“

Seit fast sieben Jahren hat das Muckturnier-Programm jetzt die Versionsnummer „0.“, obwohl es einige grundlegende Änderungen gab, und das Programm seit Jahren produktiv eingesetzt wird.

Laut dem „Semantic Versioning“ ist Version Null für die initiale Entwicklungsphase gedacht. Sobald ein Programm produktiv eingesetzt wird, sollte es als Version 1.0 (oder wie die coolen Kids heutzutage sagen: „1.0.0“) vorliegen. Das hätte also schon längst passieren sollen, denn abgesehen vom Produktiveinsatz mag man es vermutlich mittlerweile durchaus als „stabil“ bezeichnen.
Wenn das nächste Release noch die neue Netzwerkfunktionaliät mitbringt (Anmeldung der Spieler an beliebig vielen Rechnern gleichzeitig und Vergleich von Ranglisten übers Netzwerk, bereits zu bestaunen in git master), kann man denke ich auch langsam von „Feature Completeness“ sprechen.

Die Null muss also weg. Da es aber zum einen da draußen durchaus Entwickler gibt, die mit dem Brustton der Überzeugung ihren ersten einigermaßen lauffähigen Brocken Code mit dem Titel „1.0“ ins Internet schmeißen und zum anderen schon sehr, sehr viel Entwicklungsarbeit in das Muckturnier-Programm eingeflossen ist, denke ich, dass „Version 1.0“ für das nächste Release nicht unbebdingt angemessen wäre.

Lassen wir einfach zwei Versionsnummern aus

Es gab seit Version 0.1 zwei fundamentale Codebasis-Änderungen: Die ersten Versionen waren in PHP, JavaScript und HTML programmiert und wurden mittels eines HTTP-Servers und Webbrowsers angezeigt. Dann gab es ein komplettes Rewrite nach Python und PyQt, und schließlich ein weiteres Rewrite für die jetzt aktuelle C++/Qt-Version.

Hätte ich damals (dem „Semantic Versioning“ folgend) eine „für den Produktiveinsatz bereite“ Version 1.0 getaggt, dann wären wir jetzt folgerichtig bei Version 3.0, oder – wenn man den Sprung von Qt 4 zu Qt 5 während der Python-Phase mitzählt – sogar schon bei Version 4.0. Aber man muss es ja nicht übertreiben.

Um dem Muckturnier-Programm nicht den „ungetestete, neue Software“-Anstrich der Version 1.0 zu verpassen, und der tatsächlichen Entwicklungshistorie Rechnung zu tragen, wird auf die Version 0.7.7 von Muckturnier jetzt einfach Version 3.0 folgen, und ab dann wird die Versionsnummer vernünftig hochgezählt.

Nur für den Fall, dass sich einer wundert, wo die Versionen 1.0 und 2.0 abgeblieben sind ;-)