Les scripts sont-ils & # 8220; open source & # 8221; par définition? [fermé]

StackOverflow https://stackoverflow.com/questions/426932

  •  06-07-2019
  •  | 
  •  

Question

L’autre jour, j’ai peaufiné le script de l’addon de World of Warcraft à un ami. Il a été surpris que vous puissiez éditer les addons & # 8212; qu'ils soient "open source". (Les addons de Word of Warcraft sont écrits dans le langage de script Lua) Je me suis retrouvé à vouloir dire "Bien sûr, vous pouvez & # 8212; tous les scripts sont 'open source'".

Est-ce vrai? Bien sûr, certains scripts peuvent être compilés en bytecode, mais presque tous les scripts ne sont-ils pas interprétés? C’est-à-dire que le périphérique interprétant le script n’a pas besoin de la "source", par définition?

Était-ce utile?

La solution

Cela dépend de la manière dont vous interprétez "open source".

Bien sûr, vous avez le code source, mais ce n’est généralement pas ce que signifie Open Source. Habituellement, l'open source fait référence à la licence. Pour avoir quelque chose "open source" Cela signifie que vous êtes libre de modifier le code source à quelque fin que ce soit, y compris de le redistribuer dans de nombreux cas.

Le fait d’avoir la source ne la rend pas open source au sens général du logiciel. Si le script est protégé par des droits d'auteur, il est techniquement "fermé". sauf dans les cas où une licence Open Source est explicitement donnée. Vous pouvez le modifier, mais si vous le redistribuez sans l'autorisation de l'auteur, vous enfreignez leur copyright implicite (ou explicitement enregistré).

Autres conseils

L'open source concerne les licences. Un script peut avoir n'importe quelle licence que l'auteur (ou le détenteur du droit d'auteur, tel qu'un employeur) souhaite obtenir. La réponse est donc "non".

Il est vrai que les scripts sont généralement distribués sous la même forme qu’ils ont été écrits - pas de format compilé. Ainsi, vous pouvez voir la source. Cela ne signifie pas qu'ils sont open source.

N °

" Open source " n’est pas la même chose que de pouvoir visualiser le code source; Les licences open source concernent le droit légal de dériver des travaux à partir de ce code source.

Si vous prenez le travail de quelqu'un d'autre, le modifiez et le redistribuez sans son consentement explicite, vous enfreignez son droit d'auteur et enfreignez la loi .

" Open Source " Cela ne signifie pas seulement que vous avez la source, cela sert également à décrire votre droit légal de redistribuer le code, avec ou sans modifications.

Basé sur les droits d'auteur & amp; licences, de nombreux scripts ne sont pas open source.

Comme beaucoup l'ont noté, le simple fait d'avoir accès à la source ne vous donne pas le droit de faire ce que vous voulez.

Vous demandez

  

Est-ce que presque tous les scripts ne sont pas interprétés? C’est-à-dire que le périphérique interprétant le script n’a pas besoin de la "source", par définition?

Non. Même dans un interprète, la source subit plusieurs transformations avant d'être interprétée. Le formulaire qui est finalement interprété est souvent une séquence d'instructions pour une machine virtuelle basée sur une pile ou sur un registre; de telles instructions sont généralement appelées "bytecode". Il est également possible d'interpréter les arbres internes de manière relativement efficace. Les interprètes conçus principalement à des fins pédagogiques peuvent utiliser des méthodes encore moins efficaces.

Certaines implémentations vous permettent de prendre le formulaire interne et de l'écrire sur le disque, à partir duquel il peut être relu et interprété. Les avantages perçus sont généralement

  • Les programmes se chargent et s'exécutent plus rapidement car les étapes de traitement initiales sont effectuées une fois avant l'écriture du formulaire interne, puis réutilisées plusieurs fois.

  • Le formulaire interne protège le code source des regards indiscrets.

Le principal inconvénient est qu'un formulaire interne typique est généralement moins portable que le code source, peut-être en raison de différences dans l'ordre des octets ou la taille des mots.

Dans le cas particulier de Lua, le compilateur luac écrira du bytecode sur le disque. Il est rarement utilisé car les bytecodes ne sont pas portables et parce que le compilateur est déjà assez rapide. Dans le cas particulier de World of Warcraft, ils encouragent les utilisateurs à utiliser Lua pour modifier l'interface et personnaliser le expérience; ils veulent que tout le monde partage le code et le maintienne donc open source. WoW compte plus de 10 millions d'abonnés et au moins 5 000 personnes ont fourni du code. C’est donc un demi pour cent des utilisateurs qui ont fourni du code, ce qui me donne une bonne idée de l’avenir de la programmation en tant que profession.

Pour distribuer un programme destiné à un interprète, vous devez envoyer le code source (bien que ce ne soit pas nécessairement compréhensible). Cela ne signifie pas automatiquement que c'est Ouverte ou Libre de la façon dont ces termes sont souvent utilisés.

Il semble que je me souvienne d'avoir lu quelque chose dans les termes et conditions du jeu qui exige que les addons soient sous licence open source, mais je n'arrive pas à le trouver maintenant, donc je l'avais peut-être imaginé. Dans tous les cas pratiques, ils sont bien.

Vous pouvez compiler Lua et d’autres langages de script et les masquer de différentes manières. C’est seulement plus commun - pas plus nécessaire - que la source soit ouverte par défaut que ce n’est le cas avec d’autres langues.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top