Pergunta

No outro dia, eu mexido um roteiro para World of Warcraft addon de um amigo. Ele ficou surpreso que você poderia editar os addons de que eles eram "open source". (Palavra de complementos Warcraft são escritos na linguagem de script Lua) Eu encontrei-me querer dizer "Claro que você pode-todos os scripts são 'open source'."

Isso é verdade? Claro, alguns scripts pode ser compilado para bytecode, mas não são quase todos os scripts interpretados? Ou seja, não o dispositivo de interpretar a necessidade de script a "fonte", por definição?

Foi útil?

Solução

Depende de como você interpreta "open source".

Claro, você tem o código-fonte, mas normalmente isso não é exatamente o que significa Open Source. Normalmente open source refere-se ao licenciamento. Para ter alguma coisa significa "open source" que você é livre para modificar a fonte para qualquer propósito, incluindo redistribuição-lo em muitos casos.

Basta ter a fonte não torná-lo open source no sentido de software em geral. Se o script é protegido, então é tecnicamente "fechado", exceto nos casos em que uma licença Open Source é explicitamente dadas. Você pode modificá-lo, mas se você redistribuí-lo sem a permissão do autor você está em violação de seus direitos autorais implícita (ou explicitamente registrado).

Outras dicas

Open source é sobre o licenciamento. Um script pode ter qualquer licença o autor (titular ou de direitos de autor, como um empregador) quer. Portanto, a resposta é "não".

É o caso que os scripts são normalmente distribuídos da mesma forma que eles são escritos - nenhum formato compilado. Assim você pode ver a fonte. Isso não significa que eles são de código aberto.

Não.

"Open source" não é a mesma coisa que ser capaz de ver o código fonte; licenciamento de código aberto é sobre o direito legal para obras decorrentes dessas código-fonte.

Se você pegar alguém do trabalho, modificar e redistribuir-lo sem o seu consentimento explícito, então você está infringindo seus direitos autorais, e violar a lei .

"Open Source" não significa apenas que você tem a fonte, também é usado para descrever o seu direito legal para redistribuir o código com ou sem modificações.

Com base no copyright e licenciamento, muitos scripts são não de código aberto.

Como observado por muitos, só porque você tem acesso à fonte não lhe dá o direito de fazer o que quiser com ele.

Você pergunta

Você não quase todos os scripts interpretados? Ou seja, não o dispositivo de interpretar a necessidade de script a "fonte", por definição?

No. Mesmo em um intérprete, a fonte passa por várias transformações antes de ser interpretado. A forma que é em última análise, é interpretado muitas vezes uma sequência de instruções para uma máquina virtual baseada registo-baseado em pilha ou; tais instruções são geralmente chamados de "bytecode". Também é possível interpretar árvores internos relativamente eficiente. Intérpretes projetados principalmente para fins de ensino podem usar esquemas ainda menos eficientes.

Algumas implementações permitem que você assumir a forma interna e escrevê-lo em disco, a partir do qual ele pode ser re-lido e interpretado. As vantagens percebidas são geralmente

  • carregar programas e funcionar mais rapidamente porque as fases de processamento iniciais são realizadas uma vez antes da forma interna é escrito, em seguida reutilizado repetidamente.

  • A forma interna protege o código-fonte de olhos curiosos.

A principal desvantagem é que uma forma interna típico é geralmente menos do que o código fonte portátil, talvez por causa das diferenças na ordem de bytes ou tamanho de palavra.

No caso particular da Lua, o compilador luac vai escrever bytecode para o disco. Ele raramente é usado porque os bytecodes não são portáteis e porque o compilador já é bastante rápido. No caso particular de World of Warcraft, eles são realmente incentivar as pessoas a usar Lua para modificar a interface e para personalizar a experiência; eles querem que todos possam compartilhar código e assim mantê-lo aberto. WoW tem mais de 10 milhões de assinantes, e pelo menos 5000 pessoas contribuíram código. de modo que é uma metade de um por cento da base de usuários que têm contribuído algum código, o que me dá pensamentos felizes sobre o futuro da programação como uma profissão.

Para distribuir um programa para um intérprete, você Have para enviar fonte (embora não necessariamente compreensível fonte). Isso não significa automaticamente que é é Abrir ou gratuito na forma como esses termos são freqüentemente usados.

Eu me lembro de ler algo nos termos e condições de jogo que requer complementos a ser licenciados como open source, mas eu não consigo encontrá-lo agora para que eu possa ter sido imaginando. Em todos os casos práticos são embora.

Você pode compilar Lua e outras linguagens de script e obscurecer-los de várias maneiras. É apenas mais comum - não mais necessário -. Para a fonte a ser aberto por padrão do que é o caso com outras línguas

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top