Ich finde es unnötig dupliziert, es in jeder Codedatei zu haben, aber ich sehe es in den meisten Open Source-Projekten. Sollte ich dasselbe tun oder nur eine einzelne Lizenz außerhalb des Codes einfügen?
Ich finde es unnötig dupliziert, es in jeder Codedatei zu haben, aber ich sehe es in den meisten Open Source-Projekten. Sollte ich dasselbe tun oder nur eine einzelne Lizenz außerhalb des Codes einfügen?
Antworten:
Eine einzige außerhalb des Codes, bitte! Ich weiß nichts über die anderen, aber ich hasse es, auf jeder Datei dasselbe zu sehen.
Ich glaube, ich habe es ein paar Mal gelesen, nur indem ich es durchgesehen habe.
evidence for the legal situation
. Perhaps a lawyer can add a link to a court decision
.
EULA ist hier der falsche Begriff, da die Leute, die sich den Quellcode ansehen, normalerweise keine Endbenutzer sind.
Auch rechtlich macht es keinen Unterschied; Das Urheberrecht muss nicht explizit deklariert werden.
Grundsätzlich erreichen Sie nur ein geringeres Risiko, dass Personen versehentlich gegen Ihre Lizenzbedingungen verstoßen. Sie müssen entscheiden, wie wichtig das für Sie ist.
Ich würde sagen, der beste Kompromiss besteht darin, einen sehr kurzen Header mit einem Link (absolute URL sowie relativ innerhalb des Projekts) zum vollständigen Lizenztext in jede Quellcodedatei einzufügen. Auf diese Weise weiß jeder, der sich für die Lizenz interessiert, wo sie zu finden ist (im Idealfall Personen, die bereit sind, massive Lizenzgebühren zu zahlen; Sie möchten sicher, dass diese Personen Sie kontaktieren können!).
Nein, Sie müssen die Lizenz nicht in jede Quellcodedatei einfügen.
Wenn Sie genauer hinschauen, tun dies die meisten FOSS-Anwendungen auch nicht. Sie setzen eine Copyright-Erklärung oben in jede Datei und einen kurzen Satz, der Ihnen sagt, unter welcher Lizenz sich die Datei befindet und wo Sie den vollständigen Text der Lizenz finden. Sie verweisen normalerweise auf die Datei COPYING oder LICENSE, die den vollständigen Text der Lizenz enthält, und / oder auf eine Website, die den vollständigen Text enthält (falls die Datei COPYING nicht mehr vorhanden ist).
Wie Michael Borgwardt in seinen Antworten sagte, müssen Sie dies legal nicht tun. Für Quellcode, den Sie verteilen möchten, ist es jedoch ratsam, da die Benutzer sofort sehen können, wer das Urheberrecht besitzt und wie die Lizenz lautet.
Dies kann von der Lizenz abhängen. Die GPL unterscheidet zwischen preamble
undlicense
. Es heißt eindeutig, dass die (nervige) Präambel Teil des Codes sein muss :
Kann ich die Präambel der GPL oder die Anweisungen zur Verwendung in Ihren eigenen Programmen weglassen, um Platz zu sparen?
Die Präambel und Anweisungen sind integraler Bestandteil der GNU-GPL und dürfen nicht weggelassen werden. Tatsächlich ist die GPL urheberrechtlich geschützt und ihre Lizenz erlaubt nur das wörtliche Kopieren der gesamten GPL. (Sie können die gesetzlichen Bestimmungen verwenden, um eine weitere Lizenz zu erstellen, es handelt sich jedoch nicht um die GNU-GPL.) (1)
Quelle: 1) http://www.gnu.org/licenses/gpl-faq.html#GPLOmitPreamble
Siehe auch http://softwarefreedom.org/resources/2012/ManagingCopyrightInformation.html
Ein kostenloses eBook von ifrOSS erklärt und kommentiert die GPL 2 in deutscher Sprache. Es gibt noch eine für GPL 3
Für eine fundierte Antwort sollten Sie einen Rechtsbeistand einholen, der auf sx nicht verfügbar ist. Wenn Sie keinen Anwalt für Ihr (Open Source-) Projekt finden, schauen Sie sich das Rechtsnetzwerk der FSFE an .
[...] attach the following notices to the program.
- Das Befolgen von Hinweisen ist nur ein kleiner Teil der vollständigen Lizenz. safest to attach them to the start of each source file
- am sichersten, aber nicht erforderlich. each file should have at least the "copyright" line and a pointer to where the full notice is found.
- einzige Voraussetzung ist die Copyright-Zeile mit einem Zeiger auf den Rest. Es ist in Ordnung, die vollständige Lizenz in einer separaten Datei abzulegen.
Ich denke, die Begründung für das Einfügen in jede Datei ist legal. Wenn die Vereinbarung in jeder Datei enthalten ist, besteht keine Möglichkeit, dass jemand über einen Code stolpert, ohne der Lizenz ausgesetzt zu sein.
Es ist vielleicht nicht gut, aber alle großen Jungs benutzen es. Wenn es nur visuelle Schmerzen sind, würde ich nach einem besseren Grund suchen, nicht dasselbe zu tun.
Wenn Sie GPL verwenden, ist dies eher ein Problem, aber wenn Sie gemeinfreie Lizenzen wie BSD oder MIT verwenden, ist es mir eigentlich egal, was die Leute mit dem Code machen. Ich nehme an, es hängt davon ab, wie streng Ihre Lizenz ist.
IANAL,
Angenommen, Sie sprechen von einer Lizenzierung, nicht von einer EULA, können Sie die Lizenz nach draußen stellen. Dies geschieht fast immer mit sehr langen Lizenzen wie der GPL. Es wäre dumm, die gesamte GPL-Lizenz in jede Datei zu schreiben. Normalerweise erhalten Sie nur eine Art Hinweis, in dem Sie die tatsächliche Lizenz finden. Das ist völlig legal. Bei wirklich kurzen Lizenzen wie BSD / Apache / MIT / was auch immer ist es jedoch einfacher, nur eine Lizenz in jede Datei aufzunehmen, da der Hinweis, wo die Lizenz zu finden ist, fast so lang ist wie die Lizenz selbst.
Dies hängt davon ab, was die Lizenz vorschreibt. Die GPL weist Sie beispielsweise an, in jede Quelldatei einen kurzen Hinweis aufzunehmen, die gesamte Lizenz irgendwo in Ihre Quelldistribution aufzunehmen und Ihre Quelldistribution jedem zur Verfügung zu stellen, der eine Kopie der Binärdistribution erhält.
Wenn Sie damit nicht einverstanden sind und es IHR Code ist, können Sie eine angenehmere Lizenz wählen oder Ihre eigene erstellen.
Wenn Ihr Code kompiliert werden soll, sodass Sie nur eine Binärdatei verteilen, spielt dies keine Rolle. Denn wenn Sie eine Binärdatei erstellen, werden die Kommentare entfernt, bevor der Kompilierungsprozess stattfindet. Es ist nur wichtig, ob Sie den eigentlichen Quellcode entweder als Open Source oder als Closed Source verteilen. Dies ist normalerweise wichtig, wenn Sie eine Anwendung in einer Skriptsprache verteilen, die nicht kompiliert werden kann.
Sie benötigen es nicht für die Lizenz. Eine einzelne externe Datei reicht aus, solange klar ist, welche Dateien sie abdeckt.
Für das Urheberrecht sollten Sie jedoch den Urheberrechtshinweis auf jedem Textstück haben.
Was ich tue, ist, einen zweizeiligen Kommentar am Anfang der Datei einzufügen, der den Namen meines Unternehmens, das Datum der letzten Überarbeitung und den Namen der Lizenz angibt, über die die Quelldatei verfügt, und dann ganz unten in der Datei eine kurze Version der Lizenz.
Natürlich ist die vollständige Lizenz (alle bei mehreren Lizenzen) immer in den Quelldateien und Release-Verzeichnissen enthalten.