Was macht eine Programmiersprache aus und wie urheberrechtlich geschützt man eine Programmiersprache?

12

Ich habe beschlossen, eine eigene Programmiersprache zu erstellen, hauptsächlich zum Spaß. Ich habe mich jedoch für den rechtlichen Aspekt des Ganzen interessiert.

Sie können beispielsweise bestimmte Programme unter bestimmten Bedingungen lizenzieren. Wie gehen Sie jedoch bei der Lizenzierung einer Sprache vor ? Damit meine ich auch nicht nur die Implementierung der Sprache (Compiler & VM), sondern den Standard selbst. Gibt es noch etwas in einer Programmiersprache, die mir fehlt?

Was ich mit einer solchen Lizenzierung erreichen möchte:

  1. Machen Sie es vollständig FOSS (kann eine Sprache sogar FOSS sein, oder ist das die Implementierung, die FOSS sein kann?)
  2. Etablieren Sie sich als Autor (können Sie legal Autor einer Sprache sein? Oder auch nur die Implementierung?)
  3. Stellen Sie sicher, dass jeder, der meine Sprache implementiert, mich zuschreiben muss (MIT-Stil. Bitte beachten Sie, dass ich keine Hoffnung habe, dass jemand dies jemals tut, ich lerne nur.)

Ich denke, dass die Lösung darin besteht, die VM und den Compiler für meine Sprache als "offizielle Implementierung" separat zu lizenzieren und dann das Designdokument als Sprache selbst zu lizenzieren .

Was genau vermisse ich hier?

jcora
quelle
10
Zu (1): Eine Sprachspezifikation ist keine Software, daher gilt FOSS nicht. Wenn ich auf eine Sprache stoßen würde, deren Autor dies aus irgendeinem Grund versucht hat, wäre ich äußerst vorsichtig (das heißt, ich würde sie wahrscheinlich überhaupt nicht verwenden). Es stinkt nach Kontrollsucht, Misstrauen und mangelnder Kenntnis rechtlicher Fragen.
Ich bin ein wenig ratlos, was Ihr Endziel hier ist. Wenn wir das wüssten, könnten wir Ihnen vielleicht helfen, die Lücken zu schließen, wie Sie dies erreichen können. Auch wäre es nützlich zu wissen, wer Ihr Zielmarkt ist.
pdr
Warten Sie, wie stinkt die Kennzeichnung von etwas nach Kontrollsucht, @delnan? Oder haben Sie sich auf das Urheberrecht einer Spezifikation bezogen? AFAIK, das Urheberrecht ist nicht von Natur aus böse, es muss überhaupt nicht einschränkend sein.
JCora
1
Ich denke, ich werde die Spezifikation dann gemeinfrei halten.
JCora
1
Ich bin kein Anwalt, aber das Urheberrecht an einem Dokument (auch wenn darin eine Sprache angegeben ist) ist nicht das Urheberrecht an einer Sprache. Zum Beispiel verwende ich urheberrechtlich geschützte Wörterbücher und spreche Französisch, ohne sie zu verletzen.
Basile Starynkevitch

Antworten:

15

Haftungsausschluss.IANAL ();

Sie können eine Programmiersprache nicht mehr urheberrechtlich schützen als eine gesprochene Sprache. Sie können eine bestimmte Implementierung der Sprache lizenzieren und diesen Compiler sogar so verkaufen, wie es Borland über viele Jahre mit Delphi getan hat.

Viele Sprachen haben heute einen BDFL (Benevolent Dictator for Life), der bestimmt, was in die Sprache geht und was nicht. Python, Ruby und Perl sind Beispiele dafür.

Andere Sprachen haben offiziell Standards von einer von mehreren Normungsgremien entworfen, typischerweise ANSI, ECMA oder ISO. Beispiele sind C, C ++ und Javascript.

Einige Sprachen fallen aufgrund der Politik zwischen Unternehmen in trübe Gebiete. Java ist ein Beispiel, da Microsoft auf einigen Standard-Boards sitzt.

Einige Sprachen wechseln von einer zur anderen, normalerweise von BDFL zu Standardisiert. C ist ein gutes Beispiel.

Abhängig von der Spezifikation der Sprache können einige Compiler-Autoren unterschiedliche Funktionen auf unterschiedliche Weise implementieren (z. B. CPython vs PyPy) oder Funktionen hinzufügen (Microsoft C ++ vs GNU C ++ oder MySQL vs PostGreSQL vs SQL Server).

Weltingenieur
quelle
1
Loglan ist ein Präzedenzfall für den nicht urheberrechtlich geschützten Status konstruierter Sprachen. Lojban ist praktisch eine offene Neuimplementierung von Loglan. Auf der anderen Seite verklagte Sun Microsoft wegen der Visual J ++ - Implementierung von Java…
Jon Purdy
2
@ JonPurdy: Bei Java handelt es sich um ein Markenproblem, nicht um ein Urheberrechtsproblem. Schauen Sie sich an, wie LiveScript zu Javascript wurde, während es im gemeinsamen Interesse von Sun / Netscape lag. Später veröffentlichte Microsoft JScript, um Ähnlichkeit zu zeigen und gleichzeitig Markenprobleme zu vermeiden. Später stimmten alle ECMAScript als gebräuchlichem Namen zu.
pdr
1
@ JonPurdy, @ pdr Ich denke, es gab auch Fragen des Vertragsrechts im Streit zwischen Sun und Microsoft. Microsoft hatte die JVM-Technologie von Sun lizenziert, und ein Teil der Lizenz stimmte zu, keine nicht standardmäßigen Implementierungen von Java zu erstellen.
Charles E. Grant
1
@pdr Soweit ich mich erinnern kann, gab es eine sehr genaue Spezifikation, was eine Java-Implementierung bieten sollte (einschließlich einiger tausend Tests, die eine Implementierung bestehen sollte). Microsoft wurde verklagt, weil sie eine nicht standardmäßige Implementierung hatten (wahrscheinlich, um Benutzer durch die Verteilung von Applets zu binden, die nur mit Internet Explorer funktionieren würden). Nachdem die Strategie, eine nicht standardmäßige Implementierung von Java zu verteilen, fehlgeschlagen war, erstellte Microsoft C #.
Giorgio
3
@Giorgio - genau. Was Sun beanstandete, war, dass MSFT ihre Sprache Java aufrief und wesentliche Änderungen vornahm (um sie an die MSFT-Plattform zu binden). Im Wesentlichen produzierten sie ein gefälschtes Java
Martin Beckett
8

Jeder Versuch, eine Sprache einzuschränken / zu kontrollieren / zu besitzen, ist zum Scheitern verurteilt. Damit eine Sprache weit verbreitet wird, müssen die Menschen das Gefühl haben, a) dass sie ein Problem besser löst als eine bestehende, etablierte Sprache, und b) dass sie sich sicher fühlen, dass sie nicht plötzlich am falschen Ende einer Lizenz / eines Gesetzes stehen passen. Wenn sie denken, dass das überhaupt möglich ist, werden sie woanders hingehen.

Ich biete die absolute Tragödie von Java an, wie sie von Larry Ellison (AKA Oracle) und Google aufgeführt wird. Ellison führte eine weltweite legale Gesichtspflanze durch , die zwei Dinge vollbrachte:

  1. Er zeigte der Welt, dass er jeden verklagen würde, von dem er glaubte, er könne Geld bekommen, und
  2. Er garantierte, dass zukünftige Entwicklungen, die nicht unbedingt bereits an Java gebunden waren, etwas anderes als Java wählen würden .

Google hat nicht nur diese Klage zu gewinnen, sie ausgeweidet Oracle pathetisch Ansprüche von Patent- und Urheberrecht. Danach wird niemand , den ich kenne setzen kein Vertrauen überhaupt in irgendeiner „Open - Source - Technologie“ , die von Oracle Fingerabdrücke drauf hat (man denke: MySQL).

Wenn Sie möchten, können Sie die Entwickler-Jahrhunderte hinter Java überspringen und sofort ignoriert werden. Lassen Sie einfach alle Entwickler einen Vertrag unterschreiben, bevor sie Ihre neue Sprache verwenden können.

Peter Rowell
quelle
1
+1 für die klare Darstellung. Sie haben den Nagel mit Ihrem 2. Punkt über Java getroffen. Dies war ein wichtiger Faktor bei der Entscheidung, ob Sie weiterhin Java verwenden oder selbst eine ähnliche Sprache erstellen möchten. Ich erwarte jedoch nicht wirklich, dass die Leute es verwenden, wie ich bereits sagte, es ist für persönliche und pädagogische Zwecke. Aber ich möchte meine Optionen offen halten.
JCora
1
Update: Im Mai 2014 hob ein Bundesgericht diese Entscheidung auf und sagte, dass APIs urheberrechtlich geschützt sein könnten. eff.org/deeplinks/2014/05/…
niemand
Aber das war nicht der eigentliche Punkt meines Beitrags. Nach dem totalen Debakel von Oracle's Powerplay mit Java wird niemand, der bei Verstand ist und über Kenntnisse der Geschichte verfügt, diese Art von Schlinge wissentlich um den Hals seines Unternehmens oder Projekts legen. Wenn überhaupt, dient die Umkehrung durch das Berufungsgericht nur dazu, dem Argument, nur OSS-Tools und -Sprachen zu verwenden, noch mehr Gewicht zu verleihen. Es ist erstaunlich und zutiefst ironisch, dass ein Loch wie Larry Ellison die Person sein sollte, die selbst dem hartnäckigsten Kapitalisten oder Geschäftsmann den wahren Wert von Libre / Free-Software näher bringt.
Peter Rowell
2

Sie könnten eine Grammatik für Ihre Sprache schreiben und Ihr Urheberrecht darüber geltend machen. Das würde Sie natürlich nicht vor jemandem schützen, der eine andere Grammatik schreibt, die dieselbe Sprache beschreibt.

Meine größte Frage wäre "warum willst du". Schließlich möchten Sie wahrscheinlich, dass die Leute Ihre Sprache übernehmen. Wenn jemand anderes behauptet, es erstellt zu haben, würde eine gute Webpräsenz ausreichen, um Sie als Lügner zu bezeichnen.

Wie andere angemerkt haben, wäre nameeine Marke nützlicher , wenn Ihr Hauptziel darin besteht, zu verhindern, dass andere Ihre Sprache stehlen .

Dominic Cronin
quelle
Das Schreiben einer Grammatik für die Sprache würde sie immer noch nicht schützen. Das einzige, was es tun würde, ist zu verhindern, dass jemand anderes die Grammatik auf ähnliche Weise wie Sie neu schreibt. Ich könnte eine Grammatik für die englische Sprache schreiben, die Sie dann aber nicht davon abhalten würde, auf SE zu posten.
Gavin Coates
Gavin - ich schrieb ... "das würde dich nicht vor jemandem schützen, der eine andere Grammatik schreibt, die dieselbe Sprache beschreibt." Ich hoffe, dies macht deutlich, dass ein solches Urheberrecht die Sprache nicht schützen würde, sondern nur diese Art der Beschreibung der Sprache. Trotzdem - es könnte eine Person dazu bringen, sich besser zu fühlen.
Dominic Cronin
1

Im Laufe der Zeit gab es unterschiedliche Antworten auf diese Frage:

Im Jahr 2012 wurde eine ähnliche Frage im Fall Oracle vs Google bezüglich der Verwendung der Java-API in Android mit "Sie können nicht" beantwortet , und eine ähnliche Antwort wurde im Fall der Implementierung der SAS-Programmiersprache durch WPL in einem eigenen Produkt gegeben. Der Grund für diese Antwort war, dass die Interopabilität zwischen verschiedenen Implementierungen einer Sprache das Kopieren der Syntax einer Programmiersprache erfordert und dies daher nach den Regeln der "fairen Verwendung" zulässig sein sollte.

Im Jahr 2014 entschied das US-Berufungsgericht jedoch, dass die gerechte rechtliche Antwort tatsächlich "Ja, Sie können" lautete, mit der Begründung, Interopabilität zu gewährleisten (oder nicht) und nach welchen Regeln das alleinige Ermessen des ursprünglichen Urheberrechts liegt Halter. Wenn jemand in dieser neuesten Interpretation nicht möchte, dass Sie mit seiner Programmiersprache, API oder anderen Schnittstellenspezifikationen kompatibel sind, hat er das Recht, Sie zu stoppen.

Kurz gesagt, ab 2014 ist es wahrscheinlich fair anzunehmen: Ja, eine Programmiersprache (ihre Syntax, Struktur und Reihenfolge von Sprachkonstrukten) kann urheberrechtlich geschützt sein

Beachten Sie, dass das Urheberrecht der örtlichen Auslegung unterliegt und dass die Regeln in Ihrem Land abweichen können. Im Zweifelsfall einen Anwalt konsultieren ...

(den Rest des Arguments entfernt, siehe Verlauf)

Haftungsausschluss: IANAL

Miraculixx
quelle
Annnddd ... dieses Urteil wurde gerade aufgehoben. Oracle applaudierte, und diesmal waren die Richter keine Programmierer.
jmoreno
@jmoreno danke für den Hinweis. hat die Antwort aktualisiert, um diese neue Entwicklung widerzuspiegeln ...
miraculixx
Ich möchte nur sagen, kein Anwalt oder Psychiater, nur ein Programmierer, aber das Urteil von 2014 scheint mir grenzwertig verrückt zu sein. Es ist eine Reihe von Befehlen!
jmoreno