Decidi criar uma linguagem de programação própria, principalmente por diversão. No entanto, fiquei interessado no aspecto legal de tudo.
Você pode, por exemplo, licenciar programas específicos sob termos específicos. No entanto, como você licenciar um idioma ? Além disso, não me refiro apenas à implementação da linguagem (compilador e VM), mas do próprio padrão. Falta alguma coisa na linguagem de programação?
O que eu gostaria de alcançar com esse licenciamento:
- Torne-o completamente FOSS (um idioma pode ser FOSS, ou é a implementação que pode ser FOSS?)
- Estabelecer-me como autor (você pode legalmente ser autor de um idioma? Ou, novamente, apenas a implementação?)
- Faça com que seja exigido que alguém que implementa minha linguagem me atribua (estilo MIT. Observe que não tenho nenhuma esperança de que alguém realmente faça isso, estou apenas aprendendo.)
Penso que a solução seria licenciar separadamente a VM e o compilador para o meu idioma, como "a implementação oficial", e depois licenciar o documento de design como o próprio idioma .
O que exatamente estou perdendo aqui?
Respostas:
Isenção de responsabilidade.IANAL ();
Você não pode copyright uma linguagem de programação, assim como não pode copyright uma linguagem falada. Você pode licenciar uma implementação específica da linguagem e até vender esse compilador como Borland fez com o Delphi por muitos anos.
Atualmente, muitos idiomas têm um BDFL (Ditador Benevolente para a Vida) que determina o que entra no idioma e o que não. Python, Ruby e Perl são todos exemplos disso.
Outros idiomas projetaram padrões oficialmente por uma das várias placas de padrões, normalmente ANSI, ECMA ou ISO. Exemplos incluem C, C ++ e Javascript.
Alguns idiomas caem em áreas mais sombrias devido à politicagem entre empresas. Java é um exemplo porque a Microsoft faz parte de algumas das placas de padrões.
Alguns idiomas mudam de um para outro, normalmente de BDFL para Padronizado, C é um bom exemplo.
Dependendo da especificação da linguagem, alguns gravadores de compilador podem implementar recursos diferentes de maneiras diferentes (CPython vs PyPy, por exemplo) ou adicionar recursos (Microsoft C ++ vs GNU C ++ ou MySQL vs PostGreSQL vs SQL Server)
fonte
Qualquer tentativa de restringir / controlar / possuir um idioma está fadada ao fracasso. Para que um idioma seja amplamente utilizado, as pessoas devem sentir a) que ele resolve um problema melhor do que um idioma existente e estabelecido eb) sentem-se confortáveis por não estarem repentinamente do lado errado de uma licença / lei terno. Se eles acham que isso é possível, eles irão para outro lugar.
Eu ofereço a Tragédia absoluta de Java, como realizada por Larry Ellison (AKA Oracle) e Google. Ellison realizado um legal em escala global faceplant que realizou 2 coisas:
O Google não apenas venceu esse processo, mas também eviscerou as patéticas reivindicações de patentes e direitos autorais da Oracle. Depois disso, ninguém que eu conheço vai colocar qualquer fé alguma em qualquer "tecnologia de código aberto", que tem as impressões digitais da Oracle sobre ele (pense: MySQL).
Se você quiser, pode pular os séculos do desenvolvedor por trás do Java e passar a ser ignorado ... basta que todos os desenvolvedores assinem um contrato antes que possam usar sua nova linguagem.
fonte
Você pode escrever uma gramática para o seu idioma e reivindicar seus direitos autorais sobre isso. Claro, isso não o protegeria contra alguém que escrevesse uma gramática diferente que descrevesse o mesmo idioma.
Minha maior pergunta seria "por que você gostaria". Afinal, você provavelmente quer que as pessoas adotem seu idioma. Se outra pessoa alegou ter criado, basta ter uma boa presença na web para permitir que você a chame de mentirosa.
Como outros observaram, se seu objetivo principal é impedir que outros roubem o
name
seu idioma, uma marca comercial seria mais útil.fonte
Houve respostas diferentes para esta pergunta ao longo do tempo:
Em 2012, uma pergunta semelhante foi respondida "você não pode" no caso Oracle vs Google sobre o uso da API Java no Android, e uma resposta semelhante foi dada no caso da implementação da WPL da linguagem de programação SAS em seu próprio produto. A lógica para essa resposta foi que a interopabilidade entre diferentes implementações de uma linguagem requer cópia da sintaxe de uma linguagem de programação e, portanto, isso deve ser permitido sob as regras de "uso justo".
Em 2014, no entanto, o tribunal de apelações dos EUA decidiu que a resposta legal justa era de fato "sim, você pode", com o objetivo de fornecer interopabilidade (ou não) e de acordo com as regras a critério exclusivo dos direitos autorais originais suporte. Nesta interpretação mais recente, se alguém não quiser que você seja compatível com a linguagem de programação, API ou outra especificação de interface, ele terá todo o direito de impedi-lo.
Em poucas palavras, a partir de 2014 provavelmente é justo supor: sim, uma linguagem de programação (sua sintaxe, estrutura e sequência de construções de linguagem) pode ter direitos autorais
Observe que a lei de direitos autorais está sujeita à interpretação local e que as regras do seu país podem diferir. Em caso de dúvida, consulte um advogado ...
(removeu o restante do argumento, veja o histórico)
Isenção de responsabilidade: IANAL
fonte