Die Behebung eines Verstoßes gegen die GPL in der mimemagic-Bibliothek führte zu einem Ausfall in Ruby on Rails.

Der Autor der beliebten Ruby-Bibliothek mimemagic, die über 100 Millionen Downloads verzeichnet, sah sich gezwungen, die Lizenz von MIT auf GPLv2 zu ändern, nachdem eine Verletzung der GPLv2-Lizenz im Projekt festgestellt wurde. In RubyGems wurden nur die Versionen 0.3.6 und 0.4.0, die unter GPL bereitgestellt werden, belassen, während alle älteren Versionen unter der MIT-Lizenz entfernt wurden. Darüber hinaus wurde die Entwicklung von mimemagic eingestellt und das Repository auf GitHub in den Archivstatus versetzt.

Diese Maßnahmen führten zu Problemen beim Bauen von Projekten, die mimemagic als Abhängigkeit verwenden und unter Lizenzen veröffentlicht werden, die nicht mit der GPLv2 kompatibel sind. Bei Verwendung der neuen Version von mimemagic sind Entwickler anderer Projekte, einschließlich proprietärer, die eine MIT-Lizenz erlauben, verpflichtet, ihren Code unter GPL zu lizenzieren. Das Problem wurde verschärft, da alte Versionen unter der MIT-Lizenz nicht mehr von RubyGems.org bereitgestellt wurden. Wenn in der Build-Umgebung Server kein Paket-Cache aktiviert ist, wird der Versuch, Projekte mit früheren Versionen von mimemagic zu erstellen, fehlschlagen.

Betroffen ist unter anderem das Ruby on Rails Framework, das mimemagic als Abhängigkeit lädt. Ruby on Rails wird unter der MIT-Lizenz bereitgestellt und darf keine Komponenten unter GPL enthalten. Das Problem hat globale Ausmaße angenommen — während die direkte Änderung 172 Pakete betroffen hat, sind aufgrund der Abhängigkeiten mehr als 577.000 Repositories betroffen.

Der Lizenzverstoß der GPL im Projekt mimemagic hängt mit der Bereitstellung der Datei freedesktop.org.xml im Code zusammen, die eine Kopie der MIME-Typ-Datenbank aus der Bibliothek shared-mime-info ist. Die genannte Datei wird unter der GPLv2-Lizenz verbreitet, während die Bibliothek shared-mime-info unter der ISC-Lizenz, die mit der GPL kompatibel ist, steht. Die Quelltexte von mimemagic wurden unter der MIT-Lizenz bereitgestellt, und die Bereitstellung von Komponenten unter der GPLv2-Lizenz erfordert die Verbreitung des abgeleiteten Produkts unter einer mit der GPLv2 kompatiblen Lizenz. Der verantwortliche Entwickler von shared-mime-info hat darauf hingewiesen, und der Autor von mimemagic hat dem Anforderungen zugestimmt, die Lizenz zu ändern.

Die Lösung wäre die Durchführung der XML-Datei-Analyse zur Laufzeit, ohne die Bereitstellung von freedesktop.org.xml im Bibliothekspaket. Der Begleitmodus von mimemagic hat das Repository des Projekts eingefroren, daher muss diese Arbeit schnellstens von jemand anderem erledigt werden. Möglicherweise ist es erforderlich, einen Fork von mimemagic zu erstellen und die Abhängigkeit in allen betroffenen Projekten zu ersetzen, falls der Autor von mimemagic nicht bereit ist, sein Projekt wieder zum Laufen zu bringen (was er derzeit ablehnt). Ein weiterer Ansatz könnte sein, die auf mimemagic basierenden Projekte auf die Bibliothek libmagic umzustellen.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster