Login
Newsletter
Werbung

Mo, 30. August 2010, 13:25

Software::Entwicklung

Glibc: Lizenz von Sun RPC geändert

Über zwanzig Jahre nach der initialen Vorstellung der glibc ist mit einer Relizenzierung von Sun RPC wohl auch die letzte problematische Stelle in der Standardbibliothek beseitigt worden. Beobachter sprechen nun von einer »vollkommen freien« glibc.

Die GNU C-Bibliothek (glibc) ist eine der wichtigsten Komponenten von Linux und diversen anderen Systemen. Sie wird in von fast allen C-Programmen benutzt und stellt die essentiellen Schnittstellen vieler Applikationen dar. Programme, die nicht in C oder C++ geschrieben sind, verwenden sie oft indirekt über ihre Laufzeitbibliothek. Die Bibliothek selbst steht unter der LGPL, was ihren Einsatz auch mit unfreier Software ermöglicht. Im Zuge eines Audits stellte sich allerdings heraus, dass sie selbst Codestellen enthält, die zur LGPL inkompatibel sind.

Konkret handelt es sich bei den Stellen um Sun RPC. Suns RPC (Remote Procedure Call) bildet die Basis vieler Unix-Dienste und wird unter anderem von NFS (Network File System) verwendet. Die Freigabe von Sun RPC datiert auf Mitte der 80er Jahre – einer Zeit, in der weder die GPL noch Linux existierten. Die GPL selbst wurde 1989 von Richard Stallman vorgestellt. Linux erblickte erst zwei Jahre später das Licht der Welt.

Im Laufe der Zeit etablierte sich Sun RPC zu einem Standard unter Unix. Die ursprüngliche RFC 707 wandelte ihr Gesicht und mündete schlussendlich in RFC 1057. Das Problem der unklaren Rechtslage blieb allerdings bestehen und belastet nicht nur die glibc, sondern auch zahlreiche weitere Dienste und Betriebssysteme. Denn die Lizenz von Sun RPC limitiert nicht direkt den Einsatz, aber durchaus den Vertrieb. Während beispielsweise die GPL uneingeschränkt vertrieben werden kann, sofern den Bedingungen entsprochen wird, reglementiert die Lizenz von Sun RPC, dass das System nicht eigenständig, sondern nur im Verbund mit anderen Systemen vertrieben werden kann. Damit ist die Lizenz von Sun RPC nicht kompatibel mit der (L)GPL.

Bereits 2002 fiel Debian-Entwicklern diese unklare Rechtslage auf. In einem Fehler unter dem Namen »glibc: contains non-free docs and perhaps non-free code« (#181493) erkannte Brian M. Carlson die Problematik von Sun RPC. Drei Jahre später nahmen sich auch die Fedora-Entwickler des Themas an. Es sollten allerdings noch fünf weitere Jahre vergehen, bis das Problem endgültig gelöst werden konnte.

Um dem Dilemma zu entkommen, gab es faktisch nur drei Möglichkeiten. Neben der Entfernung von Sun RPC, was unter anderem dem Verzicht auf NFS gleichkommen würde, gab es ebenfalls Überlegungen, Sun RPC vollständig neu zu schreiben. Das Problem stellte allerdings die Implementierung selbst dar, die sich im Laufe der Zeit zum Standard etablierte. Ein Einsatz einer Alternative würde extreme Probleme nach sich ziehen. So entschieden sich die Entwickler für eine dritte Möglichkeit und fragten bei Sun um eine Relizenzierung von Sun RPC nach.

Anfang 2009 berichtete der frühere Open-Source-Vorstand bei Sun, Simon Phipps, über eine bevorstehende Änderung der Lizenz von Sun RPC. Außer der Ankündigung tat sich allerdings wenig. Parallel dazu stellte auch Red Hat Bemühungen an, dass Sun Dateien, die Sun RPC einsetzten, unter eine neue Lizenz stellt. Dazu hatten die Entwickler in OpenSolaris ähnliche Konstrukte gesucht und Sun um eine direkte Änderung gebeten. Im März 2009 war es schlussendlich so weit und Red Hat erhielt von Sun die Genehmigung, alle betroffenen Stellen in rpcbind 0.1.6, nfs-utils-lib 1.1.3, nfs-utils 1.1.3, libtirpc-0.1.9 und portablexdr 4.0.11 unter eine neue Lizenz zu stellen.

Erst später stellte sich allerdings heraus, dass die Änderung nicht alle fraglichen Stellen betraf. Unter anderem blieb immer noch die Problematik der glibc bestehen. Zwar versuchte Red Hat mit einer neuen Anfrage, auch die Zustimmung für die fehlenden Stellen zu erhalten, doch bedingt durch die Übernahme von Sun durch Oracle blieben die Anfragen unbeantwortet.

Einen neuen Schwung erhielt die Lizenzänderung von Sun RPC in diesem Monat. Am 19. August meldete sich der Oracle-Justitiar Wim Coekaerts bei Red Hat und gab dem Unternehmen auch die Erlaubnis, die restlichen Stellen unter eine neue Lizenz zu stellen. Als geeignet erachtete Oracle die BSD-Lizenz, die nun für die fraglichen Implementierungen gilt. Einen Tag später änderte der Betreuer der glibc auch die fraglichen Stellen in der Bibliothek. Damit dürfte 20 Jahre nach ihrer Entstehung auch die letzte fragliche Stelle der Standardbibliothek eliminiert worden sein.

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