Wird "Open Source" jemals "meine Quelle"?

8

Wenn ich Open-Source-Code herunterladen würde, der eine nette Sache macht, die ich brauche, aber nicht annähernd so viele Optionen oder Schnickschnack hat, die ich brauche ... und ich mache eine Menge Änderungen an einigen Stellen Der Basiscode aus dem Open Source-Projekt ist noch vorhanden, aber es hat sich viel geändert und es wurde viel hinzugefügt ... Wird dieser Code jemals "meine Quelle" im Gegensatz zu "Open Source"?

BEARBEITEN:

Übrigens, ich habe eigentlich kein Projekt im Sinn, das ist nur allgemein - also würde ich die Lizenz nicht kennen. Diese Frage kommt mir von Zeit zu Zeit in den Sinn, wenn ich ein Projekt sehe, das ich verbessern könnte ...

Barry Franklin
quelle
6
Kurze Antwort, alles hängt von der verwendeten Lizenz ab. Nach welcher Lizenz fragen Sie?
Bob
7
Das hängt wirklich von der Lizenz ab, ob sie legal "Ihre" Quelle werden kann. Aber "Open Source" ist wirklich "Jedermanns Quelle". Wenn Sie es also so betrachten, dann gehört es Ihnen bereits! : D
Ryan Hayes
Was genau meinst du mit "Open Source" und "My Source"? Wenn Sie Software unter einer OSI-zertifizierten Lizenz erwerben, ändern und die vollständige Kontrolle darüber haben möchten, unter welcher Lizenz sie veröffentlicht werden soll, hängt dies von der Lizenz ab. Für die Gnu-GPL müssen Sie Ihre Änderungen unter der GPL freigeben, für Lizenzen im BSD-Stil jedoch nicht.
David Thornley
@DavidThornley Mit "Open Source" meine ich alles, was Sie zum Herunterladen finden können, was als Open Source gilt, und mit "meiner Quelle" meine ich etwas, das ich offen als "mein" veröffentlichen oder sogar als "mein" verkaufen könnte.
Barry Franklin
@Barry: In den von Ihnen beschriebenen Begriffen gibt es kein "Open Source". Jedes Projekt ist mit einer bestimmten Lizenz versehen. Normalerweise können Sie jedoch weiterhin OpenSource-Code verkaufen (Details abhängig von der Lizenz). Sie müssen nur auch die Quelle frei angeben (Details hängen von der Lizenz ab). Schauen Sie sich RedHat an, um ein Beispiel dafür zu finden.
Martin York

Antworten:

15

Es gibt einige Dinge, die Sie lernen müssen, wenn Sie mit OpenSource-Code umgehen. Zunächst können Sie diesen Wikipedia-Link besuchen, um einen Überblick über Opensource zu erhalten

Als nächstes müssen Sie die OpenSource-Lizenz berücksichtigen, mit der Sie sich befassen. Nicht alle OpenSource-Lizenzen ermöglichen es, das zu tun, was Sie erreichen möchten. Ausführliche Informationen zur Lizenzierung finden Sie unter Opensource-Lizenz . Ordnen Sie die Lizenz Ihres Codes der Lizenz unter diesem Link zu und erfahren Sie, was mit dem von Ihnen verwendeten Code getan werden kann.

Pankaj Upadhyay
quelle
1
+1 Du antwortest genauso wie
ich,
Es ist kein Lizenzproblem. Wenn Sie über eine Lizenz auf den Code zugreifen, haben Sie eine Lizenz vom Eigentümer des Codes. Was wiederum bedeutet, dass Sie den Code nicht besitzen.
Michael Shaw
1
@Ptolemy: Wenn ich BSD-lizenzierten Code erhalte und in ein Projekt einbinde, habe ich kein Urheberrecht für das Ganze. Ich habe die Möglichkeit, das Ganze mit jeder Lizenz zu veröffentlichen, auf die ich Lust habe, und Verstöße zu verklagen, und das ist nah genug, um den Code für mich zu besitzen.
David Thornley
Wenn Sie also feststellen, dass diese Codezeilen auch in einem Konkurrenzprodukt verwendet wurden, können Sie sie wegen Verletzung Ihres Urheberrechts verklagen? Das ist der wahre Test, Code zu besitzen, anstatt nur ein Lizenznehmer zu sein
Michael Shaw
@davidthornley Ich stimme dem zu ... das wäre auch nah genug für mich.
Barry Franklin
2

Kurz gesagt, nein.

Was Sie beschreiben, ist schlicht und einfach eine abgeleitete Arbeit. Es kann sich um 99,9% Code handeln, den Sie hinzugefügt haben. Da er jedoch von einem anderen Code abgeleitet ist, müssen Sie weiterhin das Urheberrecht und die Lizenz des Originalcodes respektieren.

Welche anderen Möglichkeiten haben Sie?

Can you look at that code, see how it works and then write your own version from scratch?

Das ist nicht so eindeutig. Sie sind jedoch immer noch einem erheblichen Risiko ausgesetzt, das Urheberrecht zu verletzen. Wenn Sie einen Code wörtlich kopieren, ist dies ein Verstoß. Wenn Sie Code ausschneiden und einfügen und dann die Variablen usw. umbenennen, ist dies ein Verstoß. Wenn Sie eine Technik kopieren, um ein bestimmtes Problem zu lösen, und dabei neuen Code schreiben, ist dies immer noch eine Verletzung des Urheberrechts.

Wenn Sie sich den Code ansehen und denken, dass Sie diese Funktion so verwenden und dann Ihr eigenes Programm von Grund auf neu schreiben, ohne diese beiden Codezeilen wörtlich zu kopieren, sind Sie wahrscheinlich der Eigentümer Ihres Codes.

To be 100% sure of owning my code, what doctor need to do?

Der Schlüssel besteht darin, das Risiko von Urheberrechtsansprüchen zu vermeiden. Beispiele finden Sie nicht in urheberrechtlich geschütztem Code. Schreiben Sie also keinen Code, wenn jemand anderes (wie Ihr Arbeitgeber) einen Anspruch auf Ihren Code haben könnte. Verwenden Sie die Quellcodeverwaltung, um regelmäßige Änderungen am Code zu protokollieren. (Dies beweist, dass Sie es geschrieben haben, und demonstriert die Codeentwicklung, anstatt es im Großhandel zu kopieren.) Verwenden Sie Ihren Code nicht in einer Umgebung, in der der Empfänger Grund zu der Annahme hat, dass er den Code jetzt besitzt.

So why is everyone else talking about licenses?

Der meiste im Internet verfügbare Code ist unter Lizenz verfügbar. Mit dieser Lizenz können Sie auf diesen Code zu Bedingungen zugreifen, die der Codebesitzer ausgewählt hat. Wie Sie diesen Code verwenden können und welche Berechtigungen und Rechte Sie für den Code haben, ist in der Softwarelizenz definiert. Sie sind möglicherweise berechtigt, abgeleitete Werke zu erstellen, diese mit Gewinn zu verkaufen und niemandem Ihren Quellcode zu geben. Ebenso kann es nicht. Es hängt alles von den Lizenzbedingungen ab. Jedoch besitzt jemand anderes das Urheberrecht am Originalcode und Sie können nicht verhindern, dass er denselben Code an Ihre Konkurrenten lizenziert.

Michael Shaw
quelle
1
Sie haben einige gute Fragen aufgeworfen ... Ich frage mich nur, wie jemand sagen kann, dass Sie eine Technik von überall kopiert haben - es gibt wirklich nicht zu viele einzigartige Techniken. Und jeder musste seine Codierung von irgendwoher lernen - ich frage mich nur, wo es darum geht, zu lernen, wie man etwas aus dem Code von jemandem macht, anstatt ihn abzureißen.
Barry Franklin
Es gibt eine sehr klare Linie. Einige beabsichtigen, Ihnen eine Technik beizubringen, und dann können Sie diesen Ansatz ganz sicher in Ihrem eigenen Code verwenden. Wenn Sie Code kopieren, wird der Code kopiert, und Sie haben ihn nicht erstellt oder das Urheberrecht von seinem derzeitigen Eigentümer
Michael Shaw - erhalten
1
Aber was passiert, wenn Bob mir etwas beibringt und Bob Joe das Gleiche beibringt und Joe Ron und Ron Bill unterrichtet ... dann kommt Bill mit einem Programm heraus, das genau wie meines funktioniert - wer gewinnt dort? Weder Bill noch ich wissen vielleicht, dass wir beide dasselbe von Bob gelernt haben ... und Bob könnte jeder oder alles sein (wie eine Website oder ein Buch). Wie konnte Bill sagen, dass ich seinen Code gestohlen habe, wenn er nicht beweisen kann, dass ich ihn nicht so gelernt habe wie er? Wie könnte ich mich verteidigen, wenn ich nicht beweisen könnte, dass ich es gelernt habe? Ist Bob der Besitzer des gesamten Codes, den ich, Bill, Joe und Ron schreiben?
Barry Franklin
1
Je nach Umgebung kann sogar die Wahrnehmung einer möglichen Verletzung des Urheberrechts schädlich sein. Microsoft nutzte den Copyright-Anspruch von sco linux vor einigen Jahren, um den Umsatz mit Windows CE zu steigern
Michael Shaw,
Hallo Barry, in Ihrem Beispiel würden die Urheberrechte des Codes jedem der Personen gehören, die den Code geschrieben haben. Sie erstellten jeweils unabhängig voneinander Code mit demselben Ansatz. Sie sind jeweils Eigentümer des Urheberrechts dieser Codezeilen, und wenn sie nachweisen können, dass jemand ihre bestimmten Zeilen kopiert hat, können sie eine Entschädigung für die Urheberrechtsverletzung verlangen.
Michael Shaw
1

Dies hängt von der Lizenz ab, die das Open Source-Projekt verwendet. Wenn es sich um eine GPL-Lizenz handelt und Sie jemals beabsichtigen, Ihre Binärdateien oder Quellen für die Öffentlichkeit freizugeben, müssen Sie eine GPL-kompatible Lizenz verwenden. Das heißt, der Code wird niemals ganz Ihnen gehören.

Wenn es sich bei der Lizenz um die Free-As-In-Free-Beer-Lizenz handelt, können Sie damit alles tun, was Sie möchten, und sie wahrscheinlich auch als Code freigeben, sofern nicht anders angegeben.

Dimme
quelle
2
Selbst wenn Sie den Code mit einer sehr zulässigen Lizenz erhalten, gehört er Ihnen immer noch nicht. Sie haben nur die Lizenz, (fast) alles damit zu tun
jk.
0

Wie andere bereits NEIN beschrieben haben, zumindest nicht mit der Standard-GPL, wie ich sie kenne, damit ich kein totes Pferd schlagen werde.

Angenommen, dieses Open-Source-Projekt fehlt, und Sie starten ein vollständig getrenntes Projekt, das die Binärdateien des betreffenden GPL-Projekts verwendet und ein eigenes Verhalten bereitstellt, um das fehlende Verhalten auszugleichen. Dann wäre dieses separate Projekt IHRE Quelle.

Beispiel: "Das Crappy LGPL-Projekt mit dem Namen Bamboozle ist gut darin, Widgets zu erstellen, verarbeitet RoughArgs jedoch nicht zuerst vor. Sie erstellen ein proprietäres Produkt namens Flamboozle, das Sie an einem regulären OR RoughArgs übergeben und Widgets ausspucken. Hinter den Kulissen wird Bamboozle verwendet , macht aber noch etwas anderes und das verkaufen Sie.

Dies kann völlig legal sein, vorausgesetzt, Sie verstoßen nicht ausdrücklich gegen die Lizenzvereinbarung und in einer typischen LGPL würden Sie dies nicht tun, solange Sie die Bamboozle-Lizenzvereinbarung mit allen verteilten Kopien von Flamboozle einschließen.

maple_shaft
quelle
Es gibt viele, viele Open Source-Lizenzen - GPL und LGPL sind nur zwei in einem Meer von Lizenzen.
Bryan Oakley