Che cosa costituisce un linguaggio di programmazione e in che modo un copyright è un linguaggio di programmazione?

10

Ho deciso di creare un mio linguaggio di programmazione, principalmente solo per divertimento. Tuttavia, mi sono interessato all'aspetto legale di tutto questo.

È possibile, ad esempio, concedere in licenza programmi specifici in base a termini specifici. Tuttavia, come fai a concedere in licenza una lingua ? Inoltre, non intendo solo l'implementazione del linguaggio (compilatore e VM), ma lo standard stesso. C'è qualcos'altro in un linguaggio di programmazione che mi manca?

Cosa vorrei ottenere con tale licenza:

  1. Farlo completamente FOSS (una lingua può essere FOSS, o è l'implementazione che può essere FOSS?)
  2. Stabilire me stesso come autore (puoi essere legalmente un autore di una lingua o, ancora, solo l'implementazione?)
  3. Fai in modo che chiunque sia in grado di implementare la mia lingua sia tenuto ad attribuirmi (stile MIT. Tieni presente che non ho alcuna speranza che qualcuno lo faccia mai, però, sto solo imparando.)

Penso che la soluzione sarebbe di autorizzare separatamente la VM e il compilatore per la mia lingua, come "l'implementazione ufficiale", e quindi concedere in licenza il documento di progettazione come la lingua stessa .

Cosa mi manca esattamente qui?

    
posta jcora 08.12.2012 - 21:55
fonte

4 risposte

13

Disclaimer.IANAL ();

Non puoi copyright di un linguaggio di programmazione non più di quanto tu possa proteggere il copyright di una lingua parlata. Puoi concedere in licenza una particolare implementazione della lingua e persino vendere quel compilatore molto come Borland ha fatto con Delphi per molti anni.

Molte lingue oggi hanno un BDFL (Benevolent Dictator for Life) che determina cosa va nella lingua e cosa no. Python, Ruby e Perl sono tutti esempi di questo.

Altre lingue hanno ufficialmente progettato gli standard in base a una delle diverse schede standard, in genere ANSI, ECMA o ISO. Gli esempi includono C, C ++ e Javascript.

Alcune lingue cadono in aree più oscure a causa della politica tra le aziende. Java è un esempio perché Microsoft si trova su alcune delle schede standard.

Alcune lingue passano da una all'altra, in genere da BDFL a Standard, C è un buon esempio.

A seconda delle specifiche del linguaggio, alcuni scrittori di compilatori possono implementare diverse funzionalità in modi diversi (CPython vs PyPy per esempio) o aggiungere funzionalità (Microsoft C ++ vs GNU C ++ o MySQL vs PostGreSQL vs SQL Server)

    
risposta data 08.12.2012 - 22:05
fonte
8

Ogni tentativo di limitare / controllare / possedere una lingua è destinato a fallire. Affinché un linguaggio possa essere ampiamente utilizzato, le persone devono sentire a) che risolve un problema migliore di un linguaggio esistente esistente, e b) si sentono a loro agio che non saranno improvvisamente sul fine sbagliato di una licenza / causa legale. Se pensano che ciò sia anche possibile, andranno altrove.

Offro la tragedia assoluta di Java, eseguita da Larry Ellison (AKA Oracle) e Google. Ellison ha eseguito un faceplant su scala globale che ha compiuto 2 cose:

  1. Ha mostrato al mondo che avrebbe fatto causa a chiunque pensasse di poter ottenere denaro, e
  2. Ha garantito che gli sviluppi futuri che non erano assolutamente già collegati a Java avrebbero scelto qualsiasi diverso da Java.

Google non ha solo vinto questa causa, ma ha eviscerata le patetiche rivendicazioni di Oracle su brevetti e copyright. Dopo questo, nessuno che conosco metterà fede qualunque in qualsiasi "tecnologia open source" che abbia le impronte digitali di Oracle su di esso (si pensi: MySQL).

Se vuoi, puoi saltare lo sviluppatore - secoli dietro Java e passare direttamente all'ignoranza ... basta che tutti gli sviluppatori firmino un contratto prima che possano usare la tua nuova lingua.

    
risposta data 09.12.2012 - 03:48
fonte
2

Potresti scrivere una grammatica per la tua lingua e far valere il tuo copyright. Ovviamente, questo non ti proteggerà da qualcuno che scrive una grammatica diversa che descrive la stessa lingua.

La mia più grande domanda sarebbe "perché vorresti". Dopotutto, probabilmente vorresti che le persone adottassero la tua lingua. Se qualcun altro avesse affermato di averlo creato, sarebbe sufficiente avere una buona presenza sul web per poterlo chiamare bugiardo.

Come altri hanno notato, se il tuo obiettivo principale è quello di impedire ad altri di rubare il name della tua lingua, un marchio sarebbe più utile.

    
risposta data 08.12.2012 - 23:31
fonte
1

Nel tempo ci sono state risposte diverse a questa domanda:

Nel 2012, una domanda simile era risposta "non è possibile" in Oracle v.s. Caso di Google sull'uso dell'API Java in Android e una risposta simile è stata data nel caso di Implementazione WPL del linguaggio di programmazione SAS nel proprio prodotto. La logica di questa risposta è stata che l'interoperabilità tra le diverse implementazioni di una lingua richiede la copia della sintassi di un linguaggio di programmazione, e così facendo dovrebbe essere consentito alle regole del "fair use".

Nel 2014, tuttavia, la corte d'appello statunitense ha deciso che la risposta legale giusta era effettivamente "sì, è possibile", con la motivazione che fornire l'interopicibilità (o meno) e in base a quali regole è a esclusiva discrezione del detentore del copyright originale. In questa interpretazione più recente, se qualcuno non vuole che tu sia compatibile con il loro linguaggio di programmazione, l'API o altre specifiche dell'interfaccia, hanno tutto il diritto di fermarti.

In poche parole, dal 2014 è probabilmente giusto ipotizzare: sì, un linguaggio di programmazione (la sua sintassi, struttura e sequenza di costrutti del linguaggio) può essere protetto da copyright

Si noti che la legge sul copyright è soggetta a interpretazioni locali e che le regole nel proprio paese potrebbero essere diverse. In caso di dubbio, consulta un avvocato ...

(rimosso il resto dell'argomento, vedi cronologia)

Dichiarazione di non responsabilità: IANAL

    
risposta data 16.12.2012 - 16:43
fonte

Leggi altre domande sui tag