Vorteil, der erste zu sein, der einen neuen Algorithmus kopiert? [geschlossen]

18

Angenommen, ich habe einen neuen (DSP-) Algorithmus erstellt. Werde ich einen Vorteil haben, wenn ich den Algorithmus unter einer Copyleft-Lizenz (GPL usw.) als Open Source-Version verwende? Nach dem, was ich über die Lizenzierung weiß, sollte dies Menschen davon abhalten, denselben Code wie die geschlossene Quelle zu verwenden, aber könnten sie den Algorithmus als geschlossene Quelle "umschreiben"?

Hinweis: Ich weiß nicht genau, ob der Algorithmus neu ist, aber er wurde noch nicht als Open Source veröffentlicht. Muss ich nach Softwarepatenten suchen, wenn ich sie kopieren möchte, da ich aus der Europäischen Union komme?

Kozuch
quelle
21
Ich stimme dafür, diese Frage als "Off-Topic" zu schließen, da sie um Rechtsberatung bittet. Es kann nur von einem IP-Anwalt für eine bestimmte Gerichtsbarkeit richtig beantwortet werden.
1
Ich empfehle, die Geschichte des Black-Box-Reverse-Engineerings zu erforschen. Es ist zwar nicht dasselbe, was Sie verlangen, aber es gibt viele interessante Informationen zu IP-Gesetzen, Verträgen, Reverse Engineering, Patenten usw., die relevant sind.
2
@Snowman: Wie Sie hier sehen können, meta.programmers.stackexchange.com/questions/1655/… , sind nicht alle Fragen zu rechtlichen Themen in der Regel inaktiv . Ich denke, zumindest für wesentliche Teile dieser Frage hat unsere Community einiges Wissen zu teilen. Obwohl ich damit einverstanden bin, dass man für eine eingehende Antwort wahrscheinlich einen Anwalt braucht.
Doc Brown
2
Diese Frage wurde vor 8 Stunden gestellt und hat bereits 1880 Ansichten. Dies scheint eine sehr beliebte und benötigte Frage zu sein. Ich bin froh, dass jemand danach gefragt hat.
Gabriel Fair
2
Auch wenn diese Frage beliebt und interessant sein mag, veranschaulichen die nachstehenden "umstrittenen" Antworten genau, warum diese Art von Legalitätsfragen für PSE schlecht geeignet sind und warum sie hier nicht zum Thema gehören.
Eric King

Antworten:

27

Die Einschränkungen in Copyleft-Lizenzen wie der GPL gelten sowohl für geänderte Versionen Ihres Codes als auch für Ihren Originalcode. Sie können also nicht einfach den Whitespace- oder Klammerstil ändern und dann Ihre Lizenzerklärung löschen.

Sie können jedoch keinen "Algorithmus" im abstraktesten Sinne patentieren / copyright / copyleft / was auch immer. Sie können eine Lizenz für Ihre Lieblingsimplementierung von quicksort vergeben, aber Sie können quicksort nicht selbst lizenzieren. Wenn jemand Ihren Code liest, nur um den Algorithmus zu lernen, und dann den Algorithmus von Grund auf neu schreibt, ist das in Ordnung.

Soweit ich weiß, gibt es keinen "Vorteil", der erste zu sein, der einen anderen Algorithmus veröffentlicht, als möglicherweise irgendeinen Ruhm und (realen) Ruf, wenn er besonders erwähnenswert ist. Wenn Sie als erster Copyleft-Anwender davon profitieren, haben Sie definitiv keine Vorteile, aber die Tatsache, dass jemand Copyleft-Anwender daran beteiligt ist, wird als Vorteil für die Community der freien Software angesehen.

Ixrec
quelle
27
Diese Antwort enthält einige korrekte und umstrittene Informationen. Seien Sie also vorsichtig. AFAIK, es wurde versucht, Patente auf viel weniger wesentliche Software-Teile anzuwenden, und es wurde versucht, sie für abstrakte Ideen zu verwenden, nicht nur für Implementierungen. Dies hängt sehr stark von den örtlichen Gesetzen ab und ist auch in verschiedenen europäischen Staaten sehr unterschiedlich. Die Veröffentlichung eines neuen Algorithmus als erster könnte ein Argument für den "Stand der Technik" ( en.wikipedia.org/wiki/Prior_art ) darstellen, wenn jemand später versucht, dieselbe Idee in einer anderen Implementierung zu patentieren.
Doc Brown
10
Bei Oracle v Google ging es nicht um die Implementierung von Java. Im Gegenteil, es ging um die API. Ich würde nur sehr ungern sagen, dass Algorithmen im Allgemeinen nicht patentierbar sind, insbesondere in den USA.
Sapi
9
Können Algorithmen nicht patentieren? Haben wir die GIF- und MP3-Patente bereits vergessen?
Andrew Medico
2
@ Bakuriu: Sie haben den Punkt verpasst. Sowohl die GIF- als auch die MP3-Patentinhaber verklagten andere Unternehmen wegen der Verwendung von Algorithmen (oder drohten zumindest, diese zu verklagen), nicht weil diese anderen Unternehmen eine bestimmte Implementierung kopierten.
Doc Brown
4
@AbhinavGauniyal: Etwas patentieren zu lassen ist völlig normal. Es wird ein Prozess- / Methodenpatent genannt. Wenn Sie beispielsweise eine neue Art der Herstellung von Stoßstangen haben, können Sie diese patentieren lassen. Nicht Autostoßstangen, sondern Verfahren zur Herstellung von Autostoßstangen. Prozesspatente sind einer der Eckpfeiler von Softwarepatenten. Die Idee von Softwarepatenten kollidiert jedoch mit einem anderen Aspekt des Patentrechts: Sie können keine mathematischen Formeln patentieren (zumindest in den USA). Und es kann argumentiert werden, dass Algorithmen ein Teil der reinen Mathematik sind, die wir "Informatik" nennen.
Slebetman
12

Wenn Sie verhindern möchten, dass ein patentierbares Objekt patentiert und dann von der größeren Community "ausgeschlossen" wird, können Sie eine defensive Offenlegung durchführen. Cuis Smalltalk hat dies zum Beispiel mit einigen neuen Anti-Aliasing-Techniken getan:

Frank Shearar
quelle
3
Wenn Sie etwas veröffentlichen, kann es de jure nicht mehr patentiert werden, da Stand der Technik besteht. De facto kümmern sich Patentämter weltweit normalerweise nicht genug darum, dies zu recherchieren (weil sie dafür kein Geld bekommen) und lassen so ziemlich alle Patente zu, die nicht zu faul aussehen. Wenn der Patentinhaber dann jemanden verklagt, wird das Patent nicht vor Gericht stehen (wenn es ein Gerichtsverfahren gibt. Sie kosten viel Geld ...)
Josef
2
@Josef Nicht ganz richtig, die meisten Patentämter (sicherlich in den USA und in der EU) sind jetzt als erste einzureichen, aber dies ist nur für Erfindungen von Bedeutung, die nahe beieinander liegen. Wenn jemand einen Algorithmus veröffentlicht (aber nicht patentiert), könnte jemand anderes ihn am nächsten Tag patentieren und möglicherweise damit durchkommen. Die spezifischen rechtlichen Probleme, die damit verbunden sind, sind komplex, und man sollte sich auf jeden Fall mit einem IP-Anwalt beraten, wenn man versucht, dies durchzusetzen.
Wenn @Snowman nicht am nächsten Tag patentiert werden soll, hilft es dann, den Schlüssel in verschlüsselter Form zu veröffentlichen und einige Monate später zu veröffentlichen?
Trichoplax
1
@ Trichoplax Ich weiß nicht, um ehrlich zu sein. Ich versuche, über diese Gesetze auf dem Laufenden zu bleiben, aber dies ist eine kürzliche Änderung in den USA, in denen ich lebe. Wenn ich versuchen würde, dies zu tun, würde ich mich an einen IP-Anwalt wenden, der mehr weiß. So wie ich das verstehe, gibt es eine große Grauzone, und jemand, der sich auf das Gesetz spezialisiert hat, müsste mich anleiten.
Um dies zu verdeutlichen, wollte ich mit meiner Antwort speziell auf Ideen, Algorithmen usw. eingehen, da viele Leute anfingen, über Quellcode zu sprechen , während das OP nach Algorithmen fragte . Wenn Sie Zweifel haben (und dies sollten Sie auch sein), wenden Sie sich an einen IP-Anwalt.
Frank Shearar
9

Ich sehe einige wertvolle Informationen in den anderen Antworten und Kommentaren, aber auch einige Fehlinformationen, also versuche ich, eine Zusammenfassung zu geben und einige zusätzliche Dinge hinzuzufügen.

Werde ich einen Vorteil haben, wenn ich den Algorithmus unter einer Copyleft-Lizenz (GPL usw.) als Open Source-Version verwende?

Wenn Sie den Quellcode einer Implementierung Ihres Algorithmus unter der GPL veröffentlichen (ich nehme an, das ist, was Sie gemeint haben), haben Sie den Vorteil, zu demonstrieren, dass Ihr Algorithmus wie beabsichtigt funktioniert, und jeder kann Ihren Quellcode überprüfen, um sicherzustellen, dass er nichts enthält "ungewöhnlich" wie schwere Bugs oder Malware. Vielleicht erhalten Sie einige Mitwirkende für weitere Verbesserungen. Und da Sie der Inhaber des Urheberrechts sind, können Sie Ihre Implementierung weiterhin unter einer anderen Lizenz veröffentlichen oder an andere verkaufen.

Eine andere Frage ist, ob es Ihnen Vorteile bringt , der erste zu sein, der diesen Algorithmus veröffentlicht. Als Erster könnten Sie versuchen zu verhindern, dass jemand anderes ein Patent auf diesen Algorithmus erhält, da Ihre Implementierung als eine Art Beweis dafür dient, dass Sie der Erfinder sind. Aber wie @Snowman in einem Kommentar richtig herausgestellt hat, funktioniert dies aufgrund der First-to-File -Richtlinie (im Gegensatz zur First-to-Invent-Richtlinie) vieler europäischer Patentvorschriften möglicherweise nicht.

Nach dem, was ich über die Lizenzierung weiß, sollte dies Menschen davon abhalten, denselben Code wie die geschlossene Quelle zu verwenden, aber könnten sie den Algorithmus als geschlossene Quelle "umschreiben"?

Sie hindern Personen daran , Ihren Quellcode zu veröffentlichen oder ihn in Closed Source zu ändern, und nicht daran, ihn in einer kommerziellen Organisation zu verwenden. Sie sperren die Veröffentlichung als offene oder geschlossene Quelle unter einer anderen Lizenz als der GPL. Sie hindern Personen jedoch nicht daran, eine neue "Reinraum" -Implementierung Ihres Algorithmus unter einer willkürlichen Lizenz zu veröffentlichen, bei der es sich um eine Implementierung handelt, die nur aus Ihrer Beschreibung des Algorithmus besteht, ohne sich tatsächlich mit dem Quellcode zu befassen.

Muss ich nach Softwarepatenten suchen, wenn ich sie kopieren möchte, da ich aus der Europäischen Union komme?

Obwohl die Gesetze vieler europäischer Länder Patente auf reine Algorithmen formell verbieten, haben viele Unternehmen diese Gesetze in der Vergangenheit umgangen, indem sie bestimmte Algorithmen als "computerimplementierte Erfindungen" deklarierten. Europäische Patentämter (AFAIK) haben in der Vergangenheit nicht so viele algorithmische Patente wie US-amerikanische Patentämter akzeptiert, obwohl sie im Laufe der Jahre Tausende von Patenten akzeptiert haben, die als Patente auf Algorithmen interpretiert werden können. Ob diese Patente tatsächlich vor Gericht stehen, ist eine andere Frage, aber wer es herausfinden will, muss dies in der Regel mit allen damit verbundenen Risiken vor Gericht stellen. Zwei der beliebtesten Gruppen von Beispielen wurden in den Kommentaren erwähnt, die Patente zur GIF-Bildkomprimierung und die Patente zur MP3-Komprimierung / Dekomprimierung, siehe hier für weitere Beispiele.

Wenn Sie also das Risiko einer Klage reduzieren möchten, bevor Sie eine Software veröffentlichen, die einen bestimmten Algorithmus enthält, sollten Sie wahrscheinlich prüfen, ob es jemanden gibt, der ein Patent darauf besitzt, auch in der EU.

Doc Brown
quelle
Wirklich gute umfassende Antwort. Ich habe nur einige Probleme mit dem letzten Absatz: Wie soll ich nach Patenten suchen, die ich möglicherweise verletze? Ich kann aus ihrem Titel nicht ableiten, ob sie auf meinen Code zutreffen. Ich kenne auch keinen umfassenden thematischen Index für sie. Das Suchen nach Schlüsselwörtern wird nicht schaden, daher ist selbst Google nutzlos. Der Wortlaut ist für mich möglicherweise völlig unvorstellbar. Und angesichts der Tausenden von Patenten kann ich nicht alle prüfen. Afaik es ist einfach unmöglich, tatsächlich nach einem Patent zu suchen, gegen das ich möglicherweise verstoßen habe. Ich kann nur abwarten, ob mich jemand verklagt :-(
cmaster - monica wieder
1
@cmaster: Ihre beste Chance in Europa ist wahrscheinlich die Suchmaschine des Europäischen Patentamts, siehe epo.org/searching.html
Doc Brown
1
@cmaster: Sie sollen Millionen für Anwälte ausgeben, die eine Patentprüfung durchführen, indem Sie die Patente tatsächlich lesen. Ich verstehe, dass dies auch bei großen Projekten außerhalb der Software funktioniert (stellen Sie sich ein neues Auto vor), da diese eher "wasserfallartig" entwickelt wurden und weniger Ideen haben. Für Software ist das natürlich nicht praktikabel. Daher lizensieren große Unternehmen Patente häufig nur gegenseitig, und kleine Unternehmen können sich nicht selbst schützen.
Blaisorblade
5

Sie können keinen Algorithmus "kopieren". "Copyleft" ist für die Durchsetzbarkeit vom Urheberrechtsschutz abhängig, Algorithmen können jedoch nicht urheberrechtlich geschützt werden, sodass Sie keinen Algorithmus "copyleft" können. Mit anderen Worten, Ihre Frage basiert möglicherweise auf einer fehlerhaften Prämisse.

Das Urheberrecht kann nur verwendet werden, um eine bestimmte Implementierung zu schützen, nicht die Idee des Algorithmus. Sie könnten also eine bestimmte Implementierung eines Algorithmus mit urheberrechtlich geschützten Lizenzen (z. B. einer Lizenz im Copyleft-Stil) schützen, dies würde jedoch niemanden daran hindern, eine andere Implementierung desselben Algorithmus zu erstellen. Folglich gibt es keine Möglichkeit, einen Algorithmus zu kopieren.

Insbesondere basiert die GPL-Lizenz auf der Grundlage des Urheberrechts. Das Urheberrecht sagt (grob): Niemand kann Ihren urheberrechtlich geschützten Inhalt ohne Ihre Erlaubnis kopieren. In der GPL-Lizenz heißt es: Ich erteile die Erlaubnis, den urheberrechtlich geschützten Inhalt (den Code) unter bestimmten Bedingungen (den Bedingungen der "Copyleft" -Lizenz) zu kopieren. Für urheberrechtlich geschützte Objekte können Sie die "Copyleft" -Lizenz nach geltendem Urheberrecht booten. Für Dinge, die nicht urheberrechtlich geschützt sind, ist dieser Ansatz jedoch unbrauchbar. Das Urheberrecht schützt nur den kreativen Ausdruck, nicht die Ideen. Insbesondere schützt es keine Algorithmen.


Das Patentrecht ist eine andere Sache. In einigen Ländern ist es möglich, ein Patent für einen Algorithmus zu erhalten. Dies hängt stark von der Rechtsprechung und möglicherweise von den Besonderheiten Ihrer Situation ab. Im Allgemeinen hilft das Veröffentlichen Ihres Algorithmus möglicherweise dabei, einen Stand der Technik zu etablieren, der andere daran hindert, den Algorithmus zu patentieren. Die Details hierzu sind jedoch schwierig, und es empfiehlt sich, einen Anwalt zu konsultieren. Im Allgemeinen empfehle ich Ihnen, sich an einen IP-Anwalt zu wenden, wenn Sie sich in Bezug auf Algorithmuspatente umfassend beraten lassen möchten, da dies zu umfassend ist, um im Allgemeinen ohne Kenntnis dieser Informationen zu antworten.

DW
quelle
IMHO basiert die Frage nicht auf einer "fehlerhaften Prämisse", es ist nur nicht genau formuliert. Ich bin mir ziemlich sicher, dass das OP tatsächlich eine Open-Source-Implementierung seines Algorithmus vorsieht.
Doc Brown
1
@DocBrown: Das OP ist auch daran interessiert, eine Lizenz gegen Reinraum-Implementierungen seiner Algorithmen durchzusetzen (rewrite). Die DW-Interpretation der Frage ist also korrekt.
Slebetman
3

Copyleft hat nichts mit Urheberrecht oder Patentschutz zu tun. Es bietet Ihnen, dem Inhaber des Urheberrechts, keinen Schutz, den Sie sonst noch nicht hätten.

Es hat jedoch alles mit Distribution zu tun . Copyleft schützt die Benutzer Ihres Codes, indem Sie und alle anderen, die ihren Code verwenden, aufgefordert werden, den gesamten Quellcode ihrer gemeinsamen Arbeit und alle Änderungen, die sie daran vornehmen, zu verbreiten. Über Urheber- oder Patentschutz kann nichts gesagt werden, außer, dass Sie Ihrem Benutzer bestimmte Rechte einräumen, die er sonst möglicherweise nicht hat, z. B. die Freiheit, DRM in GPL3 rückzuentwickeln.

Robert Harvey
quelle