Empfehlungen und Erfahrungen zu welcher Lizenz für Software?


26

Entwickler von Software haben die Wahl, eine geeignete Lizenz in Übereinstimmung mit den Zielen der Arbeit zu wählen.

Kann jemand Empfehlungen / Erfahrungen geben, welche Lizenz für Software ausgewählt werden soll?

Was sind die Vor- / Nachteile, wenn alle codierten Werke als Open-Source-Codes "verschenkt" werden?

Wie gehe ich mit industriellen Akteuren um, die vom Forschungskodex profitieren möchten?


Gute Frage, ich habe mich auch gefragt.
milancurcic

Dies ist für diese Site nicht relevant. Ich würde empfehlen, auf etwas wie Stack Overflow zu posten.
Aterrel

Ich möchte nur die Aussage von Matt korrigieren, dass GPL / LGPL-lizenzierte Software nicht kommerziell verwendet werden kann. Es kann auch! GPL lizenzierte Software kann verwendet für alles , was ein gewerbliches Unternehmen wollen, sie können einfach nicht ein Derivat erstellen Software - Produkt und Verkauf (verteilen) , die als Closed - Source (was genug sein sollte , wenn die kommerzielle Unternehmen Unternehmen keine Software ist). Die LGPL ist freizügiger und ermöglicht den Verkauf geschlossener Softwareprodukte, die mit der Originalbibliothek verknüpft sind. Ich stimme Matt zu, dass die Industrie Angst hat, die GPL-Software zu berühren, aber sie basiert auf einem Missverständnis der GPL. Wir verwendeten ursprünglich
Anders Logg

1
Ich stimme dir nicht zu. Viele Menschen investieren viel Zeit und Mühe in die Entwicklung neuer Codebasen für herausfordernde Probleme in der Computerwissenschaft. Im Rahmen dieser Bemühungen kann es nützlich sein, eine Strategie für die Weitergabe der Arbeit an andere zu entwickeln.
Allan P. Engsig-Karup

2
Ja, und viele Computerleute verbringen Zeit mit Kochen, aber Kochen ist hier kein Thema. Es gibt einen anderen gestapelten Austausch für grundlegende Softwareprobleme.
Aterrel

Antworten:


18

Kann jemand Empfehlungen / Erfahrungen geben, welche Lizenz für Software ausgewählt werden soll?

Welche Lizenz Sie gewählt haben, hängt davon ab, wie frei Ihr Code sein soll, aber frei bedeutet für verschiedene Personen unterschiedliche Dinge.

  • Für die Befürworter von permissiven Lizenzen, frei jetzt Mittel den Menschen ermöglichen, die Software zu benutzen aber sie wollen jetzt , sich Gedanken darüber , wie nicht frei Zukunft Ableitung sind.
  • Frei bedeutet für Befürworter von Copyleft- Lizenzen, sicherzustellen, dass die Software und deren Ableitungen frei bleiben , und bereit zu sein, dafür einige unmittelbare Freiheiten aufzugeben.

Je freizügiger eine Lizenz ist, desto mehr Benutzer können sie verwenden, aber desto weniger Kontrolle haben Sie darüber. Je restriktiver es ist, desto wahrscheinlicher ist es, dass Sie die Leute davon abhalten, Ihre Software zu benutzen.

Es gibt eine Reihe von kostenlosen und Open Source-Lizenzen, darunter GPL <= 2, GPL 3 , LGPL , BSD , Eclipse und so weiter. Es gibt Vor- und Nachteile für jeden. Informieren Sie sich daher, welche Einschränkungen für den Code gelten, und entscheiden Sie, wen Sie in der Lage sein möchten, ihn zu verwenden. Achtung , egal für wen Sie sich entscheiden, Sie werden sich beschweren - das ist heiliges Kriegsgebiet .

Insgesamt handelt es sich um einen subtilen Balanceakt, der sehr stark von der Zielgruppe Ihrer Software abhängt.

  • Eine großartige Ressource, um festzustellen, welche Lizenz die richtige für Sie ist, ist das sehr umfassende, interaktive Lizenzunterscheidungsmerkmal von Oxford Universities OSS Watch .

Meiner Meinung nach sind für wissenschaftlichen Code sowohl Genehmigungs- als auch Copyleft- Lizenzen geeignet. Wichtig ist, dass der Code in erster Linie Open Source ist. Ich bin der Meinung, dass die Wissenschaft offen sein sollte, ebenso wie der Code, der zur Unterstützung dieser Wissenschaft verwendet wird.

Was sind die Vor- / Nachteile, wenn alle codierten Werke als Open-Source-Codes "verschenkt" werden?

Die Idee, Ihre Software zu verschenken, ist, dass andere Benutzer sie verwenden, wenn sie sie nützlich finden.

Wenn sie es verwenden, werden sie Fehler finden, melden und häufig beheben, was Ihnen die Mühe erspart, dasselbe zu tun.

Wenn sie es mögen und Ihre Software fast das tut, was sie wollen, können sie Ihre Software verbessern und diese Verbesserungen zurückbringen.

Das ist allerdings eine Menge Wenn .

Wie gehe ich mit industriellen Akteuren um, die vom Forschungskodex profitieren möchten?

Wenn Sie die kommerzielle Nutzung Ihres Codes verbieten möchten, können Sie zunächst eine Lizenz mit einer Klausel auswählen, die keine kommerzielle Wiederverwendung vorsieht.

Zweitens, wenn Sie der Meinung sind, dass jemand Ihre Software zum Betreiben eines Dienstes verwenden könnte, ohne den Code jemals an einen anderen zu verteilen, könnten Sie die Affero GPL in Betracht ziehen, die diese Copyleft-Lücke schließt.

Drittens können Sie die oben genannten Schritte ausführen und eine Doppellizenzoption anbieten. Wenn Sie GPL- oder AGPL-Lizenzen zum öffentlichen Download und kommerzielle Lizenzen gegen eine Gebühr anbieten, haben Sie das Beste aus beiden Welten und können möglicherweise sogar Einnahmen aus dem kommerziellen Verkauf Ihrer Software erzielen, die Ihre wissenschaftlichen Aktivitäten unterstützen.

Wenn Sie dies tun möchten, bieten Sie es von Anfang an an - dies verursacht wahrscheinlich weniger Reibung bei Ihren Open-Source-Mitwirkenden, als wenn Sie später kommerzielle Lizenzen anbieten. Wenn Ihre Community populär wird, möchten Sie nicht, dass die Leute Sie beschuldigen, ausverkauft zu sein, wenn Sie nicht genau über die Möglichkeit einer späteren kommerziellen Ausbeutung informiert sind. Idealerweise sollten Sie einen geeigneten Mitwirkenden-Lizenzvertrag (Contributor License Agreement, CLA) einrichten, bevor Sie Beiträge von Dritten in Ihre Codebasis aufnehmen.

Die Antwort auf diese Frage enthält auch einige gute Informationen zu dieser Option.


12

PETSc verwendet diese Lizenz , die eine weniger restriktive Form von BSD darstellt . Der entscheidende Unterschied zur GPList, dass die Software kommerziell genutzt werden kann. Viele Leute haben einen grundsätzlichen Einwand gegen geschlossene Software, aber meiner Erfahrung nach geht kein Geschäft in die Nähe Ihres Codes, wenn er eine GPL-Lizenz hat. Darüber hinaus waren die industriellen Anwender von PETSc unglaublich wertvoll. Sie neigen dazu, recht komplexe Probleme zu lösen, die die meisten Wissenschaftler für eine Veröffentlichung schwieriger als gerechtfertigt finden würden. Sie haben auch eine Menge Code an PETSc zurückgegeben, damit dieser in die normale Support-Kette eingeht. Ich würde von jeder Lizenz ohne kommerzielles Nutzungspotential abraten und in der Tat die am wenigsten einschränkende Lizenz befürworten (Sie könnten auf jeden Fall PETSc auf eine CD brennen und versuchen, sie an die leichtgläubige zu verkaufen).


Wie wurde die Entwicklung von PETSc finanziert? und wie wird es heute (durch finanzierung) unterstützt? Wie funktioniert es mit der Pflege der Codebasis für PETSc?
Allan P. Engsig-Karup

2
Hier ist die Finanzierung . Wir haben ein offenes Repository und viele Mitwirkende.
Matt Knepley

Zu Ihrer Aussage zum GPL-Code: OpenFOAM ist eine GPL und wird in der Industrie häufig verwendet. Der Grund dafür ist, dass der GPL-Code nur veröffentlicht werden muss, wenn die Software verbreitet werden soll. Nur Unternehmen, die ihren Code an ein breites Publikum verkaufen möchten, wären von der GPL-Lizenz betroffen.
akid

3
@akid Ich kann auf der Website keine Informationen über OpenFOAM-Benutzer finden, bin jedoch skeptisch gegenüber der "weit verbreiteten" Charakterisierung. Ich kann Ihnen sagen, dass Menschen aus großen Unternehmen (Shell, Boeing, MS) angegeben haben, dass die Unternehmensrichtlinie für Research Code darin besteht, niemals die GPL zu berühren. Vielleicht haben kleine Unternehmen mehr Spielraum, aber größere wollen einfach nur den Anschein von Unangemessenheit vermeiden (sie sehen sich den GPL-Code an und codieren etwas anderes).
Matt Knepley

2
@Tshepang GNOME und Linux werden wie Büromaterial verwendet, was Ihrem wissenschaftlichen Code niemals passieren wird. Ich meine, wenn Sie Code für Zwecke verwenden, die in direktem Zusammenhang mit dem Geschäft stehen.
Matt Knepley

5

Ich benutze die GPL hauptsächlich wegen der Einstellung zur ursprünglichen Open-Source-Bewegung (und hoffe daher, dass sie deren Verbreitung unterstützt). Darüber hinaus ist dies paradoxerweise der beste Weg, um Ihre möglichen Einnahmen vor unmoralischen Kapitalisten zu schützen. Als Autor können Sie den Code immer auf einer anderen Lizenz parallel verteilen und so die proprietäre Version für eine White-Label-Geschäftsnutzung beibehalten.
Dies kann jedoch auch eine Konsequenz sein - Ihre Finanzierungsquelle könnte einen Haftungsausschluss dafür enthalten, dass alle Ihre Arbeiten gemeinfrei werden sollten, was über diese Lizenz hinausgeht.

Auf jeden Fall ist das Wichtigste in diesem Thema , dass jede Lizenz ist besser als gar keine, das in der wissenschaftlichen Entwicklung Welt leider recht oft ist - und ich hasse es , alle diejenigen / * Stolen von John Smith Programm , das er noch nie veröffentlicht * / oder C Ich glaube, ich habe das 1995 in Jane Smiths Post bei einer Gruppe gesehen ... oder vielleicht 1993?


1
Denken Sie daran, dass Code, der keine Lizenz hat, in den meisten Ländern (die der Berner Konvention beigetreten sind ) weiterhin urheberrechtlich geschützt ist und daher nur von dem Inhaber des Urheberrechts verwendet oder weitergegeben werden darf.
Mark Booth

@ MarkBooth Das ist mein Punkt.
mbq

5

Erstens die Vor- und Nachteile von Open Source:

Pro: Mehr Menschen werden Ihren Code verwenden, Feedback, Korrekturen, Verbesserungen usw. bereitstellen. Sie werden am Ende besseren Code haben und mehr Menschen, die ihm vertrauen.

Con: Wenn Sie jemals ein Unternehmen in Ihrem Code gründen möchten, haben Sie weniger Möglichkeiten (aber es gibt immer noch einige, wie zum Beispiel den Verkauf von Beratungsdiensten).

Bei der Auswahl einer Lizenz würde ich in der folgenden Reihenfolge vorgehen:

  1. Verpflichtet Ihr Arbeitgeber / Ihre Stipendienagentur etwas? Dann hast du keine Wahl. Überprüfen Sie dies für alle Mitwirkenden des Codes.
  2. Verwenden Sie Code mit einer bestimmten Lizenz, die Ihre Auswahl einschränkt, erneut? Dann sind auch Ihre Möglichkeiten begrenzt. In der Praxis ist die Integration von Teilen des GPL-lizenzierten Codes die häufigste Ursache für solche Einschränkungen.
  3. Entscheiden Sie, was Sie mehr schätzen: die Philosophie, dass alle Codes offen sein sollten, hinter der GPL und ähnlichen Lizenzen, oder die Philosophie, dass die BSD-Lizenz die größtmögliche Nutzung ermöglicht.
  4. Wählen Sie in jeder der beiden großen Open Source-Lizenzfamilien aus, was in Ihrer Community am häufigsten bzw. am meisten akzeptiert wird.

5

Der Großteil meiner Forschung wird aus öffentlichen Mitteln finanziert, und daher fühle ich mich verpflichtet, die geringstmögliche Einschränkung der Lizenz zuzulassen. Habe ich wirklich das Recht, anderen Menschen in meinem Land mitzuteilen, dass sie meinen Code nicht in eine Closed-Source- und / oder kommerzielle Softwareverteilung integrieren können, wenn sie für diese Forschung mitzahlen? Ich erwarte, dass die meisten Leute, die meinen Code verwenden, akademische Wissenschaftler sein werden, aber ich habe keine philosophischen Probleme mit Unternehmen, die meine Software verbessern, indem sie in andere (möglicherweise kommerzielle) Software integriert, eine grafische Benutzeroberfläche erstellt usw., um ein Produkt bereitzustellen das hilft ihnen, Gewinn zu machen.

Davon abgesehen versuche ich, Lizenzen zu verwenden, die eine ordnungsgemäße Zuordnung erfordern. Zum Beispiel, wenn ein Unternehmen nicht meinen Code in ein größeres kommerzielles Produkt falten, ich will sie dafür sorgen, dass mein Code machen kann klar von mir frei erhalten werden. Ansonsten möchte ich möglichst wenig Anforderungen an die Benutzer meines Codes stellen.

Ich verstehe, dass für Software-Entwicklung, die nicht aus Steuergeldern finanziert wird, andere Lizenzen angemessener sein können.


5

Niemand hat dies sehr deutlich formuliert, daher denke ich, dass es sich lohnt zu sagen:

Einige der Open-Source-Lizenzen (insbesondere die GPL) sind "viral" in dem Sinne, dass bei jeder Verwendung des Codes in einem neuen Projekt das neue Projekt auf die gleiche Weise lizenziert werden muss. Außerdem kann der Code nicht (auf bestimmte Weise) mit unterschiedlich lizenziertem Code verknüpft werden.

Eine praktische Konsequenz ist:

  • Wenn Sie eine neue numerische Methode in C implementieren, erlaubt die Lizenz nicht, sie von einer solchen allgemeinen Software wie MATLAB oder Mathematica aufzurufen

  • Wenn Sie einen neuen Bildverarbeitungsalgorithmus implementieren, können Sie mit der Lizenz kein Photoshop-Plug-in daraus erstellen

  • und so weiter ...

Dies verhindert nicht nur die kommerzielle Wiederverwendung, sondern auch die bequeme Wiederverwendung durch andere Akademiker (wenn diese geschlossene Software verwenden). Wenn jemand auf Ihrem Code aufbaut, verhindert dies, dass sie ihre Arbeit in einem "do" weitergeben -was-du-willst-damit ".

Dies ist etwas, das Sie berücksichtigen müssen, bevor Sie die Formulierung Ihrer Lizenz abschließen.

Ich habe es so ausgedrückt, weil ich Leute getroffen habe (die mit Open Source-Lizenzen nicht sehr vertraut sind), die sich dessen nicht bewusst waren oder es aus diesem Blickwinkel nicht betrachtet haben.


(Dies ist nur eine persönliche Meinung, aber ich glaube, dass es nicht angemessen ist, solche Einschränkungen auf Arbeiten anzuwenden, die von (öffentlich finanzierten) Hochschulen stammen. Deshalb behalte ich den Code entweder bei oder gebe ihn weiter.)


4

Unabhängig davon, für welche Lizenz Sie sich entscheiden, sollten Sie alle Finanzierungsvereinbarungen sorgfältig prüfen, um sicherzustellen, dass keine Klauseln enthalten sind, die die Lizenzierung Ihrer Software vorschreiben oder einschränken.

Ich weiß in meinem Fall, dass viele meiner Projekte aus mehreren Finanzierungsebenen aufgebaut sind, ein bisschen hier und ein bisschen dort, und dass ich verfolge, wie ich meine Sachen von den Leuten lizenzieren darf , die das Licht anhalten und Die Maschinen laufen ziemlich komplex.


4

Bei großen Code-Mengen wähle ich eine der in den anderen Antworten beschriebenen Lizenzen und normalerweise die LGPL. Doch wenn auch nicht in der Regel für Software empfohlen , für kleine in sich geschlossene Skripte , dass ich an einen Kollegen entsenden kann in der Industrie habe ich oft für eine entscheiden Creative Commons - Lizenz. Dies liegt daran, dass sie für die Person, an die ich den Code sende, in der Regel klarer sind, wodurch potenzielle Missverständnisprobleme vermieden werden. Das hat in der Vergangenheit für mich gut geklappt.


4

Im Gegensatz zu den meisten Leuten, die hier antworten (die in akademischen und / oder öffentlichen Organisationen arbeiten), arbeite ich im kommerziellen Bereich.

Für meine Produkte ist der Code geschlossen, und dies bietet weiterhin erhebliche geschäftliche Vorteile. Es gibt aber natürlich auch andere Möglichkeiten (z. B. wie MySQL unter anderem demonstriert). Ich sehe oft den kommerziellen Lizenzansatz von LGPL + für Bibliotheken. Ich habe eine solche Bibliothek in einem kommerziellen System noch nicht verwendet, aber ich würde es nicht ausschließen (bisher habe ich solche Bibliotheken, z. B. ALGLIB, nur auf F & E-Ebene verwendet). Dies steht im Gegensatz zu einem GPL-Produkt - das ich möglicherweise intern verwende, aber niemals in einem Produkt verwende, hauptsächlich aufgrund der viralen Natur.

Wenn ich Quellcode freigebe (Anleitungen, kostenlose Programme usw.), verwende ich normalerweise die Berkeley-Lizenz. Dies scheint viel mehr im Sinne von "freiem" Code zu sein, mit Zuschreibung, aber ohne die GPL-Bedingungen und Politik. Vielleicht ist dies der Grund, warum es (oder ähnliche Lizenzen wie die MIT-Lizenz) bei Universitäten und öffentlichen Organisationen so beliebt ist. Der Quellcode wird in der wahren Bedeutung von "frei" weitergegeben (hier ist ein Code, machen Sie, was Sie wollen), aber der Autor erhält immer noch Kredit / Zuschreibung.


Ich bin nicht derjenige, der dies abgelehnt hat, und ich möchte es auch tatsächlich ablehnen, da Sie anscheinend die BSD-Lizenz bevorzugen und detaillierter darlegen, warum dies interessant sein könnte. Es hat jedoch ein Problem. Die verwendete Sprache ist provokativ. Genau die gleichen Informationen können ohne die Galle kommuniziert werden, und Sie würden wahrscheinlich mehr Menschen mit Ihrer Nachricht erreichen.
Qubyte

@ MarkS.Everitt: Abgesehen von dem Kommentar zur Politik, was genau ist hier provokativ?
Aeismail

Ja, es war keine Galle vorgesehen. Mein Kommentar zur GPL-Politik ist eine persönliche Meinung, aber auch eine Beobachtung - ich nahm an, dass die Abwahl genau die Politik war, die mich
abschreckt

Nehmen Sie zum Beispiel Ihren Eröffnungssatz. Dies ist ein unmittelbares Ich gegen Sie , das im Satz "Gegenteil von dem, was ..." fortgesetzt wird. Es sollte keine Rolle spielen, tut es aber leider. Es ist auch ein rutschiges Gefälle, um Argumente zu generieren, und eine junge SE braucht diese nicht.
Qubyte

Der erste Satz gibt den Kontext meiner Antwort vor - JEDER schreibt aus seinen eigenen Erfahrungen, ob er dies zugibt oder nicht. Der Kontext ist wichtig - und ich dachte, dass es besonders für mich war. Ich werde versuchen, den nächsten Absatz zu bearbeiten, aber ich kann einfach aufgeben und das Ganze löschen. Ich dachte, ich hätte etwas Nützliches zu sagen ...
winwaed

0

Dies ist eine alte Frage, aber ich denke, die Mozilla Public License ist erwähnenswert als Mittelweg zwischen zulässigen Lizenzen (BSD, MIT) und starken Copyleft-Lizenzen (GPL). MPL-Code kann verwendet und weitergegeben werden, aber der MPL-Code und etwaige Änderungen daran müssen verfügbar gemacht werden. Ein Unternehmen kann beispielsweise MPL-Code verwenden, eigene Verbesserungen vornehmen und ihn in einem proprietären Closed-Source-Softwarepaket vertreiben, sofern die geänderte Version des ursprünglichen MPL-Codes verfügbar ist. Sie sind nicht verpflichtet, ihren gesamten Quellcode freizugeben, wie dies bei der GPL der Fall wäre.

Mit der BSD-Lizenz besteht die Befürchtung, dass ein Unternehmen Ihren Code übernehmen und verbessern könnte, ohne diese Beiträge an Sie oder die Community im Allgemeinen zurückzugeben, unter der Begründung, dass die Verbesserungen einen Wettbewerbsvorteil verschaffen. (Die Antwort von Matt Knepley legt nahe, dass nicht jeder so handelt). Auf der anderen Seite könnten viele Leute GPL-Code ganz vermeiden. Die MPL vermeidet diese beiden potenziellen Fallstricke zumindest im Prinzip.

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.