Was ist der richtige Weg, um Gabel / re-use-Code von einem Open-Source-Projekt?

22

Lassen Sie uns sagen, dass ich auf einem Open-Source-Projekt arbeite und wollen eine triviale Nutzenfunktion von einem anderen Open-Source-Projekt wieder verwenden (beispielsweise eine Datei Suchen / Ersetzen-Funktion). Ist es legal, die Funktion und einfach schreibt einen kleinen Copyright-Hinweis in Anfang der Datei zu kopieren? Sollte ich ihren Namen als Rechteinhaber des gesamten Projekts in der Lizenz?

In ähnlicher Weise lassen Sie uns sagen, dass ich eine Open-Source-Projekt gabeln. Wo und wie kann ich festlegen, dass das Urheberrecht zwischen beiden Inhabern der ursprünglichen Urheberrechts geteilt wird und ich?

Ich denke, die Antwort muss etwas nach der Open-Source-Lizenz variieren, aber ich würde eine allgemeine Antwort so viel wie möglich.

PS: Ich bin meistens über den rechtlichen Aspekt betrifft, aber ich fühle mich frei, Ihre ethischen Standpunkt aufzunehmen.

Olivier Lalonde
quelle
1
Was ist die Lizenz des Projekts in Frage, und das Projekt , das Sie freisetzen , sind? Ja, Sie können den Code verwenden, aber bitte präzisieren Sie ihn, damit wir Sie besser über Ihre Anforderungen in Bezug auf die verwendete Lizenz informieren können.
Tim Beitrag
1
@ Tim Beitrag: Es ist vor allem eine theoretische Frage , aber wenn es einmal an , helfen lassen können beide Projekte eine GPL - Lizenz haben , da es sehr häufig ist.
Olivier Lalonde

Antworten:

25

Ich versuche, diese Antwort als ‚Meta‘ anwendbar wie möglich zu machen.

Verwenden von Snippets / Bits aus anderen Projekten

Kennzeichnen Sie den Code deutlich mit dem Copyright des ursprünglichen Autors. Stellen Sie sicher, dass Ihre ausgewählte Lizenz vollständig mit der Lizenz des von Ihnen verwendeten Codes kompatibel ist. Sie benötigen die Erlaubnis des Autors, um den Code in eine andere Lizenz zu verschieben (es sei denn, sie erlauben dies ausdrücklich, dh "GPL 2 oder eine spätere Version").

Ihr Programm sollte eine AUTOREN Datei (oder ähnlich) haben, wo Sie alle Mitwirkenden und Dinge auflisten, dass Sie von anderen Projekten verwendet.

Ein Projekt vorantreiben

Fügen Sie für jedes Modul, das Sie wesentlich ändern, Ihr Copyright unter dem des ursprünglichen Autors hinzu. Das Gleiche gilt für die Lizenzierung. Sie sind an die Bedingungen der Lizenz gebunden, die zum Zeitpunkt der Veröffentlichung gültig war. Wenn das Projekt sagt „GPL2 nur“, müssen Sie das respektieren, nicht zu GPL3 ohne ihre Erlaubnis gehen.

Dies ist je nach Lizenz sehr unterschiedlich. Laut QPL können Sie beispielsweise nur Änderungen im Patch-Format verteilen. Vergewissern Sie sich daher, dass Sie die Begriffe verstehen, mit denen Sie geänderte Versionen der Software verteilen können.

Darüber hinaus, bewahren immer Urheberrecht. Wenn Sie Ihre eigenen Urheberrechte hinzufügen, vergewissern Sie sich, dass Sie genau das markieren, was Sie beanspruchen.

Tim Post
quelle
Sie können manchmal Lizenzen hinzufügen. Angenommen , Sie eine BSD - Funktion in einem Unterliegt der GPL - Projekt verwenden wollte: Sie nicht die BSD - Lizenz entfernen können, aber es ist kompatibel mit der GPL, so dass Sie das gesamte Projekt unter der GPL und Mitteilungs ausgeben kann , dass die Funktion auch unter der BSD ist Lizenz. Es wäre höflich, Änderungen, die Sie am BSD-lizenzierten Code unter dem BSD vornehmen, freizugeben.
David Thornley
@ David - Das OP wollte eine generische Antwort (daher mein Drang, die Lizenzen zu recherchieren). Sie sind ganz richtig. Es ist jedoch „nett“, Änderungen, die Sie am BSD-Code vorgenommen haben, doppelt zu lizenzieren, damit die Originalautoren ihn tatsächlich verwenden können, wenn sie dies wünschen.
Tim Beitrag
1
An welchem Punkt sollte die Hauptlizenzdatei Ihre Copyright - Vermerk über den ursprünglichen Autoren haben? Wenn Ihr SLOCs mehr als 200% des ursprünglichen Projekts SLOCs? 300%? Wenn das Projekt gegabelt Sie endet als eine von vielen librares oder Module in Ihrem Projekt?
Kochfelder
@hobs imo, Reihenfolge der Copyright - Hinweis ist kein Hinweis auf die Größe des Beitrags, sondern Details chronologisch die Ursprünge.
@TechnikEmpire chronologische Reihenfolge macht Sinn, aber für eine Liste Mitwirkenden eher als ein Copyright-Hinweis? Ich dachte, Copyright-Hinweise könnten besser nach den Codeabschnitten angeordnet sein, sie zu und die Wert / Menge dieser Abschnitte in dem Paket anwenden. Es ist nützlich, um eine Liste der Leute zu haben, Sie zu kontaktieren, in der Reihenfolge ihrer Priorität, wenn Sie etwas über die Lizenz ändern mögen. Also, wenn Sie die Erlaubnis von der ersten, aber nicht das letzte Mal, haben Sie eine kleinere Menge an Code zu erstellen, wenn Sie die Änderung vornehmen, werden bestimmt. Ich frage mich, was Linus tut?
Kochfelder