Auswahl einer Lizenz für Open Source-Projekte


30

Ich habe einige Open-Source-Projekte durchgeführt und ich plane, in Zukunft mehr zu tun. Bisher habe ich meinen gesamten Code unter der GPL veröffentlicht, aber ich habe einige Artikel gelesen, in denen behauptet wird, dass die GPL zu restriktiv ist, als dass Code in einer Unternehmensumgebung verwendet werden könnte. Dies reduziert angeblich die Beiträge.

Folgendes wollte ich erreichen:

Für vollständige Bewerbungen :

  • Keine kommerzielle Nutzung mit Ausnahme des Verkaufs von Support für die Anwendung (dh die App kann nicht verkauft werden, aber alles, was dazu gehört, kann verkauft werden)

Für Bibliotheken (Komponenten, Plugins, ...):

  • kann ohne Änderungen in kommerzielle Projekte einbezogen werden
  • Jegliche Änderung der Bibliothek / Komponente muss Open Source sein (Beitrag zurück) - der Rest des Projekts, ob kommerziell oder nicht, ist nicht betroffen

Für Anwendungen scheint die GPL immer noch die logische Wahl zu sein. Für Bibliotheken lässt mich mein primitives Verständnis von Lizenzen denken, dass LGPL eine gute Ergänzung ist, aber ich bin mir nicht sicher. Ich habe mir die MIT-Lizenz angesehen, und das scheint zu nachgiebig.

Die meiste Zeit möchte ich, dass die Leute meinen Code überall verwenden, wo sie wollen, solange Verbesserungen zurückgebracht werden.

Dies bringt mich zu meiner (n) Frage (n): Ist LGPL eine logische Wahl für Open Source-Bibliotheken, -Komponenten, -Plugins usw.? Gibt es eine bessere Alternative? Ist die GPL eine gute Wahl für meine Anwendungen oder gibt es etwas Besseres?

Aktualisieren:

Für diejenigen, die an meiner endgültigen Entscheidung interessiert sind, habe ich beschlossen, meine Bibliotheken unter dem Mehrfachlizenzschema MPL, LGPL und GPL freizugeben. Dies ermöglicht es praktisch jedem , meinen Code unverbindlich zu verwenden, es sei denn, er wird unter MPL geändert. In diesem Fall müsste er zurückgegeben werden.

Dies bedeutet, dass der Code sowohl von FSF als auch von proprietärer Software verwendet werden kann, aber eine "schlechte" kommerzielle Ausnutzung verhindert wird (oder wie ich es mir vorstellen möchte).


1
Meinen Sie damit keine kommerzielle Nutzung oder keinen kommerziellen Vertrieb / Weiterverkauf?
MIA

Wahrscheinlich Vertrieb / Weiterverkauf. Es würde mir nichts ausmachen, wenn die Leute meine Sachen kommerziell nutzen würden, aber ich denke, das würde vom Projekt abhängen. Obwohl ich keine Möglichkeit sehe, etwas zu verwenden, was ich bisher für kommerzielle Zwecke geschrieben habe ..
Dr. Hannibal Lecter

4
Es ist wichtig zu beachten, dass (im Gegensatz zu einigen Antworten) in den häufig gestellten Fragen zu Creative Commons ausdrücklich angegeben wird, dass CC-Lizenzen nicht für Software verwendet werden dürfen. (Die CC0 Public Domain Dedication ist für die Verwendung mit Software genehmigt, eignet sich jedoch nicht für die in der ursprünglichen Frage angegebenen Zwecke.) Stattdessen empfiehlt CC, eine von der Free Software Foundation oder der Open Source Initiative genehmigte Lizenz zu wählen.
Peter Briggs

1
Ich gehe davon aus, dass die Wahrscheinlichkeit einer "schlechten Kommerzialisierung" so gering ist, dass es sich nicht lohnt, die Zeit in Anspruch zu nehmen, um dies zu verhindern, es sei denn, Sie haben sich etwas wirklich Einzigartiges und Nützliches einfallen zu lassen.
Bryan Oakley

1
Falls jemand interessiert ist, gibt es einen Vorschlag für eine Q & A-Site zur Open-Source-Lizenzierung unter area51: area51.stackexchange.com/proposals/58715/…
Kurt Pattyn

Antworten:


8

Für mich klingt es so, als wären GPL und LGPL das, was Sie für Ihre Projekte wollen.


Sie würden also sagen, dass LGPL eine gute Wahl für meine Anforderungen ist? Ich bin kein Anwalt, also überprüfe ich nur :)
Dr. Hannibal Lecter

1
Ich bin auch kein Anwalt, aber ich denke, dass LGPL genau das ist, was Sie für eine Bibliothek wollen, und GPL für vollständige Bewerbungen.
Alternative

Es ist legal, GPL-Apps zu verkaufen. Sie müssen (im Wesentlichen) nur den Quellcode einschließen und Ihren Kunden die gleichen GPL-Rechte gewähren, die Sie haben.
BDSL

8
  • Keine kommerzielle Nutzung mit Ausnahme des Verkaufs von Support für die Anwendung (dh die App kann nicht verkauft werden, aber alles, was dazu gehört, kann verkauft werden)

Beachten Sie, dass die GPL den Verkauf der Anwendung nicht verbietet. Wenn Sie dies verbieten, wird Ihre Lizenz in der Tat nicht frei, wie von Huperniketes festgestellt. Die GPL stellt lediglich sicher, dass das Unternehmen, das die Software verkauft, auch die Codebasis kostenlos zur Verfügung stellen muss. Sie müssen das Softwarepaket jedoch nicht wie besehen kostenlos zur Verfügung stellen. Das ist ein ziemlicher Unterschied, da der Quellcode einer Software kein leicht zu verwendendes Produkt ist.


Eigentlich bin ich damit einverstanden, da der Quellcode irgendwo herumschwirrt und jemand davon profitiert. ;)
Dr. Hannibal Lecter

Ich verstehe es wirklich nicht. Ich meine, wenn ich die Quellen bekommen kann, kann ich sie kompilieren und nichts verbietet mir, sie zu benutzen, oder?
Camilo Martin

@Camilo: was bekommst du nicht?
Konrad Rudolph

Die Abschnitte 4 und 6b der GPL-Version 3 behandeln, was Sie sagen: @KonradRudolph
Rudolf Olah

Sie müssen den Quellcode nicht kostenlos bereitstellen, wenn sie ihn beim Verkauf der Anwendung in das Paket aufnehmen.
BDSL

5

Wenn Sie die kommerzielle Nutzung Ihrer Software verhindern möchten, wird sie von der GPL nicht gekürzt. GPL wird in der Regel von kommerziellen Unternehmen bei den von ihnen verkauften Produkten vermieden , da die geänderte Quelle weitergegeben werden muss. Sie können die GPL-Software jedoch intern verwenden. Das heißt nicht, dass Unternehmen nicht dazu eingerichtet sind, GPL-Software zu verkaufen oder Hardware rund um GPL-Software (z. B. LinkSys) zu entwickeln, aber die meisten Unternehmen würden es vorziehen, ihr Produkt nicht mit Wettbewerbern zu teilen.

Ich weiß nicht, ob Sie die Creative Commons Namensnennung-Lizenz für nichtkommerzielle Nichtderivate wünschen (die einzige Einschränkung, die Sie erwähnt haben, ist die kommerzielle Nutzung ). Andernfalls müssen Sie möglicherweise eine Lizenz von einem Anwalt vorbereiten lassen, der die Lizenz enthält die Sprache, die Rechte gewährt, über die Lizenzinhaber verfügen sollen.

Wenn Sie Einschränkungen wie nichtkommerzielle Nutzung und Nichtmodifizierbarkeit einbeziehen , erfüllen Sie möglicherweise nicht mehr die Kriterien für eine Open Source- Lizenz, die von der Open Source-Initiative definiert wurden . Auf ihrer Site sind auch andere genehmigte OSS-Lizenzen aufgeführt . Vielleicht gibt es schon eine, die Ihren Zielen entspricht.

Und eine angemessene Definition Ihrer Ziele ist entscheidend, bevor Sie die Rechte und Einschränkungen auswählen, die Sie den Benutzern Ihrer Software auferlegen. Ist Beliebtheit wichtiger als Veränderbarkeit oder Verbreitung oder Nutzung oder…? Denken Sie zunächst an Ihre Ziele bei der Veröffentlichung des Codes, und in welchem ​​Sinne Sie dies tun, oder die Bedingungen, unter denen Sie den Zugriff gewähren, haben möglicherweise den gegenteiligen Effekt.


Interne Nutzung der GPL-Software ist keine kommerzielle Nutzung der Software ...
Alternative

3
@mathepic, sehen Sie die Wörter "business" und "using" nicht ähnlich wie "commercial use"? definitions.uslegal.com/c/commercial
Huperniketes

@Huperniketes Nein, das tun sie nicht. Ein Unternehmen, das Software verwendet (z. B. ein Datenbankbrowser), ist genau das gleiche wie eine Person, die diese Software verwendet. Es gibt keinen Unterschied, solange das Projekt nicht in das Endprodukt des Unternehmens integriert ist.
Alternative

3
@mathepic, du bist falsch. Ein Unternehmen ist ein kommerzielles Unternehmen, das aus Profitgründen besteht. Jede Aktivität ist kommerziell. Die Einrichtung eines Webservers, auf dem Apache ausgeführt wird, um Benutzerhandbücher zu hosten, ist eine kommerzielle Nutzung von Apache. Das maßgebliche Wort im rechtlichen Sinne ist die Verwendung , nicht der Vertrieb , nicht der Verkauf oder der Weiterverkauf .
Huperniketes

2
@dr, es ist kein Verstoß, da die Apache-Lizenz die kommerzielle Nutzung nicht verbietet. apache.org/foundation/licence-FAQ.html#WhatDoesItMEAN "Sie können Apache-Software ganz oder teilweise für persönliche, firmeninterne oder kommerzielle Zwecke kostenlos herunterladen und verwenden."
Huperniketes

4

Wenn es Ihnen wichtig ist, sicherzustellen, dass Ihr Code frei bleibt, Verbesserungen zurückbekommen und jeder darauf zugreifen kann, ist MPL die richtige Lizenz für Sie. Es ist kostenlos in jedem Produkt, einschließlich kommerzieller Software, ohne seltsame, arkane Verknüpfungsbeschränkungen, wie sie die LGPL auferlegt, zu verwenden. Es erfordert, dass jeder, der Ihren Code verwendet und ändert, die Änderungen unter MPL freigibt, den Rest des Codes im Projekt jedoch nicht berührt oder einschränkt.


Ich kenne MPL überhaupt nicht, aber es klingt sehr interessant. Bisher habe ich nur PHP-Code veröffentlicht, so dass Verknüpfungsbeschränkungen kein Problem darstellen sollten, aber ich plane, auch Mono-Code zu veröffentlichen. MPL könnte sich als sehr nützlich erweisen.
Dr. Hannibal Lecter

4

Wenn Sie Ihren gesamten Code geschrieben haben (das heißt, wenn Sie Ihren Code besitzen), können Sie ihn auch doppelt lizenzieren : Veröffentlichen Sie Ihren Code in z. B. GPLv3 und bieten Sie an, ihn (mit einer anderen Lizenz) an diejenigen zu verkaufen, die ihn weniger restriktiv verwenden möchten.

(Dies ist insbesondere für eine Bibliothek relevant, da eine GPL-ed-Bibliothek nur auf GPL-Software verwendet werden kann.)

Seien Sie vorsichtig mit externen Beiträgen oder Patches, die Sie in Ihren Code einbauen (da Sie diese nicht besitzen).


1

Ob Sie sich tatsächlich für MPL oder nur für GPL bewerben können, hängt von einem entscheidenden Unterschied ab:

Zu den "Rechten darunter" gehört das den Empfängern eingeräumte Recht, MPL "Covered Code" mit privatem Nicht-MPL-Code zu einem "Larger Work" (MPL 3.7 Larger Works) zu verknüpfen. Die GPL gibt den Empfängern kein solches Recht. Daher kann der Empfänger die Lizenzbedingungen nicht ändern, um die GPL anstelle von MPL anzuwenden.

Sieh das .

Dies bedeutet für Sie, dass Sie (wahrscheinlich) keinen Code unter MPL veröffentlichen können, wenn Sie eine Komponente verwenden, die selbst GPL-geschützt ist. MPL versucht fälschlicherweise, die Weitergabe von GPL-Code unter MPL zuzulassen, was unzulässig ist. Dies ist in Ordnung, wenn Ihre Abhängigkeiten in der Reihenfolge MIT- oder Apache-Lizenz liegen.

Im Allgemeinen, wenn Sie nicht , indem Sie MPL über GPL allein tun besser , wenn Sie bereits MPL Sachen verwenden. Die GPL wird auch dafür sorgen, dass die Beiträge auch wieder veröffentlicht werden.

Es gibt nur kritische Änderungen, die MPL zum Schutz vor unwissentlich verursachten Patentverletzungen vorsieht. In der Lizenz heißt es:

Es ist nicht in Ordnung, dass jemand eine Modifikation erstellt, für die er oder sie ein Patent hat, die Modifikation gemäß den Anforderungen der Lizenz kostenlos zur Verfügung stellt und dann zurückkehrt und versucht, jedem die Patentrechte in Rechnung zu stellen.

MPL und GPL sind nicht ganz kompatibel.

Sie können hier sehen: MIT vs. BSD vs. Dual License zur Diskussion über die Implikation von Dual-Lizenzen.


Die GPL-Inkompatibilität sollte mit MPL v2.0 behoben worden sein. (Ich denke, dieser Beitrag wurde erstellt, bevor die v2.0 veröffentlicht wurde). Siehe die Erklärung
mucaho

0

Niemand scheint darüber zu sprechen, aber Sie könnten eine Creative Commons-Lizenz in Betracht ziehen. Sie haben eine Reihe von Lizenzen (oder eine, die Sie auf Ihre Bedürfnisse zuschneiden, auf eine andere Art und Weise).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.