La licence open source de mon code me limite-t-elle plus tard?

29

Supposons que je développe une bibliothèque utile et décide de la publier en open source. Quelque temps plus tard, j'ai un besoin professionnel de faire quelque chose qui ne serait pas conforme à la licence open source. Suis-je autorisé à faire ça?

Comment dois-je publier le logiciel de manière à en conserver la propriété et à ne pas m'empêcher d'utiliser la bibliothèque à l'avenir?

Gardez à l'esprit qu'au moins en théorie, d'autres développeurs peuvent décider de contribuer à mon projet open-source. Puis-je spécifier dans une licence que moi, en tant que développeur d'origine, deviens également propriétaire de leurs contributions? Ne vous méprenez pas ici, je n'essaie pas d'être méchant et de s'approprier le travail des autres - je veux juste garder la propriété du mien, et si quelqu'un publie un correctif important, je pourrais être rendu incapable d'utiliser le code d'origine à moins J'utilise aussi son travail.

configurateur
la source
6
La publication sous une licence ne vous empêche pas de publier sous d'autres licences également - après tout, vous êtes toujours propriétaire du code. Le code source est à double licence (ou tri, ou plus) tout le temps.
Note à soi-même - pensez à un nom le

Réponses:

44

Vous conservez toujours la propriété sous des licences open-source. Le travail que vous avez créé est votre propriété, et vous pouvez en faire ce que vous voulez (dans les limites légales, bien sûr), y compris en autorisant d' autres personnes à l'utiliser sous les termes d'une licence open source. Si vous souhaitez l'utiliser pour un projet propriétaire, vous pouvez le faire, à moins que vous n'ayez complètement cédé les droits à quelqu'un d'autre par contrat. Mais ce n'est pas ce que font les licences open source. Il s'agit de partager l'utilité, pas de renoncer à la propriété.

Les choses deviennent un peu autocollantes une fois que d'autres personnes commencent à contribuer. C'est leur travail, donc pas le vôtre, et vous devez obtenir leur autorisation. Une chose que vous pouvez faire est de publier votre bibliothèque sous une double licence. C'est ce que fait Sam Lantinga, le principal créateur et mainteneur de SDL . Parce qu'Apple n'aime pas les bibliothèques de liens dynamiques pour iOS et qu'il est plus difficile de se conformer à la LGPL dans une application liée statiquement, il publie SDL sous la LGPL et une licence commerciale pour les applications iPhone statiques. Lorsque quelqu'un soumet un correctif, il lui demande explicitement la permission de déployer son correctif dans la bibliothèque sous les deux licences, et s'il n'aime pas cela, il ne l'ajoute pas à la base de code.

EDIT: Mon exemple n'est plus précis. Il y a quelque temps, Sam a changé de modèle (je ne sais pas pourquoi; il s'est peut-être simplement lassé des tracas administratifs) et propose désormais une licence SDL sous une licence hautement permissive de style zlib. Mais il le faisait de cette façon.

Mason Wheeler
la source
1
+1 en particulier pour montrer comment gérer les contributions d'autres auteurs.
Frank Shearar
5

Je ne suis pas avocat et ce n'est pas un conseil juridique. Si vous avez besoin d'une assurance juridique, engagez un avocat.

Vous pouvez absolument sous-licencier votre logiciel - Trolltech l'a fait pendant de nombreuses années avec Qt, et Linden Lab l'a fait avec le client SecondLife.

Vous pouvez utiliser n'importe quelle licence que vous aimez. Certaines licences sont compatibles avec des environnements commerciaux fermés, comme les licences Mozilla MPL, MIT et BSD, et (je crois) les licences CDDL et Apache de Sun.

Cependant, si vous avez besoin de la souplesse nécessaire pour publier votre logiciel à la fois en tant que projet open source et en tant que produit open source, vous êtes absolument autorisé à le faire en tant qu'auteur d'origine. Le seul problème est la question des contributions des utilisateurs. Vous ne pouvez pas incorporer les contributions des autres dans votre version commerciale du logiciel à moins qu'ils ne vous légalisent le droit d'auteur. GNU le fait pour la seule raison qu'il mettra à jour ses licences à l'avenir.

Notez que les utilisateurs et en particulier les contributeurs n'aimeront probablement pas cela, donc cela affectera la communauté autour de votre projet, probablement de manière défavorable.

Encore une fois, consultez un avocat pour plus de détails.

gris-fondu
la source
MIT, alias la licence `` faites ce que vous voulez ''.
Evan Plaice
2

Je ne suis pas avocat non plus, mais ...

En plus des licences restrictives (qui vous obligeront à ouvrir chaque projet qui les utilise) comme la GPL, il existe également des licences non restrictives (ce qui signifie que vous pouvez utiliser un tel logiciel dans un projet commercial) comme la Lesser GPL ou Apache License (2.0 ?). Vous pouvez donc peut-être simplement publier votre logiciel à des conditions non restrictives.

Paweł Dyda
la source
2
GPL ne change pas la propriété du code. Si je publie du code sur GPL, cela s'applique à d'autres personnes qui utilisent le code - j'ai la permission que j'aime et je peux en faire ce que je veux (cependant, comme la loi ne fonctionne pas à l'envers, je ne peux pas limiter l'utilisation des personnes qui ont utilisé le logiciel sous GPL).
Maciej Piechotka
2
Ce que je voulais dire par restrictif, c'est que la GPL oblige les utilisateurs de votre bibliothèque à publier leurs logiciels sous licence compatible GPL, contrairement aux licences comme L-GPL, Apache, ... (BSD?). Maintenant, je ne suis pas sûr que si vous avez édité votre code sous GPL et que quelqu'un y ait apporté des modifications, vous pouvez simplement le publier commercialement comme si de rien n'était. Je pense que vous devez d'abord vous débarrasser des ajouts ... Mais si la bibliothèque / le framework est sous licence L-GPL, vous pouvez l'utiliser dans des applications commerciales comme n'importe qui, c'est sûr. J'espère que cela a du sens.
Paweł Dyda
C'est exactement ce que je fais quand j'écris une bibliothèque. Cela n'a pas beaucoup de sens de publier une bibliothèque commerciale, généralement c'est une application d'utilisateur final qui peut être publiée de cette manière, et s'il s'agit d'une licence non restrictive, je peux utiliser la bibliothèque dans mon projet. Et cela n'a même pas d'importance si je l'ai écrit ou quelqu'un d'autre.
Goran Jovic
@Goran, vous pouvez utiliser la bibliothèque dans votre propre projet, quelle que soit la licence sous laquelle elle se trouve . C'est votre bibliothèque et votre projet: la licence s'applique à d'autres personnes, pas à vous.
TRiG