J'ai décidé de créer mon propre langage de programmation, principalement pour le plaisir. Cependant, je me suis intéressé à l'aspect juridique de tout cela.
Vous pouvez, par exemple, autoriser des programmes spécifiques sous des conditions spécifiques. Cependant, comment procédez-vous pour octroyer une licence à une langue ? De plus, je ne parle pas seulement de l'implémentation du langage (compilateur et VM), mais de la norme elle-même. Y a-t-il autre chose dans un langage de programmation qui me manque?
Ce que j'aimerais réaliser avec une telle licence:
- Faites-le complètement FOSS (un langage peut-il même être FOSS, ou est-ce l'implémentation qui peut être FOSS?)
- S'établir en tant qu'auteur (pouvez-vous légalement être l'auteur d'une langue? Ou, encore une fois, juste la mise en œuvre?)
- Faites en sorte que toute personne implémentant mon langage soit tenue de m'attribuer (style MIT. Veuillez noter que je n'ai aucun espoir pour quiconque le fasse, cependant, j'apprends juste.)
Je pense que la solution consisterait à octroyer une licence distincte à la machine virtuelle et au compilateur pour ma langue, en tant que «mise en œuvre officielle», puis à autoriser le document de conception comme langue elle-même .
Qu'est-ce que je manque exactement ici?
Réponses:
Clause de non-responsabilité.IANAL ();
Vous ne pouvez pas plus protéger un langage de programmation que vous ne pouvez protéger un langage parlé. Vous pouvez autoriser une implémentation particulière du langage et même vendre ce compilateur comme Borland l'a fait avec Delphi pendant de nombreuses années.
De nombreuses langues ont aujourd'hui un BDFL (Benevolent Dictator for Life) qui détermine ce qui entre dans la langue et ce qui ne l'est pas. Python, Ruby et Perl en sont tous des exemples.
D'autres langues ont officiellement conçu des normes par l'une des nombreuses commissions de normalisation, généralement ANSI, ECMA ou ISO. Les exemples incluent C, C ++ et Javascript.
Certaines langues tombent dans des zones plus troubles en raison de la politique entre les entreprises. Java en est un exemple, car Microsoft siège sur certains des tableaux de normes.
Certaines langues passent de l'une à l'autre, généralement du BDFL au standardisé, C est un bon exemple.
Selon la spécification du langage, certains rédacteurs du compilateur peuvent implémenter différentes fonctionnalités de différentes manières (CPython vs PyPy par exemple) ou ajouter des fonctionnalités (Microsoft C ++ vs GNU C ++ ou MySQL vs PostGreSQL vs SQL Server)
la source
Toute tentative de restreindre / contrôler / posséder une langue est vouée à l'échec. Pour qu'une langue soit largement utilisée, les gens doivent sentir a) qu'elle résout un problème mieux que certaines langues existantes et établies, et b) qu'ils sont à l'aise de ne pas se retrouver soudainement du mauvais côté d'une licence / loi costume. S'ils pensent que c'est même possible, ils iront ailleurs.
J'offre la tragédie absolue de Java, interprétée par Larry Ellison (AKA Oracle) et Google. Ellison a réalisé une mise en page juridique à l'échelle mondiale qui a accompli 2 choses:
Google n'a pas seulement remporté ce procès, ils ont éviscéré les revendications pathétiques d'Oracle en matière de brevets et de droits d'auteur. Après cela, je ne connais personne placera une foi que ce soit dans une « technologie open source » qui a les empreintes digitales d'Oracle sur elle (pensez: MySQL).
Si vous le souhaitez, vous pouvez ignorer les siècles des développeurs derrière Java et passer directement à l'ignorance ... demandez simplement à tous les développeurs de signer un contrat avant de pouvoir utiliser votre nouveau langage.
la source
Vous pouvez écrire une grammaire pour votre langue et faire valoir vos droits d'auteur sur cela. Bien sûr, cela ne vous protégerait pas contre une personne écrivant une grammaire différente décrivant la même langue.
Ma plus grande question serait "pourquoi voudriez-vous". Après tout, vous voulez probablement que les gens adoptent votre langue. Si quelqu'un d'autre a prétendu l'avoir créé, alors simplement avoir une bonne présence sur le Web serait suffisant pour vous permettre de le traiter de menteur.
Comme d'autres l'ont fait remarquer, si votre objectif principal est d'empêcher les autres de voler la
name
langue de votre, une marque serait plus utile.la source
Il y a eu différentes réponses à cette question au fil du temps:
En 2012, une question similaire a été répondu « vous ne pouvez pas » dans l'Oracle vs Google cas sur l'utilisation de l'API Java dans Android, et une réponse similaire a été donnée dans le cas de la mise en œuvre de WPL du langage de programmation SAS dans leur propre produit. La justification de cette réponse était que l'interopérabilité entre les différentes implémentations d'un langage nécessite la copie de la syntaxe d'un langage de programmation, et que cela devrait donc être autorisé en vertu des règles de "fair use".
En 2014, cependant, la cour d'appel des États-Unis a décidé que la réponse juridique juste était effectivement "oui, vous pouvez", au motif que pour assurer l'interopérabilité (ou non), et selon quelles règles est à la seule discrétion du droit d'auteur d'origine titulaire. Dans cette interprétation la plus récente, si quelqu'un ne veut pas que vous soyez compatible avec son langage de programmation, son API ou toute autre spécification d'interface, il a le droit de vous arrêter.
En un mot, à partir de 2014, il est probablement juste de supposer: oui, un langage de programmation (sa syntaxe, sa structure et sa séquence de constructions de langage) peuvent être protégés par le droit d'auteur
Notez que la loi sur le droit d'auteur est sujette à une interprétation locale et que les règles de votre pays peuvent différer. En cas de doute, consultez un avocat ...
(supprimé le reste de l'argument, voir l'historique)
Avertissement: IANAL
la source