Login
Newsletter
Werbung

Mi, 11. Mai 2016, 13:58

Software::Entwicklung

BitKeeper wird freie Software

Die Firma BitMover hat ihr verteiltes Versionsverwaltungssystem BitKeeper unter die Apache 2.0-Lizenz gestellt. BitKeeper war die Inspiration für Git und Mercurial und nicht nur deshalb ein wichtiger Faktor in der Entwicklung von Linux.

Mirko Lindner

Vor 15 Jahren war ein verteiltes Versionsverwaltungssystem eine Innovation, heute ist es Stand der Technik. BitKeeper war eines der ersten dieser Systeme und von Anfang an unter Linux verfügbar. Es war jedoch proprietär - bis jetzt. Nun hat BitMover das System freigegeben und unter die Apache 2.0-Lizenz gestellt. Als Grund nannte Branchenveteran Larry McVoy, Gründer von BitMover, die übermächtige Konkurrenz durch Git und andere freie Systeme und deren Infrastruktur, beispielsweise Github und GitLab. Wie McVoy unter dem Namen »luckydude« freimütig zugibt, ist es mittlerweile einfach zu schwer, mit Git zu konkurrieren. Immerhin konnte er in den letzten 18 Jahren genug Einkommen generieren, um eine Firma mit 10 bis 15 Entwicklern zu betreiben. Mit der kommerziellen Version von BitKeeper will er die Geschäfte wie bisher weiterführen. Ob die Verfügbarkeit einer freien Gemeinschaftsversion diese Geschäfte fördert oder behindert, bleibt abzuwarten - laut McVoy hat BitMover Reserven für zwei Jahre, um zu sehen, wie es weitergeht. Für McVoy war die Freigabe von BitKeeper eine bessere Option, als es zu verkaufen.

So steht BitKeeper nun in der Gemeinschaftsversion 7.2 jedem frei zur Verfügung. Es will allerdings nicht die Alternative zu Git für jedwede Verwendung sein, obwohl es für McVoy einfacher und intuitiver zu benutzen ist als Git. Es soll seine Vorteile vor allem in Nischen ausspielen, in denen Git weniger gut funktioniert. So soll es eine hohe Leistung auch bei sehr großen Projekten besitzen, die noch größer sind als der Linux-Kernel. Besonders soll es bei Binärdateien, NFS-Dateisystemen und über langsame Anschlüsse angebundenen Teams glänzen. Es ermöglicht, Zugriffsrechte für Teilmengen eines Repositoriums zu definieren. Es sammelt viele Benutzungsdaten für Statistiken und Audits und sichert sämtliche Daten durch Prüfsummen ab.

Für viele Mitglieder der Open-Source-Gemeinschaft kommt die Öffnung von BitKeeper viel zu spät, mindestens elf Jahre. Andere sehen durchaus Chancen für die Software. Es stellt eine besondere Ironie dar, dass BitKeeper jetzt wegen der Erfolgs eines Programms geöffnet wurde, das damals nur wegen des Verhaltens von McVoy entstand. Somit läutete McVoy selbst den Niedergang seiner Software, zumindest in der freien Software-Welt, ein. Damit ist es nun Zeit für einen kleinen Rückblick.

Als Linux Ende der 1990er und Anfang der 2000er rasant wuchs, wurde ein begrenzender Faktor deutlich: Linux-Initiator Linus Torvalds selbst, der nun voll damit ausgelastet war, die stetig steigenden Beiträge der anderen Entwickler in den Kernel zu integrieren und die oft auftretenden Konflikte der Änderungen zu bereinigen. Die von Torvalds ausgegebene Direktive an die Entwickler lautete, ihre Patches erneut zu senden, wenn sie nach einigen Tagen keine Rückmeldung erhalten hatten. Denn in diesem Fall hatte Torvalds den Patch nicht anwenden können und ihn daher gelöscht. Torvalds weigerte sich damals, ein Versionsverwaltungssystem wie SVN oder das ältere CVS einzusetzen, da er argumentierte, diese Systeme würden seine Arbeitsweise eher behindern als unterstützen. Zweifellos hatte er zuvor einige Tests mit diesen Systemen durchgeführt.

Anfang 2002 trat der Branchenveteran Larry McVoy mit BitKeeper auf den Plan und bot den Kernel-Entwicklern Unterstützung an. Das System sollte den Entwicklern kostenlos zur Verfügung stehen, einschließlich Server-Kapazitäten für die Repositorien. Torvalds testete BitKeeper, konstatierte eine massive Steigerung seiner Produktivität und begann, es mit Linux 2.5.4, einer Testversion auf dem noch weiten Weg zu Linux 2.6, produktiv zu nutzen.

Die Entscheidung für ein proprietäres Werkzeug war in der Gemeinschaft umstritten, Richard Stallman bezeichnete den Kernel gar als unfrei. Einige Entwickler begannen, ebenfalls BitKeeper zu nutzen, was den Austausch mit Torvalds beschleunigte, andere blieben bei Patches. Klar ist, dass der Einsatz von BitKeeper geradezu zu einer Explosion der Produktivität in der Kernel-Entwicklung führte. Freie Alternativen wurden zuvor durchaus erwogen und getestet, von Torvalds aber wegen Performance-Problemen verworfen.

Drei Jahre lang blieb BitKeeper im Einsatz, trotz weiter schwelender Kontroversen. Erste freie Alternativen wie Monotone oder Bazaar entstanden, konnten aber nicht mit der Geschwindigkeit von BitKeeper konkurrieren. Die Kontroversen gipfelten in einen Versuch von Samba-Chefentwickler Andrew Tridgell, einen freien Client für BitKeeper zu entwickeln. McVoy reagierte mit der Einstellung der kostenlosen BitKeeper-Version. Er war allerdings bereit, die wichtigsten Kernel-Entwickler mit einer kostenlosen Lizenz der Unternehmensversion auszustatten. Viele andere Entwickler wären jedoch außen vor geblieben.

Nun sah sich auch Linus Torvalds veranlasst, eine freie Alternative zu BitKeeper zu finden, die seine Produktivität aufrechterhalten konnte. Monotone verfehlte ganz knapp den großen Wurf, da Torvalds kurz vor der Veröffentlichung der stark verbesserten Version 0.18 begonnen hatte, ein eigenes System zu schreiben. Schon nach wenigen Tagen im stillen Kämmerlein stellte er die erste Version von Git vor, die so gut ankam, dass sie wenig später die Produktionsreife erreichte und in den nächsten Jahren einen weltweiten Siegeszug antrat.

Mercurial von Matt Mackall war ein weiteres Programm, das unmittelbar als Konsequenz aus den BitKeeper-Problemen begonnen wurde und nur wenige Tage nach Git vorgestellt wurde. Eine Anekdote besagt, dass Mercurial wegen seiner Bedeutung »lebhaft, launenhaft« nach McVoy benannt wurde. Ob dasselbe auch für Git (»Depp«) gilt, hielt Mackall nicht für sicher.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung