Ist es möglich, jede Zeile eines Open-Source-Projekts auf eine etwas andere Weise umzuschreiben und in einem Closed-Source-Projekt zu verwenden?


122

Es gibt einen Code, der GPL oder LGPL ist und den ich für ein iPhone-Projekt verwenden möchte.

Wenn ich diesen Code (JavaScript) nehmen und ihn für die Verwendung auf dem iPhone in einer anderen Sprache umschreiben würde, wäre das ein rechtliches Problem?

In der Theorie ist der Prozess passiert, dass ich jede Zeile des Projekts durchgegangen bin, gelernt habe, was es tut, und dann die Ideen in einer neuen Sprache umgesetzt habe.

Für mich ist es so, als würde man lernen, etwas zu implementieren, es dann aber getrennt von der ursprünglichen Lizenz neu zu implementieren. Daher haben Sie nur den Algorithmus kopiert, den Sie möglicherweise von einem anderen Ort als dem ursprünglichen Projekt gelernt haben.

Deckt die Lizenz auch die spezifische Implementierung oder den Algorithmus ab?

BEARBEITEN------

Wirklich froh zu sehen, dass dieses Thema eine gute Konversation schafft. Um das Projekt ein wenig zu unterstützen, führt der Code eine Art Audioanalyse durch. Ich glaube, es ist nicht trivial zu lernen oder zu implementieren, obwohl ich bereit war, mich auf diese Aufgabe einzulassen (ich bin auf der Ebene, auf der ich einen FFT- Algorithmus implementieren kann, und dies würde darüber hinausgehen.) Es ist eine faire Low- LOC- Skript, daher hätte ich nicht gedacht, dass es zu schwierig wäre, einen geraden Port zu erstellen.

Mir gefällt die Idee sehr, meinen Port erneut freizugeben und ihn in der Anwendung zu verwenden. Ich sehe kein Problem damit, und es wäre eine großartige Möglichkeit, der Community etwas zurückzugeben.

Ich wollte eine Zeile hinzufügen, in der es darum ging, die moralischen Fragen nicht zu diskutieren, aber ich bin ziemlich froh, dass ich das nicht getan habe, da es die Debatte ein wenig angefacht zu haben scheint.

Ich finde es immer noch seltsam, Open Source Code zu verwenden, um daraus zu lernen. Bedeutet dies, dass alles, was man aus einem Open-Source-Projekt lernt, nicht in einem Closed-Source-Projekt verwendet werden darf? Und wie lange nach oder anders muss eine Implementierung sein, um nicht als Verletzung der Lizenz zu gelten? Trübe!

EDIT 2 --------

Zusatzfrage


27
Ich würde gerne einer anderen Frage auf den Grund gehen: "Wenn Sie einen Algorithmus aus einem Open-Source-Programm lernen und den Algorithmus erneut implementieren, haben Sie die Lizenz verletzt?" Ich frage dies aus juristischer Sicht, nicht aus moralischer Sicht. Aber ist das nicht auch aus moralischer Sicht eine legitime Form des Lernens? Dürfen wir keine Erkenntnisse aus Open-Source-Projekten nutzen? Dies scheint gegen den Punkt der GPL selbst zu gehen?
Chris Barry

8
@optician Das Problem ist, dass Sie es Zeile für Zeile übersetzen möchten, was es eindeutig zu einem abgeleiteten Werk macht, wie eine Übersetzung zwischen menschlichen Sprachen. Die Idee selbst ist nicht urheberrechtlich geschützt, sondern möglicherweise durch ein Patent geschützt. Aber Vorsicht, IANAL.
Starblue

3
Kommentatoren : Kommentare dienen der Klarstellung und nicht der ausführlichen Diskussion. Wenn Sie eine Lösung haben, hinterlassen Sie eine Antwort. Wenn Ihre Lösung bereits veröffentlicht wurde, stimmen Sie sie bitte ab. Wenn Sie diese Frage mit anderen diskutieren möchten, verwenden Sie bitte den Chat . Weitere Informationen finden Sie in den FAQ .

2
@optician Das Stack Exchange-System ist kein Diskussionsforum, in dem jeder Beitrag ein Thema ist, dessen Richtung sich im Laufe der Zeit ändern kann. Wenn Sie eine andere Frage haben, bei der Sie Hilfe benötigen, stellen Sie eine andere Frage. Andernfalls können Sie Ihre Frage bearbeiten, um zu klären, ob die erhaltenen Antworten Ihr ursprüngliches Problem nicht vollständig lösen.

2
Ich stimme dafür, diese Frage als "Off-Topic" zu schließen, da es sich um rechtliche Fragen handelt.
Robert Harvey

Antworten:


257

Ich bin kein Anwalt. Dies ist keine Rechtsberatung.

Das heißt, jede Zeile eines Antrags zu nehmen und geringfügig zu ändern, um das Urheberrecht zu umgehen, ist offensichtlich ein abgeleitetes Werk ohne jede plausible Verteidigung. Selbst der bestgekaufte Richter und die beste Jury werden es mit Sicherheit mit Ihnen aufnehmen, wenn Sie jemals vor Gericht gezogen werden.

Nur zum Vergleich: Unternehmen, die etwas für die Interoperabilität umschreiben müssen, stellen in der Regel verschiedene Personengruppen ein, um die Quelle zu verstehen und den Port zu erstellen ("Reinraumimplementierung"), damit niemand sie beschuldigen kann, einen abgeleiteten zu erstellen Arbeit. Was Sie vorschlagen, ist das genaue Gegenteil.


25
Ich wünschte, ich könnte Ihnen +10 geben ...
Marjan Venema

5
Das ist "wenn" es jemals vor Gericht kam.
QueueHammer

5
Wenn die Software überhaupt erfolgreich ist, wird sie höchstwahrscheinlich irgendwann vor Gericht stehen.
Justin C

4
@optician: Kommt darauf an, wie schnell Sie das Original wieder herstellen können, und das ist die Art von Frage, die Sie von einem Anwalt beantworten müssen.
David Thornley

5
@DavidStone Du hast es rückwärts. Sie müssen verstehen, dass ein logischer Algorithmus und ein bestimmter Ausdruck eines Algorithmus im Code rechtlich getrennt sind. Nur der Ausdruck ist urheberrechtlich geschützt. Die Gruppe, die die Neuimplementierung durchführt, hat keinen Kontakt mit dem ursprünglichen Ausdruck des Algorithmus (sie sehen nur interne Dokumentation zum logischen Algorithmus), und ihr schriftlicher Ausdruck wird sich wahrscheinlich vom ursprünglichen Ausdruck unterscheiden, sodass dies sehr unwahrscheinlich ist das Urheberrecht verletzen. Sie können jedoch leicht ein Patent verletzen, da ihr logischer Algorithmus mit dem Original identisch ist.
Apsillers

72

Nach Betsy Rosenblatt der Harvard Law School Urheberrecht Basics :

Was ist eine Urheberrechtsverletzung?

Vorbehaltlich bestimmter Abwehrmaßnahmen ist es eine Urheberrechtsverletzung für andere Personen als den Autor, ohne dessen Erlaubnis Folgendes zu tun:

  1. das Werk kopieren oder reproduzieren
  2. Erstellen Sie eine neue Arbeit, die aus der ursprünglichen Arbeit abgeleitet ist (z. B. indem Sie die Arbeit in eine neue Sprache übersetzen, das Bild kopieren und verzerren oder die Arbeit auf ein neues Ausdrucksmedium übertragen).
  3. das Werk oder eine Kopie des Werks zum ersten Mal verkaufen oder verschenken (aber sobald der Autor dies getan hat, wird das Recht zum Verkauf oder zur Verschenkung des Gegenstandes auf den neuen Besitzer übertragen. Dies wird als "Erster" bezeichnet "Verkauf" -Doktrin: Sobald ein Inhaber des Urheberrechts das Werk oder eine Kopie davon verkauft oder verschenkt hat, kann der Empfänger oder Käufer tun, was ihm gefällt.) 17 USC § 109 (a).
  4. das Werk in der Öffentlichkeit aufführen oder ausstellen (dieses Recht gilt nicht für Bildende Kunst) ohne Erlaubnis des Urhebers. 17 USC §106. Es ist auch eine Urheberrechtsverletzung, die "moralischen Rechte" eines Autors im Sinne von 17 USC 106A zu verletzen. Moralische Rechte werden an dieser Stelle diskutiert.

Es sieht für mich so aus, als würdest du Punkt 2 oben verletzen.

Ich denke jedoch, dass Terminologie hier eine große Sache ist. Sie sagte : „Wenn ich diesen Code nahm (JavaScript) und schrieb es in einer anderen Sprache für den Einsatz auf dem iPhone wäre , dass eine rechtliche Frage sein?“ (Hervorhebung von mir). Das Umschreiben kann sich vom Kopieren unterscheiden oder auch nicht. Wenn Sie sich zum Beispiel die Mona Lisa angesehen haben, dann in Ihr eigenes Studio gegangen sind und gemalt haben, woran Sie sich erinnern, dann scheint es mir, dass Sie ein Originalwerk schaffen, das Ihren Ausdruck dafür ist, wie Sie das Original wahrgenommen haben. Wenn Sie jedoch eine Kopie der Mona Lisa in Ihrem Atelier hatten und Sie eine Kopie davon gemalt haben, und nicht das, woran Sie sich erinnern, dann denken Sie, dass Sie definitiv kopieren.

Auf die gleiche Art und Weise, wenn Sie MS Word verwenden und vielleicht sogar einen Teil des Codes betrachten und dann Ihr eigenes Textverarbeitungsprogramm schreiben, das funktionale Ähnlichkeiten aufweist, glaube ich, dass es Fälle gibt, in denen entschieden wurde, dass "auszusehen" & feel "ist nicht urheberrechtlich geschützt. (Dies sagt natürlich nichts über Patente aus.)

Sie sollten wahrscheinlich einen Anwalt fragen (da ich keiner bin).

Meine persönliche Meinung ist, dass ein "Port" eine abgeleitete Arbeit ist und Sie den portierten Code in derselben Lizenz freigeben müssen.


1
es geht auch darum, es zu beweisen. Wenn Sie sich den Quellcode von Word angesehen und dann Ihr eigenes Textverarbeitungsprogramm geschrieben haben, wird es Ihnen schwer fallen, zu beweisen, dass Sie nichts kopiert haben.
gbjbaanb

6
@gbjbaanb: Es liegt an Microsoft, zu beweisen, dass Sie dies in den meisten Ländern getan haben , nicht umgekehrt. Nicht, dass es darauf ankommt, denn wenn Microsoft Sie verklagt, sind Sie durcheinander, es sei denn, Sie werden von einer großen Firma pro bono entlassen. :-) Und wenn du Zugriff auf den Word-Quellcode hättest, stehen die Chancen gut, dass du bereits etwas unterschrieben hast, das besagt, dass du sowieso nichts schreiben würdest, um damit zu konkurrieren ...
TJ Crowder

3
Anstatt 'hier' zu schreiben, nennen Sie den Autor besser 'Betsy Rosenblatt, Harvard Law School'.
Nicolai Reuschling

3
@Nicolai Reuschling: lol :)
Scott Whitlock

4
@TRiG: "Ich weiß nicht, warum du das lustig findest." - Vielleicht, weil du kein Gespür für Ironie hast. ;)
Scott Whitlock

55

Ich bin kein Anwalt, das ist kein Rechtsrat, und wenn Sie sich auf das verlassen, was ich in irgendeiner zweifelhaften Unternehmung sage, (1) sind Sie ein Idiot, und (2) lehne ich jede Verantwortung ab. Das habe ich über die Jahre von Leuten gehört und gelesen, die es zu wissen scheinen.

Richter spielen keine "theoretischen" Spiele. Sie mögen keine Menschen, die Wege finden, um das Gesetz zu verdrehen, die in Bezug auf die logische Analyse vielleicht akzeptabel sind, aber die der offensichtlichen Absicht und der Art und Weise, wie Richter in der Vergangenheit entschieden haben, widersprechen. Versuchen Sie niemals, über das Gesetz zu klug zu sein, wenn die Chance besteht, dass Sie in einem Gerichtssaal landen und Ihre Interpretation verteidigen.

Es ist allgemein anerkannt, dass das Herausnehmen eines Romans und das Erstellen eines Films oder das Übersetzen in eine andere Sprache abgeleitete Werke sind, und das sind viel größere Transformationen als Sie reden und erfordern viel mehr Kreativität. Betrachten Sie diese als Beispiele; ein Richter wird es mit Sicherheit tun.

In den USA gab es Fälle, in denen das lose Kopieren eines Programms, von dem Sie sprechen, als Verstoß gewertet wurde. Erwarten Sie in den USA, dass diese als Präzedenzfall verwendet werden.

Mit anderen Worten, Sie gründen ein kommerzielles Unternehmen auf einer Basis, die als illegal eingestuft wird, wenn sich jemand die Mühe macht, danach zu suchen. Keine gute Idee.

Wenn Sie die Idee des Urheberrechts respektieren oder die Kontrolle haben, die ein Autor über das, was er oder sie veröffentlicht, hat, sind Sie außerdem scheinheilig. Der Quellcode wurde Ihnen unter bestimmten Bedingungen zur Verfügung gestellt. Sie verletzen das Gesetz und die ausdrückliche Absicht des Autors.

Algorithmen können jetzt nicht urheberrechtlich geschützt werden. In den USA haben die Gerichte entschieden, dass es unmöglich ist, eine Idee urheberrechtlich zu schützen, und alles, was normalerweise urheberrechtlich geschützt ist und der einzige Weg ist, etwas auszudrücken, ist nicht urheberrechtlich geschützt. Daher können Sie den Algorithmus auf jeden Fall verwenden.

Es gibt eine Möglichkeit, einen Algorithmus zu kopieren, der urheberrechtlich geschützt ist: den "Reinraum" -Ansatz, bei dem eine Person oder Gruppe den Quellcode untersucht und eine Beschreibung des Algorithmus (mit möglichst wenigen Implementierungsdetails) und eine andere Person oder erstellt group schreibt neuen Code ohne Verweis auf die ursprüngliche Quelle. Je näher Sie dem kommen, desto sicherer sind Sie.

Vielleicht möchten Sie auch berücksichtigen, dass Sie durch das Posten der Frage hier eine mögliche Absicht einer Urheberrechtsverletzung in einer Form veröffentlicht haben, die wahrscheinlich auf Sie zurückgeführt werden kann, wenn jemand ein gesetzliches Recht dazu hat (z. B. Entdeckung in ein Zivilverfahren oder ein einfaches polizeiliches Ermittlungsverfahren, wenn sich herausstellt, dass dies ein Strafverfahren ist).


18
+1 Für "Vielleicht möchten Sie auch berücksichtigen, dass Sie durch das Posten der Frage hier eine mögliche Absicht zur Verletzung des Urheberrechts veröffentlicht haben."

6
+1 Für den "Reinraum" -Ansatz - ich habe mich immer gefragt, wie das funktioniert.
DMan

Ich habe gerade im Autorenforum gepostet, wie die Situation ist, und werde die Ergebnisse hier veröffentlichen.
Chris Barry

Wie ist ein Algorithmus eine Idee und ein Programm keine Idee? Oder wie ist ein Programm keine Sammlung von Algorithmen?
Scooter

16

Warum sollten Sie Ihren Port nicht einfach als Open Source-Datei öffnen und den Rest Ihres Projekts als Closed Source-Datei ausführen?

Um eine andere Antwort von mir zu zitieren :

Open Source funktioniert, weil es eine Community ist. Weil es gegenseitig ist. Sie erhalten kein Geld, wenn Sie Open-Source-Code schreiben. Sie erhalten Geld, indem Sie Open-Source-Code konsumieren. Warum schreibst du Open Source Code? Um etwas zurückzugeben.

Aber aus einer pragmatischeren Sicht:
Wenn der von Ihnen portierte Code wirklich so nützlich ist, dass Sie der Meinung sind, dass Sie ihn schützen sollten, um einen Vorteil zu erhalten (den Sie nicht haben, weil Benutzer, die Appcelerator verwenden, ihn sofort verwenden können), wird dies der Fall sein sei früher oder später ein Open Source Port. Es wird von einer Reihe von Personen gewartet, es wird verwendet und dadurch von noch mehr Personen getestet und es wird weiter verfeinert, um die von der Zielsprache geförderten Prinzipien einzubeziehen und eine bessere Schnittstelle zu den vorherrschenden Frameworks auf Ihrer Plattform zu schaffen. Früher oder später wird Ihr Code im Vergleich dazu wie ein Miststück aussehen.
Open Sourcing ist in der Tat Ihre Chance, den Überblick zu behalten. Es ist Win-Win. Wenn Sie Glück haben, erhalten Sie sogar Betreuer für diesen Code und können sich auf Ihre Anwendungslogik konzentrieren, was Ihr Produkt tatsächlich einzigartig macht.


1
+1 Open Source ist einer der besten Codes überhaupt. Ich kann jedoch erkennen, dass das Hinzufügen von GPL-Code zu einem kommerziellen Projekt eine größere Hürde darstellt, wenn dies eine offene Beschaffung des gesamten Produkts bedeutet.
Alex Jasmin

2
Soweit ich weiß, ist GPL-Code in iOS-Apps gemäß den Lizenzbestimmungen von Apple verboten.
Andrey Tarantsov

2
Nun, es scheint, dass eine Klausel in den Apple ToS einer Klausel in der GPL widerspricht. Obwohl dies nicht verboten ist, scheinen sie inkompatibel zu sein.
Vatine

1
Wenn der ToS von Apple der GPL widerspricht, können Sie ihn durch das eigene Copyright unter mehreren Lizenzen freigeben, einmal unter einer Lizenz, die mit Apple ToS kompatibel ist, aber auch unter der GPL.
Pieter B

8

Ich bin kein Anwalt, ich spiele nicht einmal einen im Fernsehen.

Aber ich denke, das Problem hier ist die Ableitung. Wenn Ihre neue Arbeit von der GPL- oder LGPL-Arbeit abgeleitet ist, muss diese Arbeit den Anforderungen der GPL oder LGPL entsprechen. Ihre Arbeit wird eindeutig abgeleitet, auch wenn Sie sie Zeile für Zeile in einer anderen Sprache vollständig neu schreiben.


Ja, aber bedeutet das, dass Sie diesen Algorthim nie wieder benutzen dürfen? Verbietet Ihnen die Tatsache, dass Sie diesen Algorithmus in einem anderen Projekt implementiert gesehen haben, die Verwendung dieses Algorithmus selbst, es sei denn, Sie konnten nachweisen, dass Sie über andere Lernpfade das Wissen hatten, den Algorithmus selbst zu entwickeln?
Chris Barry

4
Ich bin auch kein Anwalt, also rate ich nur. Ich würde die Wörter "abgeleitet von" nicht verwenden, wenn Sie Ihre eigene Implementierung eines Algorithmus in einer anderen Sprache schreiben würden. Ich glaube nicht, dass die GPL als verstecktes Patentsystem geschaffen wurde.
Captain Sensible

1
@Seventh - Markieren Sie den Begriff "Covert Patent System" und patentieren Sie das Konzept.
Mayo

2
Algorithmen sind nicht urheberrechtlich geschützt. Im Sinne des Urheberrechts ist die Wiederholung eines Algorithmus nicht umsetzbar. Der Punkt ist, ob Ihr Programm textuell vom Original abgeleitet ist oder nicht; Das bedeutet Variablennamen, Code-Layout usw. (Das Patentrecht kann jedoch auch für Algorithmen gelten oder nicht.)
Kilian Foth

1
Die Lizenz deckt die Implementierung und nicht den Algorithmus selbst ab. Die Implementierung in eine andere Sprache zu portieren, ist eine Abwandlung, genau wie Harry Potter auf Spanisch portiert werden würde. Sie können den Algorithmus auf Ihre eigene Weise implementieren. Ich würde keine Kopie / Pasty empfehlen und den Algorithmus erlernen, den Sie implementieren möchten, und Ihre eigene Version von Grund auf neu schreiben. IANAL.
Dave Rager

5

Wie andere sagen, handelt es sich wahrscheinlich um eine abgeleitete Arbeit, die direkt gegen die GPL-Bestimmungen verstößt, wenn Sie sich dazu entschließen, "von der ursprünglichen Lizenz zu trennen" (ich gehe davon aus, dass Sie die GPL entfernen und etwas anderes verwenden würden, sogar eine geschlossene Quelle). .

Auch wenn es als "legal" abrutscht, ist es eindeutig unmoralisch . Der Autor einer GPL-Software hat eine solche Lizenz gewählt, die die Freiheiten auf abgeleitete Werke erweitert. Sei es eine gute oder eine schlechte Sache, es ist die Absicht des Autors , und Sie sollten das respektieren . Sie gaben Ihnen den Code zum Lesen und Ändern, Forken und was auch immer, nur im Gegenzug, dass Sie die Bedingungen nicht ändern. Es ist auch wahrscheinlich, dass Sie nicht erwartet wurden, für die Software selbst zu bezahlen.

Ich weiß, dass Geld schwierig ist, aber in dieser Form stiehlt es, wenn Sie Ihre Idee malen. Sicher, Sie hätten diesen Algorithmus oder was auch immer für Implementierungsdetails von einer anderen Quelle lernen können, aber Sie taten es nicht, wie Sie selbst sagten.

Wenn Sie sich nicht um die Moral kümmern, denken Sie daran, dass es aufgrund der grauen Legalität Ihrer Handlungen (oder der bevorstehenden Handlungen) sehr wahrscheinlich ist, dass sich die ursprünglichen Autoren wegen einer Urheberrechtsverletzung an Apple wenden. Bisher entfernte Apple schnell Software, die gegen die GPL verstieß. Eine andere Möglichkeit ist eine Klage.

Wenn ich Sie wäre, würde ich entweder in Betracht ziehen, meine eigene Arbeit zu veröffentlichen (das ist nicht so schlimm!) Oder das Wissen auf andere Weise zu erlangen.


Es scheint, dass es Apps gibt, die GPL sind (WordPress-App?). Wollen Sie damit sagen, dass es nicht in Ordnung ist, ein Open Source-Projekt zum Erlernen eines Algorithmus zu verwenden?
Chris Barry

Nein, das sage ich nicht. Ich bezog mich auf die Idee von OP, dieselben Zeilen in eine andere Programmiersprache zu übersetzen. Wo endet nun die Ableitung und wo beginnt die ursprüngliche Arbeit? Dies ist keine einfache Frage, aber ich bin mir ziemlich sicher, dass die bloße Neuimplementierung desselben Algorithmus ohne Modifikationen abgeleitete Arbeit ist.
Tamás Szelei

Ja, das ist keine einfache Frage. Es wäre auch interessant zu wissen, wie viel Veränderung ausreichen würde, um nicht illegal zu sein. Lebensfähige Namen ändern, Leerzeichen? Es fühlt sich irgendwie albern an, da das Zeug so leicht zu ändern wäre, besonders wenn man den Code versteht und so gute alternative Namen machen kann.
Chris Barry

Übrigens, der Code ist gut kommentiert, so dass es wirklich einfach ist, herauszufinden, was er tut.
Chris Barry

Verwenden Sie einfach gesunden Menschenverstand. Denken Sie als Programmierer, dass das Ändern von Leerzeichen und Variablennamen eine ausreichende Änderung ist? Letztendlich (in realistischen Randfällen) würde das Gericht über die Rechtmäßigkeit entscheiden.
Tamás Szelei

5

Wie wäre es, wenn Sie versuchen, das Richtige zu tun und nicht jemandes Ideen zu stehlen? Sie können dem Ersteller des Codes einfach eine E-Mail senden und ihn fragen, ob Sie Teile Ihres Projekts von ihren trennen können. Viele Leute hätten damit kein Problem. Wenn sie ein Problem damit haben, warum sollten Sie dann Ihren Ruf als Profi in der Community beeinträchtigen, auch wenn Sie rechtliche Probleme beiseite lassen? Die Tatsache, dass diese Frage mehr oder weniger lautete: "Womit kann ich davonkommen?", Im Gegensatz zu "Was soll ich tun?" ist ein bisschen beunruhigend.

Fragen Sie unter dem Strich die Person (oder Personen), die den Code geschrieben hat .


2
Der Autor wurde gefragt und ich werde die Ergebnisse hier veröffentlichen.
Chris Barry

5

Ich bin auch kein Anwalt. Wenn Sie sich Sorgen machen, ob dies ein rechtliches Problem ist, sollten Sie diese Frage wahrscheinlich nicht einmal stellen und nur Ihre eigene schreiben.

Meine persönliche Meinung dazu:

Wenn Sie den Javascript-Code verwenden und ihn in einer anderen Sprache schreiben, wird dies als Portierung bezeichnet und als abgeleitete Arbeit betrachtet. Wenn Sie eine eigene Version der Software schreiben und den Javascript-Code als Referenz verwenden, um zu erfahren, wie bestimmte Algorithmen funktionieren, sind Sie wahrscheinlich in Ordnung.

Ich würde mich irren, wenn ich einen Anwalt fragen würde.

Das Urheberrecht erlaubt es Ihnen als Ergänzung , NICHTS [*] mit dem veröffentlichten Quellcode zu tun, außer ihn zu lesen. Die Lizenz, unter der der Rechteinhaber sie freigegeben hat, ermöglicht Ihnen bestimmte zusätzliche Rechte, die nicht durch das Urheberrecht vorgesehen sind. Das Aufnehmen und Verwenden des Codes auf andere als in der Lizenz zugelassene Weise unterscheidet sich nicht vom Aufnehmen und Verwenden von urheberrechtlich geschützten Werken, ohne die Erlaubnis des Autors einzuholen.

[*] Mit Ausnahmen für den fairen Gebrauch.


1
Wenn es sich um eine GPL handelt, können Sie mehr als nur lesen. Sie können abgeleitete Werke erstellen, solange diese Derivate auch GPL sind.
Zhehao Mao

Ja das ist richtig.
Dave Rager

4

Nein, es ist nicht ethisch. Es ist mit ziemlicher Sicherheit illegal. Und wenn ich jemals eine Job-App von jemandem überprüft hätte, der das getan hätte, wäre sie mit äußersten Vorurteilen durchgegangen.


Wollen Sie damit sagen, dass es nicht ethisch ist, aus einem Open-Source-Projekt heraus zu lernen, wie man etwas umsetzt?
Chris Barry

4
@Chris: Es ist nicht ethisch einwandfrei, ein abgeleitetes Werk aus einem Open-Source-Projekt zu erstellen und zum Verkauf freizugeben, entgegen der Absicht des Autors, die durch die Lizenz bewiesen wird. Wenn Sie die Lizenz nicht einhalten können und stattdessen herumlaufen ... ew.
Paul Nathan

1
Ich versuche nicht, die Lizenz zu umgehen (warum ich die Frage gestellt habe), aber ich habe mich gefragt, wie die Situation in Bezug auf solche Probleme war. Gibt es eine zeitliche Begrenzung oder einen Unterschied zwischen zwei Werken, die verhindern, dass es sich um ein abgeleitetes Werk handelt? Ansonsten scheint es, dass man Wissen, das man aus dem Studium von Open Source Code gelernt hat, nicht nutzen kann?
Chris Barry

Sie können jederzeit eine Anwendung verkaufen, die auf Open Source-Code basiert. Tatsächlich erlaubt die Definition von Open Source (von der Open Source Initiative vorgegeben) dies ausdrücklich. Sie müssen jedoch die Lizenz einhalten, die das Dilemma des OP darstellt. Die Bedingungen des App Store und der GPL stehen in Konflikt, was hier das Problem ist.
Martin Vilcans

2

Codieren Sie immer so, als wäre der Typ, der am Ende Ihren Code verwaltet, ein gewalttätiger Psychopath, der weiß, wo Sie leben. ~ Martin Golding

Ich bin kein Anwalt, also werde ich nicht wie einer antworten. Außerdem haben viele andere Nichtjuristen bereits ihre Gedanken zu den rechtlichen Konsequenzen Ihrer Idee geäußert. Und ich werde die Moralisierungs- / Ethikdebatte überspringen.

Wenn ich Sie wäre, würde ich mich als Entwickler mehr um die Konsequenzen kümmern. Es ist eine Respektsache. Vor allem Selbstachtung.

Sicher, wir gehen alle auf die Jagd nach "How d'ya {Implementierung} in {Spezifikation}?" von Zeit zu Zeit. Das ist, woher Stack kam, Amirit? Und so sind wir alle hier, oder? Darüber spreche ich nicht, weil Sie nicht darüber sprechen.

Wenn ich den Geniestreich + den heldenhaften Einsatz = das Ergebnis, das es wert ist, der Entwickler-Community als Open-Source-Angebot präsentiert zu werden, kombinieren würde und die Leute es genug mochten, um es überhaupt zu nutzen, wäre ich absolut schmeichelhaft. Ich würde große Zeit sein. Wie John Reisig oder Mark Story. Wenig von mir. Und dann kam ein Trottel und fügte meinen Beitrag hinzu, damit sie ihn kommerziell anbieten oder in ihre kommerzielle App einbinden können? Tot umfallen.

Code ist wie Handschrift. Sie können eine App, die größer als eine Streichholzschachtel ist, nicht so stark ändern, dass ein anderer legitimer Entwickler die beiden nicht nebeneinander unterscheiden und sagen kann: "Moment mal ..." Als Entwickler wäre es mir zu peinlich, dass meine Kollegen dies tun , meine Kollegen, Menschen, die ich respektiere und nach deren Respekt ich mich sehne, würden jemals herausfinden, dass ich den Code von jemandem aufgebockt habe. Ich wäre ein Gespött. Denn das ist eine epische Kopie Pasta Script Kiddie BS. Möchten Sie sich wirklich in den Augen Ihrer Kollegen delegitimieren? Jacking Code ist ein guter Anfang.

Und als Entwickler sollten Sie Folgendes bedenken: Wenn das meine App wäre und ich herausgefunden habe, dass Sie sie so aufgebockt haben, dass Sie sich Sorgen machen, verklagt zu werden, und wenn ich mich zum Teufel entscheide, Sie zu verklagen, verdienen Sie einen Stapel Geld Trotzdem danke ich meinem Code. Warum sollte ich dich nicht dort treffen, wo es weh tut, vielleicht etwas davon zurückbekommen? Woher weißt du, dass ich kein Jugendlicher bin oder über ein Temperament und gruselige Fähigkeiten verfüge? Gehen Sie mir aus dem Weg zu pwn r00 [auf Ihre b0xen, sozusagen. Da würde mir das Aufbocken meiner App zeigen, dass ich> dich (Basis: ich könnte schreiben, was du nur aufbocken könntest). Es wäre nicht das erste Mal.


2
Ich mag diese Antwort wirklich. Ich denke, das Problem ist, wenn Sie den Code als Lernpunkt verwenden und das dann erneut implementieren können. Ich denke, es geht um ein 200 ~ LOC-Skript, also ist es nicht so schwierig. Ich wollte eigentlich nur von einem Arbeitsbeispiel für mein Lernen ausgehen, und daher schien es sinnvoll, von dort aus zu beginnen. Wenn ich das Ganze in Psudo-Code schreiben würde und meine Portierung GPL würde, würde das mich in eine vernünftige Position bringen? Ich denke wirklich, dass der Titel des Beitrags die Debatte mehr ausgelöst hat, als ich erwartet hatte.
Chris Barry

Betrachten Sie die Natur der Frage, um eine Debatte auszulösen: Eine professionelle Entwicklerin schenkt ihr Herz und ihre Seele in ihr Handwerk, ob sie will oder nicht. Stunden meiner Zeit, Eimer voller Blut, Schweiß und Tränen, weil die Natur der Software ein Tier sein soll. Und obendrein ist unser Handwerk so schwierig, dass wirklich hervorragende Beiträge zu Open Source geleistet werden (js libs, PHP-Frameworks usw.) - an dieser Stelle, die sich unter uns nicht auf Open Source verlassen, um sich professionell über Wasser zu halten ? Diese Frage ist für uns alle zutiefst persönlich, ob wir sie nun realisieren oder nicht.
OpenSorceress

Das heißt, ich habe das meiste, was ich weiß, von Open-Source-Zauberern wie John Reisig und Mark Story und ihrer Gruppe von Zauberkindern gelernt. JQuery ist mein kleiner Freund. CakePHP ist mein Brot und Butter. Daran ist überhaupt nichts auszusetzen. Daher der Unterschied zwischen Aufbocken und Portieren. Das ist es, worüber wir sprechen, wenn wir sagen, wir stehen auf den Schultern von Riesen.
OpenSorceress

0

Sie können aus abgeleiteten Arbeiten keine abgeleiteten Arbeiten machen ... und erwarten, dass es sich nicht um abgeleitete Arbeiten handelt. Es kann unkenntlich werden, aber das ist etwas anderes. Sie können von jedem beliebigen Text ausgehen und nach einer Reihe von Änderungen einen beliebigen Text abrufen (z. B. den ersten entfernen, den zweiten einfügen), sodass dies nicht bedeutet, dass der Vorgang abgeschlossen wurde. Es ist also nicht wichtig, ob etwas möglich ist, sondern ob es tatsächlich passiert ist (nur unmöglich, offensichtlich ist es nicht geschehen).

Moralisch gesprochen: Von allem zu lernen, was man (legal) erreichen kann, ist in Ordnung, aber Quellen sollten anerkannt werden. Ruhe ist Legalität.

IANAL, aber ich würde nicht glauben, dass ich etwas falsch gemacht habe, wenn: 1) ich aus der Open-Source-Implementierung gelernt habe 2) derselbe Algorithmus (sogar in derselben Sprache) implementiert wird, indem dies tatsächlich getan wird, werden große Teile natürlich völlig anders und manche werden es auch sei wirklich ähnlich. Wenn es sich bei diesen ähnlichen Teilen um Dinge handelt, bei denen beide Seiten der gleichen Codierungspraxis gefolgt sind und daher nicht unterschiedlich sein können, sind diese Teile imo nicht urheberrechtlich geschützt. Z.B. Wenn eine Klasse zwei private String-Felder hat und Getter und Setter hat, ist es nur interessant, dass diese Klasse zwei Lese- / Schreibeigenschaften hat, keine Implementierungen von Gettern und Settern.


0

Wenn Sie jede Zeile einzeln neu schreiben, können Sie die Zeilen "kopieren" oder nicht.

Sie kopieren aber wörtlich die Reihenfolge, Gesamtstrukturierung und Einbeziehung der Zeilen. Mit anderen Worten, solche Sachen, die die Arbeit zu einem "Ganzen" machen.

Sie kopieren den Teil, der besagt, dass "diese Zeile hier und diese Zeile dort stehen soll". Dies ist ein großer Teil des Gesamtalgorithmus.

Wenn ein Projekt gestartet wird, weiß niemand, was einzubeziehen ist, welche Dinge mehr oder weniger wichtig sind, wie die Algorithmen zu strukturieren und zu komponieren sind. Diese Informationen müssen irgendwann erstellt und entworfen werden. Das müsstest du aber nicht, denn du würdest es "kopieren".


Als Beispiel:

Wenn ich eine Menge habe {a, b, c, d, e, f}.

Ich kann eine geordnete Liste von ihnen erstellen, [f, e, c, b, d, a]. Sie müssen sagen, dass ich der als Bestellung bekannten Liste einige Informationen hinzugefügt habe, die im ungeordneten Satz nicht vorhanden waren. Abhängig von der Größe der Liste können diese Informationen sehr spezifisch und schwer zu finden sein.


-1

Es ist wie alles andere - Sie können nicht auslernen, was Sie gelernt, gesehen, gelesen haben ... aber Sie können steuern, wie Sie es verwenden ...

Zwei Dinge zu diesem Thema -

  1. Wie die meisten Lizenzbestimmungen für Open Source Code ... ist es absolut cool, einen Cent darauf zu machen, es "pseudo" zu machen - geschlossen ist cool - aber das Problem ist "Kredit". Ich habe VIELE Skripte gekauft, denen 'Credits' gegeben wurden (Blog-URLs, verwendeter OS-Code ... usw.), aber das Problem ist, dass Sie offen (nicht versteckt) die Creds / Kudos für die Kreationen von jemandem geben (wieder). Die Leute haben nichts dagegen, wenn Sie das tun. Oft geben die Leute KEINEN Kredit (was gegen die GPL-Bestimmungen verstößt), weil sie befürchten, dass die Leute erkennen, dass sie ihn woanders bekommen können. Aber wenn Ihr Code offen ist Guthaben geben und trotzdem alleine stehen können (egal ob IHR Codebeitrag geschlossen / offen ist oder nicht) - dann kümmern sich die Leute nicht darum.

Was ich als Entwickler finde, sind Leute, die keine Kredite vergeben wollen, die es schließen wollen, um einen großartigen Entwickler / Programmierer zu imitieren, unter dem Deckmantel, Geld mit den Bemühungen eines anderen zu verdienen.

Also schweife ich zu # 2 ab ...

  1. "Vorsatz" ist fast (praktisch) immer der Fall ... können Sie sich vor einen Richter stellen (sagen, Sie wurden verklagt, vor Gericht gestellt oder aufgefordert, Ihre Handlungen dafür zu erklären) und klar, ohne zu murmeln und mit eindeutigen Aussagen Position zum Thema - Warum haben Sie die Entscheidung getroffen, den Open-Source-Teil Ihres Codes zu verbergen / zu schließen? Dann sollte dies kein Problem sein.

meine 2 Pence. :)

Was lustig ist - ist, dass die meisten Leute denken, sie hätten eine "bestimmte Idee" erfunden - obwohl die "Idee" wahrscheinlich (mit extrem hoher Wahrscheinlichkeit) bereits in Form von Servietten, Papier, Codierung, Internet, Blog, usw...

Während es für Sie vielleicht neu ist, vor allem, weil Sie es in den Betriebssystemen anderer Benutzer gesehen haben, wird es wahrscheinlich in anderen Betriebssystemen verwendet, von denen sie ihre Betriebssysteme abgeleitet haben ... und letztendlich wird es wahrscheinlich irgendwo anders online verwendet. Das ist noch nicht einmal mit einer angegebenen Lizenz- / Urheberrechtsfrage. In diesem Fall können Sie von dieser Quelle kopieren. Ändern, Ändern, Löschen, Hinzufügen ... (obwohl ich / url kopieren würde, um zurückzuverfolgen, wo Sie haben es zu zeigen, dass Sie es legitimiert haben), um den Code, wie Sie möchten.

Ich denke, es ist erstaunlich in "Code-Land", besonders wie oft ich festgestellt habe, dass mein "schlauer" Code bereits 2003 auf der geekigen Google-Suche einer Person geschrieben wurde Platz 1 239, Website, die sie während ihrer Schulzeit erstellt haben, und die Funktionen nur zum Spaß und zur freien Verwendung erstellt hat. :)

Punkt .. Kredit geben, nicht Rock das Problem nicht, und wenn alle Stricke reißen ... oder im Zweifelsfall - ASK die ursprüngliche OS'r für Nutzungsrechte ... Yeesh! Wann sind wir so arrogant geworden, dass wir nicht einfach jemanden bitten können, ihren Jätenwacker, ihre Schere, ihren Mäher ... und - oh ja - eine coole Funktion zu benutzen, die sie gemacht haben!

Okay, es war 3 Pence ...


1
Das Problem ist, dass er versucht, die ursprünglichen Lizenzbestimmungen zu umgehen.
Paul Nathan

-4

Gönnen Sie dem Mann eine Pause!

  1. Sollte eine rechtliche Beschwerde bei ihm eingereicht werden, würde dies bedeuten, dass jemand tatsächlich Zugriff auf den Code haben und ihn LESEN müsste. Was passiert, wenn die Software kompiliert wird?

  2. Er wird im Moment der Tatsachen immer auf seine Unwissenheit zurückgreifen können. Sollte man nicht guten Glauben haben, bevor man für schuldig befunden wird?

  3. Lernen kopiert nicht. Inspiration in einem bestehenden Werk zu finden, bedeutet definitiv auch nicht, es zu kopieren. Was wäre, wenn er aus einer Software die Funktion jeder Codezeile lernen und beschließen würde, die Prinzipien der Ergebnisse zu verwenden, um diese zu verbessern und eine Software zu entwickeln, die besser, einfacher und schlanker ist. IMHO nicht kopieren.

Das waren meine 2 Cent. Jetzt ist der erste Sündenlose an der Reihe, der den Stein wirft ...;)


3
Zu # 1: Bis der Richter Ihren Quellcode vorgeladen hat und Sie die Jury verlegen angrinsen, während sie Ihr "Rewrite" sieht.
Jarrod Nettles

2
Zu # 2: Eine Urheberrechtsverletzung ist normalerweise eine Zivilsache, daher gibt es rechtlich keine "Schuld". Wenn das Überwiegen der Beweise darauf hindeutet, dass das OP verletzt wurde, ist das alles, was benötigt wird. Zu # 3: Das ist nicht die ursprüngliche Frage.
David Thornley

1
(1) Es ist nicht schwer, ein offensichtliches Plagiat zu erkennen, ohne den Quellcode zu sehen. Außerdem sind wir hier nicht die Gewohnheit, Menschen zu beraten, wie sie mit illegalen und höchst unethischen Handlungen davonkommen können. (2) Ignorantia juris non excusat ( Ignoranz ist keine Verteidigung ) (3) Umschreiben von Zeile zu Zeile ist kein Lernen. Das Umschreiben von Zeile zu Zeile findet definitiv nicht nur Inspiration. Es ist schlicht und ergreifend ein Plagiat. Ich werde hier nicht alles aufbereiten, aber es gibt jede Menge juristischer Dokumente und Präzedenzfälle, die dies unterstützen.
Greg Jackson

OK, also wenn ich nicht Zeile für Zeile umgeschrieben hätte, sondern den Algorithmus verstanden hätte und ihn dann auf meine eigene Weise neu implementiert hätte. Dh ein Ein-Mann-Reinraumbetrieb. Ist das anders Wenn nicht, darf ich deshalb nicht von einem Open-Source-Projekt lernen?
Chris Barry

4
@Chris Der springende Punkt bei einer Reinraumoperation ist, dass die Leute, die den Algorithmus implementieren, den ursprünglichen Quellcode überhaupt nicht gesehen haben. Es gibt keinen "Ein-Mann-Reinraum".
Adam Lear
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.