Handelt es sich beispielsweise um eine Urheberrechtsverletzung, wenn ich eine Klasse namens Random mit genau demselben Zweck und denselben Methodensignaturen wie die Microsoft-Klasse .Net System.Random schreibe? Macht es einen Unterschied, in welcher Sprache es geschrieben ist? In diesem Fall möchte ich eine Random-Klasse für die Verwendung in ActionScript schreiben, der eine integrierte PRNG-Klasse mit Seed fehlt.
Wenn jemand gute Links oder Referenzvorschläge hat, um zu verstehen, welche Aspekte der Software geschützt sind, ist das auch großartig. Und ja, ich weiß, dass dies nicht der richtige Ort für eine "echte" Rechtsberatung ist. Wenn jemand vor Gericht geht und auf ein öffentliches Message Board als Vorrang hinweist - schade um sie.
interfaces
copyright
Joshua Honig
quelle
quelle
Antworten:
Ich glaube, die Beziehung zwischen Mono und Dotnet zu betrachten, beantwortet diese Frage. Das Mono-Team kann die Methodendefinitionen oder die öffentliche Schnittstelle verwenden, muss jedoch die Interna erneut implementieren. Der Fall Android v Oracle bringt jedoch noch einige andere Punkte auf, die diese offensichtliche Unterscheidung etwas unschärfer machen. Im AvO-Fall sind die meisten Punkte, die vor Gericht gebracht werden, Patente im Zusammenhang mit der VM, die Bibliotheksschnittstellen waren kein Streitpunkt. Der einzige Code, der hervorgehoben wurde, sind Beispiele, bei denen es in gewissem Maße so aussieht, als ob die Interna kopiert wurden.
quelle
Es gab eine ähnliche Frage zu Datenbankschemata: Kopieren des Datenbankschemas eines Mitbewerbers? Ich antwortete dort, dass das Kopieren des gesamten Schemas wahrscheinlich eine Urheberrechtsverletzung sein würde, abhängig vom Umfang des von einem Richter geschätzten Kopiervorgangs.
Auch wenn Ihre Frage ähnlich ist, werde ich genau das Gegenteil beantworten: Sie können Methodensignaturen kopieren. Warum?
Tatsächlich kommen Methodensignaturen aus dem gesunden Menschenverstand.
Erstens, wenn wir ein extremes Beispiel nehmen, kann Microsoft den Namen nicht urheberrechtlich schützen
Random
und jeden verklagen, der das WortRandom
in einer Anwendung verwendet.Zweitens, was versuchst du genau zu tun? .NET Framework erneut implementieren? Warum? Das Rad muss nicht neu erfunden werden . Wenn Sie wissen, wie man es besser, intuitiver usw. macht, haben Sie wahrscheinlich bessere Namen von Klassen und Methoden, eine bessere Organisation usw. Wenn Sie versuchen, die Struktur von .NET Framework zu kopieren, um sie auf eine andere zu portieren Sprache , dann sind Sie kein direkter Konkurrent von MicrosoftSie haben also keine schwerwiegenden Gründe, Sie zu verklagen (diesbezüglich werden sie Sie verklagen, wenn Sie den Quellcode selbst kopieren). Tatsächlich werden sie sogar von Ihnen profitieren: Das Kopieren einer solchen Struktur in andere Frameworks zeigt nicht nur den Erfolg von .NET Framework, sondern erleichtert auch den .NET-Entwicklern die Arbeit mit anderen Sprachen sowie den Entwicklern aus anderen Sprachen das Lernen .NETZ.
Drittens müssen sie ernsthafter vorgehen, als alle zu verklagen, die die Namen der Methoden und Klassen von .NET Framework kopieren.
Wenn Sie nun beabsichtigen, das gesamte .NET Framework zu kopieren und ein Produkt zu erstellen, das von vielen Entwicklern verwendet wird, konsultieren Sie einen Anwalt, bevor Sie Risiken eingehen.
Ein Beispiel:
Ich war total unzufrieden mit der beschämenden Beschränkung von 259 Zeichen in Dateipfaden in .NET Framework und der Unfähigkeit, Codetransaktionen auf Dateiebene zu verwenden. Also implementierte ich meine eigene
File
Klasse mit den Methoden, die für jeden Pfad erwartungsgemäß funktionieren würden, nicht nur für die winzigen kurzen, und implementierte Transaktionen. In der ersten Version habe ich beschlossen, die Namen von Methoden inFile
undDirectory
Klassen zu klonen . Würde Microsoft mich dafür verklagen? Das bezweifle ich.In der zweiten Version hatte ich auf jeden Fall eine neue Syntax
new File(string fileName)
, die ich für mich viel intuitiver finde . Das Klonen von Methodennamen ist manchmal nützlich, aber Sie müssen einen guten Grund dafür haben.quelle
System.Random
enthält 8 Methoden (5 Methoden und 3 Überladungen, wobei eine Methode istprotected
). Ich denke, Sie sind völlig in Ordnung, diese Namen zu klonen, und es wird Ihnen schwer fallen zu beweisen, dass Sie diese Namen von Microsoft wirklich böswillig kopiert haben.Der Urheberrechtsschutz schützt den "künstlerischen Ausdruck" eines Werkes, nicht die technische Form (um Wikipedia zu zitieren ).
Der Urheberrechtsschutz schützt keine Tatsachen .
Die Frage wird also, ist eine API oder Schnittstelle eine "Tatsache" oder ein künstlerischer Ausdruck? Bei einfachen APIs, die nur eine Liste der Möglichkeiten zum Abrufen von Zufallszahlen und der verschiedenen Arten von Zufallszahlen sind, ist die API wahrscheinlich eher eine Tatsache. Aber ich konnte sehen, dass es eine sehr ausgefeilte Benutzeroberfläche gibt (die Sie eine Minute lang anstarren und dann "Ahh! Das ist beeindruckend." Sagen), die als "künstlerischer Ausdruck" angesehen werden kann, der des Schutzes würdig ist.
In diesem kürzlich erschienenen Artikel geht es darum, dass Oracle und Google um das API-Urheberrecht streiten und genau dieses Problem vor (US-) Gerichten debattieren.
Ich bin kein Anwalt, und dieser Beitrag sollte nicht als Rechtsberatung ausgelegt werden. Ich kann nicht einmal Haftungsausschlüsse sehr gut schreiben.
quelle
Sie können die rein funktionalen Aspekte übernehmen, aber Sie können die expressiven Aspekte nicht übernehmen. Der Klassenname, die Methodennamen und die Signaturen sind rein funktional. Sie müssen zusammenarbeiten. Parameternamen und Header-Makros können als aussagekräftig angesehen werden. In seinem Windows-Kartellrecht argumentierte Microsoft beispielsweise, dass nichts einen Konkurrenten daran hindere, Windows-APIs zu replizieren und eine eigene Plattform zu erstellen, auf der Windows-Anwendungen ausgeführt würden.
quelle