Sind Schnittstellen und Methodensignaturen urheberrechtlich geschützt?

12

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.

Joshua Honig
quelle
3
Ziemlich sicher, dass Methodensignaturen, Schnittstellen, Variablennamen usw. nicht durch irgendwelche Urheberrechte oder Lizenzen geschützt sind.
Adam Lear

Antworten:

11

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.

mP01
quelle
7
+1 Für einen ausgezeichneten Punkt über Mono vs .Net. Ich weiß, dass man in einem verwandten Konzept die Spielregeln nicht urheberrechtlich schützen kann. Tetris-Klone sind legal, solange sie nicht Tetris heißen und nicht zu sehr den offiziell lizenzierten Produkten von Tetris ähneln.
Ich dachte, der wichtigste relevante Unterschied zwischen .NET und Java ist, dass (der größte Teil) .NET ein ECMA-Standard ist.
Foole
@Foole: Sowohl Java Script als auch ActionScript basieren auf der formalen ECMAScript-Spezifikation (ECMA-262, -290, -327 und -357)
4

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ützenRandom und jeden verklagen, der das Wort Randomin 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 FileKlasse 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 in Fileund DirectoryKlassen 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.

Arseni Mourzenko
quelle
Wenn Sie beabsichtigen, das gesamte .NET Framework zu kopieren ... Puh, definitiv nicht! Ich möchte wirklich nur ein PRNG, das ich für die Verwendung in Flash-Spielen entwickeln kann. Ich mag die Methoden in der .Net Random-Klasse und wollte einen schnellen Wrapper mit denselben Signaturen schreiben, als mir diese Frage einfiel. Es wäre schade, sein Zuhause zu verlieren, weil ein Architekt wegen der Türklingel einen Rechtsstreit geführt hat ... um eine peinliche Analogie zu ziehen.
System.Randomenthält 8 Methoden (5 Methoden und 3 Überladungen, wobei eine Methode ist protected). 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.
Arseni Mourzenko
4

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.

PT
quelle
0

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.

David Schwartz
quelle
Guter Punkt in Bezug auf Windows-API. WEIN eingeben.
Auf Plattformen wie Java oder .NET, die Reflection enthalten (oder andere ähnliche Mittel, um herauszufinden, wie die Dinge heißen), könnte ich denken, dass Parameternamen auch als funktionale Aspekte betrachtet werden können.
Supercat