2009-07-08 7 views
4

Qu'est-ce que cela signifie de doubler le code de licence? Je ne peux pas simplement mettre les deux licences dans les fichiers source. Cela voudrait dire que j'ordonne aux utilisateurs de suivre les règles de chacun d'eux, mais les licences seront probablement contradictoires (sinon il n'y aurait aucune raison de doubler la licence).Qu'est-ce que cela signifie de doubler la licence?

Je suppose que cela est quelque chose comme dans l'enchaînement cryptographique, cipher = crypt_2(crypt_1(clear)) (en général) signifie que cipher est ni la sortie de crypt_2 sur clear, ni la sortie de crypt_1 sur clear. C'est la sortie de la composition.

De même, en double licence, en réalité, mon code a une licence, il est juste que cette nouvelle licence dit s'il vous plaît suivre toutes les règles de license1, ou toutes les règles de license2, et vous êtes par la présente accordé le droit de redistribuer cette application sous cette "double" licence, licence1 ou licence2, ou toute licence en vertu de laquelle licence1 ou licence2 vous permettent de redistribuer ce logiciel, auquel cas vous devrez remplacer les informations de licence pertinentes dans cette application avec celle de la nouvelle licence.

(Est-ce que cela signifie que avant que quelqu'un peut utiliser l'application sous license1, il doit effectuer l'opération de redistribution à l'auto? Comment pourrait-il documenter le fait qu'il a fait cette opération?)

Ai-je raison. Quel fichier LICENSE et quel texte mettre dans les fichiers sources aurais-je besoin si je voulais double licence sur, par exemple, Apachev2 et GPLv3?

+0

Aha! Ruby a une licence maîtresse explicite: http://www.ruby-lang.org/en/LICENSE.txt –

+0

L'accord prend juste deux fois plus d'espace qu'une licence «float» – bobobobo

+3

Je suis en train de voter pour fermer cette question comme off- sujet parce que ** il s'agit de licences ou de questions juridiques **, pas de programmation ou de développement de logiciels. [Voir ici] (http://meta.stackoverflow.com/a/274964/1402846) pour plus de détails, et [help/on-topic] pour plus d'informations. –

Répondre

1

Ok, je pense que je l'ai eu.

Je pense qu'il est comme ceci:

en distribuant le code source de son programme avec un fichier LICENSE, le développeur fait effectivement une promesse qu'il accordera toute personne intéressée une licence à son programme.

Ainsi, quand quelqu'un commence à télécharger le code source, il est entendu qu'à ce moment le développeur lui accorde une licence pour son programme. Le développeur peut "diffuser le logiciel sous une double licence", ce qui signifie en fait que sa promesse est d'accorder à l'intéressé une licence qu'elle a choisie pour son programme.

Cette interprétation élimine le problème que j'avais avec factitious effectuer une

license['my-program-v1.0'] := GPLv3 
license['my-program-v1.0'] := SomeOtherLicense 

en même temps, en parallèle et en gardant les valeurs affectées à license['my-program-v1.0'] intacte.

3

Votre hypothèse concernant la double licence est correcte. Si vous incluez deux licences, les gens sont simplement tenus de suivre la licence qui correspond le mieux à leurs besoins.

Exemple, Licence 1:
Vous ne redistribute,
Vous pouvez utiliser pour personnel ou d'entreprise.

Licence 2:
Vous pouvez redistribuer,
Vous ne peut pas modifier le code.

Je peux maintenant choisir l'un des deux, mais je ne peux pas mélanger les choses des deux.

Cela soulève également la question, avez-vous vraiment besoin de double licence? Pourquoi ne pas forger votre propre licence en utilisant les règles les plus désirables pour vous des deux combinés.

La distribution avec deux licences peut également créer des fourchettes dans le code, car l'utilisateur est limité à suivre un accord de licence qu'il ne peut plus distribuer sous les deux accords que vous avez spécifiés. Par exemple, si deux équipes de développeurs travaillent chacune sur une licence différente, il y a une chance qu'elles ne puissent pas combiner leurs codes, parce que faire cela violerait une règle de l'un ou des deux.

+0

Vous pouvez inclure les deux, mais comme je l'ai dit, cela pourrait rendre impossible la recombinaison du code dans certains cas. –

+0

IANAL, mais les inclure devrait suffire. Le destinataire peut choisir d'accepter l'une ou l'autre licence dans son intégralité. Je pourrais autoriser une chanson que j'ai écrite à différentes personnes sans avoir à écrire une «licence maîtresse» qui comprend tous. – Eli

+0

Mais faut-il inclure les licences ou dois-je faire une licence composite pointant vers ces deux? Ensuite, les nouveaux développements seraient simplement autorisés sous licence composite. –

5

La double licence permet aux utilisateurs de choisir la licence à utiliser. Par exemple, si vous libérez votre logiciel sous licence GPL et BSD, je peux choisir d'utiliser et d'étendre votre logiciel sous l'une de ces licences.

Vous pouvez également choisir de vous procurer une licence triple ou multiple pour votre projet, puis vos utilisateurs peuvent choisir n'importe quelle licence.

Questions connexes