Menü
Developer

LLVM-Community diskutiert über Apache-Lizenz

Wegen schwammiger Patentformulierungen und Problemen durch doppelte Lizenzierung ruft mit Chris Lattner einer der LLVM-Initiatoren zur Diskussion über einen Lizenzwechsel auf.

vorlesen Drucken Kommentare lesen 33 Beiträge
LLVM-Community diskutiert über Apache-Lizenz

Dass Open Source nicht gleich Open Source ist, zeigt sich immer wieder in Lizenzdebatten. Gelegentlich geht es dabei um ideologische Themen, aber oft stehen praktische Probleme im Mittelpunkt. Bestimmte Bedingungen halten Programmierer und Firmen davon ab, sich am Community-Prozess zu beteiligen. Ein offener Brief auf der LLVM-Mailingliste in Form eines RFC (Request for Comments) von Chris Lattner ruft zur Debatte über einen Lizenzwechsel der LLVM-Compiler-Infrastruktur auf. Lattner startete das Projekt an der University of Illinois zusammen mit Vikram Adve. Inzwischen ist es weit mehr als die Low Level Virtual Machine, für die das Akronym ursprünglich stand.

Seit der Veröffentlichung steht das Projekt unter der Open-Source-Lizenz der University of Illinois (UIUC), die der BSD-Lizenz verwandt ist. Sorgen machen Lattner vor allem die Bedingungen bezüglich der Patente. Die Lizenz soll verhindern, dass Beitragende Teile des Codes als ihr geistiges Eigentum vereinnahmen. Die Formulierung dazu sei jedoch zu schwammig formuliert. So haben einige Firmen die Sorge, dass sie durch den Beitrag zu LLVM nicht nur die entsprechenden Patente freigeben, sondern auch geistiges Eigentum, das nicht direkt mit dem Beitrag verbunden sei.

Ein weiteres Problem ergebe sich durch die gemischten Lizenzen bei den Laufzeitbibliotheken, die teilweise unter der MIT-Lizenz stehen. Die UIUC-Lizenz legt fest, dass bei der Weitergabe von Binaries, die mit LLVM verbunden sind, stets die Nutzung gut erkennbar angegeben werden muss. Das sei bei der Verwendung des Compilers sinnvoll, der auch unter der reinen UIUC-Lizenz steht. Bei der Integration von Laufzeitbibliotheken in den Code findet Lattner das aber nicht angebracht. So sieht er keinen Grund, LLVM zu erwähnen, wenn eine App mit Clang erstellt wurde. Die doppelte Lizenzierung führe jedoch zu neuen Problemen: Wenn ein Projekt von LLVM zu dem gemischt lizenzierten compiler_rt wechselt, könnte dabei Code berührt werden, dessen Urheber der MIT-Lizenz nicht zustimmt.

Lattner, der seit 2005 bei Apple angestellt und dort maßgeblich für die Integration der LLVM-Technik verantwortlich ist, schlägt vier mögliche Lösungen vor:

  1. Das LLVM-Team findet eine neue rechtliche Grundlage wie eine komplett neue oder hinsichtlich der Patenten überarbeitete Lizenz.
  2. Wer neuen Code zum Projekt beiträgt, unterzeichnet das Apache CLA (Contributor License Agreement).
  3. Das gesamte LLVM-Projet wird unter die Apache-2.0-Lizenz gestellt – mit einer Ausnahmeregelung für eingebettete Bibliotheken.
  4. Das Team findet eine andere passende Lizenz.

Lattner bevorzugt die dritte Lösung, weil die Apache-Lizenz bekannt und bewährt sei. Er betont aber, dass seine Meinungsäußerung eine Aufforderung zur Diskussion und kein fertiger Vorschlag sei. Er zeigt sich besonders an der Meinung derjenigen interessiert, die aufgrund der aktuellen Bestimmungen nicht zu LLVM beitragen können, und möchte wissen, ob die Apache-Lizenz das Problem lösen könnte.

Derzeit läuft die Debatte im virtuellen Raum über die Mailing-Liste. Die Lizenzfrage soll auch auf dem LLVM-Entwicklertreffen in San Jose am 29. und 30. Oktober thematisiert werden. (rme)