AA_ferdi.jpg

© Computec Media

Gastkommentar: Canoncials Winkelzüge mit ZFS

Abwege

Canonical integriert das moderne Dateisystem ZFS direkt in den Kernel – ein klarer Verstoß gegen die von Oracle gewählte Lizenz sowie die GPL des Linux-Kernels. Ferdinand Thommes fasst die Situation in einem Gastkommentar zusammen.

Canonical ist dafür bekannt, eigene Wege zu gehen, sich bei seinen Alleingängen ab und zu zu verzetteln und auch einmal zu scheitern. Das ließe sich noch unter "wer nicht wagt, der nicht gewinnt" verbuchen. Warum Mark Shuttleworth sich allerdings in eine Reihe mit Lizenzbrechern wie dem chinesischen Halbleiterhersteller Allwinner stellt und ohne Not nach landläufiger Meinung die GPL verletzt, kann bisher niemand so recht erklären. Möglicherweise regiert da das Prinzip Hoffnung: Wo kein Kläger, auch kein Richter sei. Ein gewagtes Spiel, wie ich finde.

Wie kam es dazu? Im Oktober letzten Jahres verkündete Mark Shuttleworth eher beiläufig auf der Mailingliste für Ubuntu "Snappy", dass Ubuntu direkte Unterstützung für das von Sun entwickelte und nun zu Oracle gehörende Dateisystem ZFS [1] als Standard anbieten wolle. Im Februar konkretisierte er diese Aussage: Ubuntu 16.04 werde ZFS als Kernel-Modul enthalten. Die von ZFS verwendete Lizenz CDDL [2] verhindert allerdings, dass ZFS als Bestandteil des Kernels ausgeliefert werden darf. Canonicals Vorhaben riecht also nach einer Verletzung zumindest der GPLv2 (der der Kernel unterliegt) und Oracles CDDL-Lizenz.

Canonical ließ seinen technischen Strategen Dustin Kirkland abwiegeln. Der erklärte in seinem Blog [3], man habe mit führenden Experten auf dem Gebiet gesprochen sowie die rechtliche Lage anwaltlich prüfen lassen. Die Juristen seien der Meinung, man bewege sich mit der Auslieferung eines Kernel-Moduls für ZFS rechtlich auf der sicheren Seite und erfülle die Anforderungen beider Lizenzen: Das ZFS-Kernel-Modul sei nach Ansicht der beauftragten Anwälte kein abgeleitetes Werk. Hier liegt des Pudels Kern, auf den ich gleich noch eingehen möchte.

In Kirklands Blog fällt die Klassifizierung der Parteien auf, die sich pro und contra Canonicals Vorgehen aussprechen. Bei denen, die das Vorgehen für zulässig erachten, spricht er von "Überzeugungen", bei den Gegnern lediglich von "Meinungen". Abschließend macht Kirkland klar, dass eine weitere Diskussion nicht erwünscht ist, da die Entscheidung bereits gefallen sei. Diese sei gut für Ubuntu, für Linux und generell für freie Software. Hier darf man getrost eine andere Position einnehmen.

Kirklands Ankündigung erzeugte einige Unruhe in der Linux-Szene und mobilisierte sowohl GPL-Verfechter als auch Rechtsexperten, die seit Jahren vorherrschende Überzeugung erneut zu prüfen, ZFS könne nicht zusammen mit dem Kernel ausgeliefert werden. Des Pudels Kern dabei stellt wieder einmal der Begriff "abgeleitetes Werk" dar.

Interessanterweise handelt es sich bei den offenbar inkompatiblen Lizenzen GPL und CDDL in beiden Fällen um Copyleft-Lizenzen, die sich noch nicht einmal sehr stark voneinander unterscheiden. Doch laut der Free Software Foundation ist die CDDL im Rahmen eines abgeleiteten Werkes nicht kompatibel mit der GPLv2. Experten auf diesem Gebiet, wie Bradley M. Kuhn und Karen Sandler von der Software Freedom Conservancy (SFC), die GPL-Verletzungen verfolgen, sind der Ansicht [4], hier liege eine klare Verletzung der GPLv2 vor.

Die Begründung lautet, dass das ZFS-Kernelmodul zfs.ko ein abgeleitetes Werk sei – egal, ob statisch oder dynamisch verlinkt. Es ruft Kernel-Funktionen auf und bindet diese indirekt auch ein. Somit müsse das Modul unter der GPLv2 stehen, was aber wegen der Inkompatibilität der Lizenzen nicht geht. Das Software Freedom Law Center (SFLC) kommt in einem ausführlichen Whitepaper [5] zum selben Schluss wie das SFC. Eine gerichtliche Klärung der Situation steht bislang weltweit aus.

Wir befinden uns bei der Kompatibilität von Lizenzen somit in einem juristischen Sumpf, den kaum ein Richter gern betritt. Aber warum begibt sich Canonical – ohne Not, wie wir gleich sehen – in diese Grauzone? Warum manövriert man sich in eine Situation, in der man Gefahr läuft, die Rechte zahlreicher Parteien zu verletzen: der FSF als Autor und Hüter der GPL, die Rechte der Urheber des Linux-Kernels, die im GPL Compliance Project For Linux Developers zusammengeschlossen sind, sowie nicht zuletzt die Rechte von Oracle?

Mir fällt nur ein legitimer Grund für dieses Verhalten ein: Canonical möchte für die Linux-Community den unsinnigen und schon ewig währenden Streit provokativ einer rechtlichen Klärung zuführen und sieht gute Chancen für einen Erfolg. Wäre dies allerdings der Fall, so hätte uns Canonicals stets übereifrige Marketing-Maschinerie das so um die Ohren geblasen, dass diese noch jetzt klingeln würden.

Was bleibt also übrig? Meine These lautet: Mark Shuttleworth ist auf den Hund gekommen. Warum pinkelt der Hund an den Baum? Weil er es kann! Das entspricht weitestgehend dem üblichen Verhalten von Canonical bei Alleingängen. Und wo ich gerade beim Austeilen bin: Oracle verdient sich in Sachen ZFS auch nicht gerade Lorbeeren. Wäre der Konzern den bereits oft wiederholten Anfragen der FSF und anderen Organisationen nachgekommen, ZFS unter die GPLv2 zu stellen, könnte das Dateisystem bereits seit Jahren ohne rechtliche Bedenken Linux bereichern.

Es ist völlig verständlich, dass sich Canonical für seine Anwender (vor allem auf Servern) eine native Integration der eierlegenden Wollmilchsau ZFS wünscht. Dass man dabei aber mit der Brechstange vorgeht, weckt nur wenig Verständnis und geschieht zudem, wie bereits angedeutet, völlig ohne Not. Canonical hätte sich den Debian-Entwicklern anschließen können: Die wählten einen zwar langwierigeren, aber dafür nicht mit rechtlichen Unwägbarkeiten gepflasterten Weg der Integration.

Debian begann 2012 [6] damit, eine native Portierung von ZFS für den Linux-Kernel vorzubereiten, die die rechtlichen Probleme umschiffen sollte und den Debian Free Software Guidelines (DFSG) [7] entsprach. Bereits 2013 legten sie den Debian-FTP-Mastern ein erstes Paket vor, das diese jedoch nach fast einem Jahr intensiver Prüfung ablehnten. Dem Debian-Projektleiter (DPL) wurde nahegelegt, eine juristische Klärung der Lage herbeizuführen. Die damit beauftragte SFLC kam in dem bereits oben erwähnten Whitepaper zu dem Schluss, der von Debian eingeschlagene Weg in Form der Trennung von Quellpaket und zusätzlichen Binärpaketen sei geeignet, in Debian integriert zu werden. So meldete dann im Mai 2016 Entwickler Petter Reinholdtsen Vollzug: ZFS war nativ in Debian angekommen [8].

Als Einschränkung geht die SFLC dabei im Streitfall von der wie üblicherweise gehandhabten nicht wörtlichen, sondern nach der Intention ausgerichteten Auslegung der GPL aus. Das daraufhin dem FTP-Team erneut vorgelegte Paket bestand die Prüfung in wenigen Monaten und steht seit Mai im "Contrib"-Zweig von Debian "Unstable" bereit. Debian trennt ZFS in das Quellpaket zfs-linux und das Binärpaket zfs-dkms auf. Letzteres nutzt das Quellpaket, um zur Laufzeit ein Kernelmodul für ZFS zu erstellen. In dem Fall fungiert quasi der Anwender als Ersteller des Kernel-Moduls, was rechtlich nicht zu beanstanden ist, da er das Modul nicht vertreibt. Das zusätzlich benötigte Binärpaket zfs-utils besitzt keinerlei Abhängigkeiten zu Paketen, die mit der CDDL unvereinbar wären. Somit lassen sich die rechtlichen Hürden bestmöglich umschiffen.

Es kann kein Zweifel daran bestehen, dass Canonical von den Anstrengungen Debians informiert war, denn beide Parteien diskutierten mögliche Lösungen zeitgleich mit den beratenden Organisationen. Auch war zum Zeitpunkt der Konsultationen im Frühjahr bereits klar, dass eine praktikable Lösung für Debian greifbar nahe war. Warum also nicht die Lösung von Debian übernehmen? Darauf gibt es keine Antwort – lediglich Canonical Hang zu Alleingängen weist die Richtung.

Bisher hat keine Partei geklagt; ob ein Rechtsstreit in Vorbereitung ist, wissen wir nicht. Genauso wenig wissen wir, ob Canonical irgendwelche Absicherungen traf. Wenn ja, betreffen diese sowieso bestenfalls Oracle, mit dem Canonical in Sachen Cloud-Computing zusammenarbeitet. Die FSF und die Vertreter der Rechte der Kernel-Entwickler haben kein Interesse, ihre Position durch eine Ausnahmeregelung zu schwächen.

Bleibt abschließend der Vorwurf an die Adresse von Canonical: Lieber Mark Shuttleworth, das war völlig unnötig. Bei Debian gibt es eine intelligente und ohne Brechstange gelöste Implementation von ZFS, die Du ohne Eigenleistung hättest übernehmen können. Das magst Du doch sonst auch … 

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 2 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Huawei
Pit Hampelmann, 13.12.2017 11:35, 1 Antworten
Welches Smartphone ist für euch momentan das beste? Sehe ja die Huawei gerade ganz weit vorne. Bi...
Fernstudium Informatik
Joe Cole, 12.12.2017 10:36, 2 Antworten
Hallo! habe früher als ich 13 Jahre angefangen mit HTML und später Java zu programmieren. Weit...
Installation Linux mint auf stick
Reiner Schulz, 10.12.2017 17:34, 3 Antworten
Hallo, ich hab ein ISO-image mit Linux Mint auf einem Stick untergebracht Jetzt kann ich auch...
Canon Maxify 2750 oder ähnlicher Drucker
Hannes Richert, 05.12.2017 20:14, 4 Antworten
Hallo, leider hat Canon mich weiterverwiesen, weil sie Linux nicht supporten.. deshalb hier die...
Ubuntu Server
Steffen Seidler, 05.12.2017 12:10, 1 Antworten
Hallo! Hat jemand eine gute Anleitung für mich, wie ich Ubuntu Server einrichte? Habe bisher...