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:
- Machen Sie es vollständig FOSS (kann eine Sprache sogar FOSS sein, oder ist das die Implementierung, die FOSS sein kann?)
- Etablieren Sie sich als Autor (können Sie legal Autor einer Sprache sein? Oder auch nur die Implementierung?)
- 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?
Antworten:
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).
quelle
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:
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.
quelle
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
name
eine Marke nützlicher , wenn Ihr Hauptziel darin besteht, zu verhindern, dass andere Ihre Sprache stehlen .quelle
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
quelle