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 --------
quelle
Antworten:
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.
quelle
Nach Betsy Rosenblatt der Harvard Law School Urheberrecht Basics :
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.
quelle
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).
quelle
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 :
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.
quelle
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.
quelle
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.
quelle
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 .
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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 -
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 ...
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 ...
quelle
Gönnen Sie dem Mann eine Pause!
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?
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?
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 ...;)
quelle