Ich habe nach verschiedenen Lizenzen gesucht, die ich für ein Open-Source-Projekt von mir verwenden kann, aber alle Projekte, die ich mit allen Arten von Lizenzen gesehen habe, scheinen riesig und widerlich zu sein (meiner Meinung nach). Beachten Sie in jeder Quelldatei, dass die Datei unter einer bestimmten Lizenz aufgeführt ist. Ich glaube nicht , dass ich ein einziges Source - Projekt gefunden habe , die nicht öffentlich zugänglich ist , die nicht nicht einen Hinweis , wie das hat.
Dies scheint nur eine Verschwendung von Zeit und Speicherplatz. Ich plane setzen @license
und @author
Tags in meinen Projekten, aber ich sehe nicht , warum ich so eine Riesen-Mitteilung in jeder einzelnen Datei zur Liste muß , wenn ich will nicht meinen Code public domain machen.
Gibt es einen Grund, warum ich einen solchen Hinweis in meine Projekte aufnehmen möchte, oder wäre es gut genug, einfach einen Hinweis in das README
und ein @license
Tag aufzunehmen? Beeinträchtigt dies die "klar festgelegte" Regel der meisten Lizenzen oder ist es nur übertrieben, damit die Leute nicht streiten?
Antworten:
Meines Erachtens schlägt die GPLv3 nachdrücklich vor (oder erfordert vielleicht zumindest, dass ich den Text nach dessen Abschnitt 17 so verstehe, dass diese Bedingungen auf Ihre neuen Programme angewendet werden ), dass in jeder Quelldatei ein Urheberrechtsvermerk enthalten ist. Es sagt
Und GNU-Projekte, die sich im Besitz der FSF befinden, wie GCC, haben einen solchen Hinweis in jeder Datei.
Ich kenne auch ein Programm (das CAIA-System von J.Pitrat), das auf einer Website der Community für freie Software abgelehnt wurde, weil es in keiner Datei einen solchen Hinweis gab.
Ich bin kein Anwalt , aber ich glaube, dass ein solcher Hinweis in jeder Quelldatei eines GPLv3-Programms praktisch obligatorisch ist .
(Wenn Sie eine andere Lizenz verwenden, insbesondere eine Nicht-FSF-Lizenz, lesen Sie sorgfältig, wie Sie sie anwenden. YMMV. AFAIK kann jedoch nicht schaden, wenn Sie in jede Datei einen Hinweis schreiben.)
quelle
Ich habe viele Projekte gesehen, in denen die Lizenz nur in der README-Datei oder in einer LIZENZ- oder KOPIER-Datei erwähnt wird.
Ihre Software ist automatisch urheberrechtlich geschützt, wie im internationalen Recht vereinbart. (Es sei denn, Sie arbeiten für die US-Regierung oder eine andere Organisation, für die das Urheberrecht nicht gilt.)
Wenn jemand Ihre Software verwendet, muss er sicherstellen, dass er die Lizenzvereinbarung befolgt oder die Einschränkungen für die faire Verwendung befolgt.
Angenommen, diese Person möchte eine der Dateien in Ihrer Codeverteilung verwenden, für die natürlich eine Kopie erforderlich ist und daher das Urheberrecht gilt. Standardmäßig haben sie NICHT das Recht, Ihre Software unter dem Urheberrecht zu verwenden. Nur wenn sie die Lizenzbeschränkungen kennen und befolgen, dürfen sie sie verwenden.
Wenn sie also eine Datei ohne Softwarelizenz verwenden, verstoßen sie gegen das Urheberrecht. Da in allen Lizenzen so etwas wie "Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein" angegeben ist, müssen sie diese Lizenz irgendwo ablegen.
Das kann in der Datei selbst sein, oder wenn ich Code als Bibliothek verwendet habe, habe ich die relevanten Teile in ein eigenes Verzeichnis gestellt und ein "README" oder "LICENSE" in dieses Unterverzeichnis eingefügt.
Kurz gesagt, Sie müssen die Lizenz nicht in jede Datei einfügen. Ich denke, es ist übertrieben. Es gibt dabei keinen zusätzlichen rechtlichen Schutz. Es hilft einem nachgeschalteten Anwender etwas, aber nicht viel.
Ich denke, dass die Tradition vieler kommentarbasierter Metadaten (Lizenz, Erstellungsdatum jeder Funktion, Änderungsprotokoll usw.) sehr alte Traditionen sind, die existieren, weil sie einfach zu bewerkstelligen sind und eher ein Talisman als nützlich sind.
Zum Beispiel fügt die Standard-Eclipse-Vorlage vor jeder Funktion, die meiner Meinung nach viel besser von der Versionskontrolle erfasst wird, das hinzu, was ich als nutzlose Metadaten betrachte. Diese Praxis ist jedoch in vielen Geschäften üblich.
quelle
Das Problem ist, dass es sehr einfach ist, eine einzelne Quellcodedatei aus einem größeren Projekt zu disaggregieren, z. B. wenn jemand eine Datei auscheckt, per E-Mail versendet oder herunterlädt, ohne dass der Rest das volle Urheberrecht enthält. Und dann kann diese Datei ad-infinitum an Dritte weitergegeben werden, die möglicherweise keine Ahnung von der Herkunft der Dateien haben.
Der Urheberrechtshinweis oben erinnert jeden, der auf diese einzelne Datei stößt, daran, dass sie tatsächlich urheberrechtlich geschützt und nicht gemeinfrei ist und dass daher möglicherweise eine Lizenz an ihrer Verbreitung oder Verwendung beteiligt ist oder nicht. Versus den Finder seine eigenen zufälligen Annahmen treffen zu lassen.
quelle
In einem unterirdischen Bunker gibt es kein geheimes Supermachtentreffen, in dem steht, was Sie in jede Quelldatei schreiben müssen.
Es macht dem Benutzer klar, dass sich diese Datei unter einer beliebigen Lizenz befindet. Tatsächlich enthält die meiste GPL-Software eine kurze Präambel mit der Aufforderung, die Datei license.txt zu lesen. Denken Sie daran, dass Projekte aufgeteilt und Dateien wiederverwendet werden. Daher ist es möglicherweise keine gute Idee, die Nachricht nur in einer einzigen Datei abzulegen.
Wenn es in dem unwahrscheinlichen Fall jemals vor Gericht ging, könnten Sie mehr Ansprüche geltend machen, wenn Sie jede Datei eindeutig als Ihre Arbeit markiert hätten und unter welcher Lizenz sie sich befand - dann könnte niemand behaupten, dass diese spezielle Datei nicht abgedeckt war
quelle
Ich habe fast eine bemerkenswert ähnliche Frage gestellt. Weniger über Belästigungen als über technische Details. TL; DR: Ich glaube, die Antwort hängt von den Prioritäten des Autors ab. Vielleicht wäre die Absicht genauer als die Prioritäten ...
Ich halte es für in Ordnung, auf eine Lizenz in Ihrer Quelle zu verweisen, abhängig von Ihrer Definition von "in Ordnung". Stimmen wir zu, dass der Begriff "unbegleitet" eine Quelldatei bezeichnet, die Teil eines Projekts ist, das rücksichtslos von seiner liebevollen Codebasis getrennt wurde. Diese Datei enthält eine Zeile wie die folgende:
Oder eine viel coolere Linie wie diese:
"Aber warte!" , rufst du aus, "du hast gerade gesagt, dass die Datei von ihrem Projekt getrennt wurde! Und goodlics.com leitet zu einem Domainbesetzer weiter! Hör auf, zu trixy zu sein!" Sie haben Recht, das habe ich gesagt, aber das könnte in Ordnung sein, und hören Sie auf, mich anzuschreien. Hier ist meine Argumentation, die kein Anwalt ist:
nyancat-bcminer-algo.qbasic
Datei, die Sie auf LiveJournal geschrieben und gepostet haben, ist, ob Sie es glauben oder nicht, nicht gemeinfrei. Nicht, wenn Sie nicht sagen, dass es gemeinfrei ist. Standardmäßig gehört es Ihnen und Ihnen allein. Es ist ... kostbar . (Zumindest für 25-50 + Jahre, es sei denn, Sie sind Disney.)Diese Überlegung macht zwei epische und wahrscheinlich ungültige Annahmen:
Vielen Dank, dass Sie Monkey-Brain-Airways gefahren sind.
Haftungsausschluss: Dies erscheint mir logisch, da ich zu 90% sicher bin, dass ich zu 100% falsch liege.
quelle
Es gibt einen Unterschied zwischen Lizenz und Präambel .
In einigen meiner Projekte verwende ich die GNU General Public License, Version 3.0 . Die GNU GPL erfordert eine Präambel für jede Quellcodedatei:
Quelle: http://www.gnu.org/licenses/gpl-faq.html#GPLOmitPreamble
Also hier ist was ich tue:
1. Fügen Sie License.txt hinzu
Um die Regeln zu befolgen, habe ich eine LICENSE.txt im Stammverzeichnis des Projektarchivs abgelegt . Dies wird auch von GitHub vorgeschlagen (siehe " Wo lebt die Lizenz?" ).
2. Fügen Sie die Präambel mithilfe der automatischen Faltung hinzu
Als nächstes füge ich die GPL-Präambel über jede Quellcodedatei ein, ABER um sie kaum zu stören, verstecke ich sie in der IDE. Die meisten IDEs verfügen über eine Funktion zum automatischen Falten von Codeblöcken. NetBeans unterstützt das Falten von benutzerdefiniertem Code und WebStorm unterstützt auch das Falten von Kommentaren .
So sieht es also aus:
Ich denke, dies ist ein sehr guter Kompromiss zwischen Komfort und Rechtssicherheit.
Wenn Sie viele Projekte haben, für die Sie eine Lizenz hinzufügen müssen, kann http://www.addalicense.com/ hilfreich sein.
Bitte beachten Sie: Mein Hinweis bezieht sich auf GPLv3. Für andere Lizenztypen ist möglicherweise keine Präambel erforderlich.
quelle
LICENSE
Datei entfernen , dh Sie können den Text der GPL nicht durch Ablegen ändern.Es gibt einen anderen praktischen Weg, der hier noch nicht erwähnt wurde.
SPDX-License-Identifier
Etikett. https://spdx.org/using-spdxDamit reduziert sich Ihr "Legal Boilerplate" in jedem Quelldatei-Header auf nur zwei Zeilen:
Darüber hinaus sind Personen, die Software-Lieferkettenanalysen automatisieren, dankbar, dass Sie sich an einen gemeinsamen Standard für maschinenlesbare Lizenzbeschreibungen halten.
quelle