Menü
Developer

Java: Neue Versionsverwaltung gesucht

Nach zehn Jahren Mercurial will das Team im Rahmen Java-12-Entwicklung einen Blick auf alternative Systeme werfen.

Von
vorlesen Drucken Kommentare lesen 61 Beiträge
Java: Neue Versionsverwaltung gesucht

Das Java-Entwicklerteam erwägt die Umstellung der Versionsverwaltung für das JDK. Joe Darcy von Oracle hat dazu in einer Mail auf der Open-JDK-Liste zunächst zur Diskussion aufgerufen. Unter dem Projektnamen Skara soll die Community nach Alternativen zum bisherigen Source-Code-Management-System (SCM) schauen. Seit Februar 2008 verwaltet das Team die JDK-Releases mit Mercurial auf der OpenJDK-Projekt-Seite.

Allerdings läuft der Code-Review-Prozess bei Java mit Mercurial anscheinend nicht unbedingt optimal. Darcy schreibt, dass seit 2008 zahlreiche Open-Source-Projekte effizientere Versionsverwaltungssysteme und Review-Tools einsetzen. Die Testphase soll zwar ergebnisoffen ablaufen, aber Darcy spricht konkret auch davon, Optionen mit Git zu prüfen und passende Hosting-Dienste zu evaluieren. Projekt Skara soll zur Entwicklung von JDK 12 unterschiedliche Anbieter testen.

Optimierungsbedarf an mehreren Stellen

Darcy nennt in seiner Mail einige Kriterien für die Auswahl einer neuen Versionsverwaltung. Freilich spielt die Performance eine große Rolle. Dazu gehören sowohl die Zeit für das Klonen des Master-Repositorys als auch die Performance für die lokale Verarbeitung. Die effiziente Ausnutzung des Speicherplatzes ist ein weiterer Punkt, zumal das JDK kein kleines Projekt ist. Außerdem sollte das System in der Lage sein, neben dem aktuellen JDK auch die komplette Historie zu speichern. Dabei gilt jetzt schon der Blick nach vorne, sodass auch in zehn Jahren keine Engpässe entstehen.

Da die Community weltweit verteilt ist und unterschiedliche Betriebssysteme einsetzt, muss das System in allen geographischen Regionen gut nutzbar sein und sich unter anderem mit Linux, macOS und Windows nutzen lassen. Bisherige Code-Review-Praktiken soll die Community auch mit der neuen Versionsverwaltung einsetzen können. Schließlich sind APIs für die Automatisierung der Vorgänge wichtig.

Vom Prototyp zur Serie

Die Entwicklung auf anderen SCM-Systemen und Plattformen soll bei Skarta zunächst prototypisch verlaufen. Sollte eine Variante signifikante Verbesserungen bringen, wird das Projekt ein JDK Enhancement Proposal (JEP) zum Umstieg der Versionsverwaltung auf den Weg bringen. Zum Abschluss stellt Darcy noch klar, dass eine Änderung des Bugtracking-Systems nicht zu den Aufgaben von Projekt Skara gehört und auch nicht zur Diskussion steht.

Die Versionsverwaltung ist ein zentraler, wichtiger Bestandteil bei der Entwicklung von Software. Die Umstellung auf ein anderes System ist umständlich und je nach Projektgröße langwierig. Das sicherlich prominenteste Beispiel der jüngeren Zeit ist, dass Microsoft vor einem Jahr ankündigte, bei der Windows-Entwicklung von hausinternen Systemen auf Git umzusteigen. Der Prozess zog sich insgesamt über sechs Monate, und das Repo hat laut Microsoft eine Größe von 300 GByte. (rme)