2009-12-30 19 views
50

Ich habe ein ziemlich gutes Verständnis der einzelnen OSS-Lizenzen, aber ich habe immer Probleme, wenn ich Code unter verschiedenen Lizenzen verwenden möchte. BSD vs Ms-PL, Apache 2 vs. GPLv3 etc.Gibt es eine Tabelle, mit welcher OSS-Lizenz kompatibel ist?

Gibt es eine Art "Paarungstabelle", die auflistet, welche Lizenzen mit welchen kompatibel sind?

+0

[Hier ist eine Website] (https://www.tldrlegal.com/), die verwandte Funktionalität hat. – Abbafei

+6

Abgesehen von der Tatsache, dass dies eine nützliche Frage/Antwort (im Gegensatz zu vielen in SO) ist und somit 4 Jahre nach der Anfrage nicht abgeschlossen sein sollte !!!! kann es zumindest auf http://opensource.stackexchange.com/ migriert werden. – dashesy

Antwort

43

Die Free Software Foundation unterhält eine list of licenses, kategorisiert als GPL-kompatibel, GPL inkompatibel und nicht frei. Dies kann helfen, die häufigste Frage zu beantworten, nämlich ob eine Lizenz GPL-kompatibel ist. Da es nicht viele andere freie Softwarelizenzen gibt, die erfordern, dass die gesamte abgeleitete Arbeit unter derselben Lizenz wie die GPL vertrieben wird, sind Kompatibilitätsprobleme zwischen anderen Lizenzen normalerweise geringer, solange der Code in verschiedenen Bibliotheken oder Quelldateien verbleibt.

Soweit die Ms-PL geht, können Sie wahrscheinlich die FSF-Liste verwenden, um die Kompatibilität dafür zu bestimmen. Die Ms-PL ist eine (sehr) schwache Copyleft-Lizenz (die Ms-RL ist etwas stärker, wird aber immer noch als schwach-copyleft eingestuft). Dies bedeutet, dass unter diesem Code verteilter Code unter dieser bleiben muss, wodurch GPL inkompatibel wird. Sie können ihn jedoch generell mit Code unter zulässigen oder anderen schwachen Copyleft-Lizenzen verknüpfen, sofern Sie die Bedingungen jeder Lizenz und des separat lizenzierten Codes befolgen sich in separaten Bibliotheken befinden. Die einzigen Lizenzen, mit denen es wahrscheinlich nicht kompatibel ist, sind starke Copyleft-Lizenzen, wie die GPL und die AGPL. (Standard Disclaimer: Ich bin kein Anwalt, und dies ist keine Rechtsberatung. Wenn Sie Rechtsberatung benötigen, sollten Sie mit einem qualifizierten Anwalt sprechen).

Für eine begrenzte Anzahl von Lizenzen können Sie diese Free-Libre/Open Source Software (FLOSS) License Slide von David Wheeler (siehe unten) überprüfen. Pfeile zeigen an, dass zwei Lizenzen kombiniert werden können, und dass die kombinierte Arbeit effektiv so behandelt werden kann, als hätte sie die Lizenz am Ende des Pfeils, möglicherweise mit einigen zusätzlichen Einschränkungen, die aus der Lizenz am Anfang des Pfeils genommen wurden.

License compatibility chart

folgender Absatz ist ein generisches rant zu diesem Thema verwendet, aber nicht direkt relevant für Ihre Frage

Die Schwierigkeit der Lizenz Kompatibilität zu bestimmen und einfach in die Auswirkungen von verschiedener Lizenz verstehen Begriffe, warum Lizenzverbreitung so schlecht ist. Bitte versuchen Sie, eine gemeinsame, gut verstandene Lizenz, wie die GPL, LGPL, BSD 2-Klausel oder 3-Klausel, MIT/X-Konsortiallizenz oder Public-Domain-Widmung, wenn möglich, zu verwenden. Was auch immer Sie tun, erfinden Sie nicht Ihre eigene Lizenz. Wenn Sie müssen, verwenden Sie die Lizenz, die für das Projekt, an dem Sie mitarbeiten, üblich ist, um die Kompatibilität mit dem restlichen Code in diesem Projekt zu gewährleisten. Wenn Sie diese Regeln befolgen, können Sie Verwirrung vermeiden und die Lizenzkompatibilität verbessern.

+0

Ich stimme diesem letzten Vorschlag zu, obwohl ich speziell für Ms-PL kompatible Lizenzen suche. Ich finde die GPL viel zu restriktiv, also geht es mehr um BSD/Apache/Ms-PL/Ms-RL/MPL/LGPL ... –

+0

laut dieser Tabelle ist die APL 2.0 nicht kompatibel mit lgpl v2? das scheint mir sehr widersprüchlich zu sein. – Alex

+0

Haben diese Websites eine Standarddefinition für "derivative" Arbeit? Ist meine Arbeit abgeleitet, wenn ich nur eine unveränderte Binärdatei konsumiere? Wenn ich eine OSS-Bibliothek für die reine Kommunikation über, sagen wir, Modbus-Protokoll in einem Plug-in verwende, wurde meine gesamte Steuerungsanwendung abgeleitet, obwohl ihr Schwerpunkt in einer völlig anderen Problemdomäne liegt als in der Kommunikationsbibliothek? – Tormod

2

Beantworten Sie Ihre Kommentare über interessiert sind in Ms-PL-kompatible Lizenzen:

Die meisten Lizenzen sind kompatibel mit ihm. Am besten gehen Sie zu Wikipedia und geben einen Lizenznamen ein. Es ist kompatibel mit der Ms-PL, wenn es als keine Copyleft aufgeführt ist, da Ms-PL alle freigegebenen Quellcode-Derivate unter Ms-PL benötigt.

So mache ich meine Forschung. ;)

Verwandte Themen