Ruby on Rails: Durch Lizenzproblem entfallene Library erzeugt Dominoeffekt
Eine halbe Million Open-Source-Projekte sind wohl von dem Chaos betroffen, das durch eine erst falsch lizenzierte, dann zurĂĽckgezogene Library entstanden ist.
- Silke Hahn
Mitte dieser Woche hatte Bastien Nocera, der Maintainer einer quelloffenen Software-Library namens shared-mime-info
den Maintainer der Ruby-Library mimemagic
darĂĽber in Kenntnis gesetzt, dass mimemagic
die falsche Lizenz verwendet. Noceras Library ist unter der Lizenz GPLv2 eingetragen (GNU General Public Licencse in der zweiten Version), und Projekte, die auf ihr aufsetzen, müssten dieselbe Lizenz nutzen. Die Ruby-Library war jedoch mit der MIT-Lizenz eingetragen (Open-Source-Lizenz des Massachusetts Institute of Technology). Die Entdeckung wäre vielleicht eine Randnotiz gewesen, doch das Lizenzproblem hat eine Kettenreaktion ausgelöst, die mittlerweile rund 500.000 Open-Source-Projekte betrifft.
Dominoeffekt durch Lizenzänderung
Daniel Mendler, der Maintainer der betroffenen Ruby-Library, änderte umgehend bei der aktuellsten Version 0.4.0 und bei Version 0.3.6 die Lizenz von MIT zur korrekten Lizenz GPLv2. Ältere Versionen zog er bei der von Ruby-Entwicklern verwendeten Paket-Registry RubyGems.org aus dem Verkehr. Das GitHub-Repository von mimemagic
versetzte Mendler in den Archivzustand, was faktisch bedeuten wĂĽrde, dass die aktive Weiterentwicklung eingestellt ist.
Eine halbe Million GitHub-Repositories potentiell betroffen
Das unter Ruby-Entwicklern weit verbreitete Framework Ruby on Rails fuĂźt auf mimemagic
0.3.5. Durch den Ausfall dieser Library-Version erlitt das Framework eine Disruption seiner Abhängigkeitsketten, über 170 andere Pakete sollen ebenfalls davon betroffen sein. Dem IT-Portal The Register zufolge sollen rund 580.000 GitHub-Repositories ausgehend von Ruby on Rails ihre Software mit der nun obsolet gewordenen Lizenzierung versehen haben.
Lesen Sie auch
Webframework: Rails in Version 6.1 erschienen
Betroffene Projekte begannen zu prĂĽfen, ob die Verwendung von GPLv2-lizenziertem Code in ihren Programmen infrage kommt oder ob sie zu den beiden weiterhin legal verfĂĽgbaren mimemagic
-Versionen 0.3.6 beziehungsweise 0.4.0 wechseln können. Parallel arbeitet das Rails-Team an Möglichkeiten, die entfallene Library durch eine Alternative zu ersetzen. Die betroffenen Projekte hängen unterdessen jedoch in der Luft.
UnĂĽbersichtliche Lage bei mimemagic
Am gestrigen Donnerstag ist eine Version 0.4.1 von mimemagic
erschienen, die den von dem GPL-Problem betroffenen Code entfernt hat und erneut unter der MIT-Lizenz läuft. Versionen 0.3.6 und 4.0 hat der Maintainer nun zurückgezogen. Für viele Entwicklerinnen und Entwickler sowie Projekt-Maintainer ist die Lage also weiterhin unübersichtlich, und das Problem der Abhängigkeit von einer nicht länger verfügbaren Library bleibt für zahlreiche Projekte zunächst bestehen.
Der aktuelle Stand der Entwicklung beim Rails-Projekt lassen sich dem Issue-Bereich des Rails-Repositorys bei GitHub entnehmen (Issue #41757). Interessierte können weitere Hinweise einem Interview mit einem Experten für Open-Source-Lizenzierung entnehmen, das The Register geführt hat.
Ăśber die Lizenzen: Open versus Closed Source
Die GNU General Public License (GPL) ist eine verbreitete Softwarelizenz, die weitgehende Freiheitsrechte erlaubt: Entwickler können quelloffene Software dieser Lizenzierung ausführen, untersuchen, ändern und weiterverbreiten. Haben die Ersteller eines Programms ihren Code zusätzlich zur GPL mit dem sogenannten Copyleft versehen, sind von dieser Software abgeleitete Programme in der Pflicht, dieselben Rechte beizubehalten und ebenfalls die GPL anzunehmen sowie weiterzuvererben. Das betrifft die Änderung, Erweiterung und auch teilweise Wiederverwendung von GPL-lizenzierter Software, wie es im Falle der Library shared-mime-info
der Fall gewesen wäre. Die erste GNU General Public Licence hatte Richard Stallman von der Free Software Foundation (FSF) Anfang der 1980er Jahre für das GNU-Projekt entworfen.
Zurzeit ist die dritte Version von 2007 die aktuellste (GNU GPLv3), und die FSF empfiehlt ihren Einsatz. GPL gilt als die erste Copyleft-Lizenz für allgemeinen Gebrauch: Änderungen und Ableitungen von GPL-lizenzierten Werken dürfen somit nur unter identischen Lizenzbedingungen verbreitet werden. Dadurch soll zum Beispiel sichergestellt sein, dass die Nutzer Freier Software den Quellcode nicht in einem geschlossenen System für kommerzielle Zwecke einsetzen können, sondern auch Ableitungen weiterhin frei zugänglich halten müssen.
Lesen Sie auch
Chancen und Risiken: Copyleft in der Softwareentwicklung
Etwas anders verhält es sich mit der 1988 zum ersten Mal veröffentlichten MIT-Lizenz des Massachusetts Institute of Technology: Sie erlaubt die Wiederverwendung für Open Source, aber auch für Closed Source (also Projekte, bei denen der Quelltext nicht mehr frei einsehbar ist). Die Lizenz selbst steht nicht unter einem Copyright, kann also im Einzelfall durchaus modifiziert werden. Die Kryptowährung Bitcoin zum Beispiel steht unter der MIT-Lizenz. Die GNU-GPL-Lizenzierung untersagt die Weiterverwendung in Closed-Source-Projekten für proprietären Code, während ein MIT-lizenziertes Projekt diese Einschränkung nicht vornimmt. Das Framework Ruby on Rails hätte aufgrund der Verwendung von GPL-lizenzierter Software (der Library shared-mime-info
) ebenfalls GPL als Lizenz ausweisen mĂĽssen. Der Irrtum und die daran anknĂĽpfenden problematisch gewordenen Lizenzvergaben stellten zahlreiche abgeleitete Projekte zwischenzeitlich vor ein juristisches Dilemma.
[Update-Hinweis vom 28.03.2021: Absatz zu den Lizenzen und Informationen zu Copyleft ergänzt.]
(sih)