FreeBSD will von Subversion auf Git wechseln

Sagen wir mal so: Es ist nahezu unausweichlich mittelfristig auf git zu wechseln. Ganz einfach weil inzwischen die überwältigende Mehrheit der Opensource-Welt auf git setzt und es auch in der kommerziellen Welt immer mehr durchschlägt, dort zunehmend andere Lösungen verdrängt. Immer mehr Entwickler, vor allem genau die jungen Menschen, von denen ein Opensource-Projekt wie FreeBSD lebt, erwarten die sich daraus ergebenden Workflows und sich gegen diesen Trend zu stellen ist irgendwo zwischen gefährlich bis selbstmörderisch.

Allerdings wird das auch ein Lackmustest dafür, wie wandlungsfähig das FreeBSD Projekt noch ist. Mein subjektiver Eindruck ist, dass es über die letzten Jahre immer konservativer geworden ist, bis hin zu dem Punkt, dass selbst kleinere Änderungen wie beispielsweise das Entfernen vom DRM aus dem Basissystem zu Gunsten von Ports zu Grabenkriegen bis auf das Blut führen. Eine so grundlegende Änderung, die tief in nahezu alle Workflows eingreift, hat da Potential auf nahezu unendlich viel böses Blut.

Nachtrag: Ein gutes Beispiel dafür, wie viel ein git-Workflow ausmacht, ist Vim. Ich bin da so lala aktiv (seit einiger Zeit als Maintainer der deutschen Wörterbücher) und immer wieder erstaunt, wie sehr das kleine, fast eingeschlafene Projekt an Fahrt gewonnen hat, seitdem es zumindest nach außen einen git-Workflow implementiert. Die Anzahl Bugreports und vor allem Beiträge ist in kurzer Zeit geradezu explodiert.
 
Würde ich begrüßen. Anschließend darf man gerne die Port-Verwaltung nach GitLab oder GitHub schieben, um so die externe Mitarbeit am Ports-Tree durch simple Pull-Requests zu vereinfachen.

Man schaue sich dazu als Vergleich mal die Verwaltung bei Flatpak/Flathub an. Nehmen wir an Software Foo bekommt ein Update von 1.8.1 auf 1.8.2. Simpler Fork, Versionsnummer ändern, Pull-Request stellen. Anschließend kommt ein Build-Bot und testet, ob dein PR überhaupt durchkompiliert (in dem Fall für i386, x86_64, arm, arm64). Anschließend kann man das Ergebnis als Test-Package einfach installieren und testen. Läuft alles gut ab, braucht der Maintainer nur noch den Merge machen.
 
Allerdings wird das auch ein Lackmustest dafür, wie wandlungsfähig das FreeBSD Projekt noch ist. Mein subjektiver Eindruck ist, dass es über die letzten Jahre immer konservativer geworden ist, bis hin zu dem Punkt, dass selbst kleinere Änderungen wie beispielsweise das Entfernen vom DRM aus dem Basissystem zu Gunsten von Ports zu Grabenkriegen bis auf das Blut führen. Eine so grundlegende Änderung, die tief in nahezu alle Workflows eingreift, hat da Potential auf nahezu unendlich viel böses Blut.

Das gibt einem zu denken. Bei Debian weiß ich das es ca. 1000 DD gibt. Wie groß ist bei FreeBSD die Entwicklergemeinde? Gibt es hier die Grabenkriege aus Kapa Gründen oder mehr aus ideologischen Gründen? Bei Debian gab es ja damals beim Wechsel zu s.....d (Der, dessen Name nicht genannt werden darf ;) ) auch massive Grabenkriege. Soweit das mind. einer der DD komplett aufgehört hat. Hat der Wechsel zu git bei FreeBSD ein ähnliches Konfliktpotential?

EDIT: Wenn man den Links in dem PDF folgt, dann hat Subversion nochmal extrem Anteile verloren. :eek:
https://www.openhub.net/repositories/compare

EDIT2: Wie war das denn damals als FreeBSD noch auf gcc angewiesen war? War da gcc (auch GPL) im Basesystem?
 
Zuletzt bearbeitet:
Base hat im Moment 220 Committer: https://svnweb.freebsd.org/base/svnadmin/conf/access?view=markup&pathrev=350394 Wobei meinem Eindruck nach die Kämpfe innerhalb der Entwicklergemeinde überschaubar und zivilisiert sind. Es gibt natürlich Dispute um Entscheidungen, unterschiedliche Meinungen und so weiter. Aber keine Grabenkämpfe bis auf das Blut. Meistens finden eher konservative und fortschrittlich geprägte Committer einen Weg in der Mitte.

Ich meinte mehr die Community außen herum. Auch die ist bei weiten nicht so erzkonservativ, wie man auf den Blick meint, aber es gibt eine kleine und sehr Laute Gruppe, die scheinbar schon aus Prinzip jede größere Änderung ablehnt. Es ist zumindest auf den Mailinglisten auffällig, dass in jeder Diskussion immer die gleichen Namen "dagegen" sind.
Nun ist es in meinen Augen so, dass die Frage zwischen Fortschritt und Beibehaltung des Bestehenden bei Software immer eine Gradwanderung ist. Auf der einen Seite möchte man keinen Fortschritt des Fortschritts willens, vor allem nicht in einem per Design eher konservativen System wie FreeBSD. Sonst wären wie nicht FreeBSD sondern Linux oder Windows, was im Moment jedes halbe Jahr größere nutzersichtbare Änderungen einbringt. Aber auf der anderen Seite muss man auch mit der Zeit gehen.
Und mein persönlicher Eindruck ist, dass FreeBSD in den 2000ern eher fortschrittlich eingestellt war, in den 2010ern aber immer konservativer geworden ist, weil man eben dieser kleinen aber lauten Gruppe immer mehr entgegenkommt. Dadurch ist man inzwischen an vielen Stellen zu konservativ. Es ist ja nicht nur svn oder git. Auch die Frage des init-Systems. Oder völlig katastrophale Workflow bei den Ports. Mir würden noch mehr Beispiele einfallen.

Trotzdem danke ich aus dem Bauch heraus, dass eine Migration von svn zu git zwar zu Diskussionen und Gemotze führt, aber doch durchsetzbar ist. Weil viele Entwickler bereits git über git-svn nutzen und weil es die Community letztendlich nur am Rand interessiert. Vor allem, es gibt ja indirekt durch den Github-Mirror schon eine git->svn-Brücke. Wer bei svn bleiben will, findet sicher Wege.

Wie war das denn damals als FreeBSD noch auf gcc angewiesen war? War da gcc (auch GPL) im Basesystem?
Ja. Es sind auch noch eine Reihe GPL-Komponenten im Basissystem. Die Sache mit "GPL raus" ging auch nicht unbedingt radikal dahin, dass man GPL-Software um jeden Preis loswerden wollte. Sondern es war eine politische Entscheidung, die sich durch das Drama mit der GPL3 ergab. Aber das ist ein langes, kompliziertes Thema.

Trotzdem denke ich, dass man git nicht ins Basissystem importieren wird. Damals, als svn kam, musste man sich externe Software aufwändig aus den Ports bauen. Und auch wenn es schon die 2000er waren, hatten noch lange nicht alle Nutzer permanente Internetanbindung mit Flaterate-Tarifen. Heute hingegen tut es ein pkg install git, weshalb ein git im Basissystem verzichtbar ist. Das gilt vor allem, wenn pkgbase doch noch kommen sollte.
 
Ich finde das sehr gut, von mir aus könnten die lieber heute als morgen alles auf github, gitea oder gitlab umstellen. Ich bin ja auch schon eine ganze Weile dabei, aber ich empfinde den gesamten Prozess zu contributen eine wirkliche Zumutung.

Ich verstehe auch nicht genau, warum sich da nichts ändert bis jetzt. Ich meine, es gibt ja technische Fragen die kontrovers sind und es immer bleiben werden (editor VS IDE, emacs VS vim, ...), aber was Versionskontrolle angeht ist der Drops doch gelutscht, oder kennt irgendjemand noch neue Großprojekte die mit SVN gestartet werden?

Und auch Contributor-Modelle (PR, Review...), da gibt es doch einfach 20 Jahre Erfahrung von tausenden Unternehmen und aber-Millionen Menschen auf der Welt, Untersuchungen, Studien, Benutzerzahlen von Github... welche Argumente gibt es denn für das jetzige System außer dem Recht des Früheren?
 
Zurück
Oben