Cet article fait suite à “Open Source & Sociétés Commerciales”.
Avant tout, ATTENTION: bien que j’aie essayé de faire de mon mieux, je ne suis pas juriste et je ne peux en aucun cas garantir les informations ci-dessous. Qui plus est, la plupart des analyses disponibles dans ce domaine sont basées sur le droit américain et peuvent ne pas forcément se transposer au droit français, européen ou international…
En effet, il est important de prendre en compte le fait qu’à l’heure de l’Internet, les différentes contributions à un projet Open Source proviennent souvent de pays très divers. Identifier des règles de droit applicables à tous ces pays est au delà de mes compétences.
Les informations rassemblées ci-dessous sont donc à prendre à titre indicatif!
Pourquoi la licence GPL pose-t-elle problème?
Si vous diffusez un logiciel sous GPL et que d’autres équipes lui ajoutent des fonctionnalités intéressantes, vous pouvez à tout moment récupérer ces différents ajouts et les fusionner au projet initial.
Le revers de la médaille c’est que si vous voulez intégrer un morceau de code diffusé sous GPL dans l’un de vos propres logiciels, vous devez alors obligatoirement diffuser ce logiciel dans son entiereté sous licence GPL… ou bien ne pas le diffuser du tout.
On peut discuter longtemps de la pertinence de l’idéal derrière cette licence, mais il est un fait que dans une entreprise capitaliste, la manipulation de code sous licence GPL finit toujours par poser des problèmes auxquels il faut préter une attention particulière.
Et c’est sans compter le fait que la légalité même du texte de la licence GPL est remise en cause par différents avocats et juristes…
Quelle est la valeur légale des licences Open Source?
La réponse de Bruce Perens “s’appuie” ici sur le droit américain mais il y a quelques principes généraux à retenir: une licence logicielle est une combinaison des droits d’auteur (“copyright law” qui s’applique assez mal aux logiciels) et du droit contractuel (dans lequel on peut ajouter pratiquement toutes les restrictions imaginables tant qu’elles n’atteignent pas aux autres droits garantis par les lois). Mais de toutes façons, la plupart du temps les problèmes de non respect des licences se sont réglés avec succès en dénonçant publiquement les abus (mauvais pour l’image…) plutôt qu’en attaquant les contrevenants en justice.
On peut toutefois douter de l’efficacité d’une dénonciation publique sur une PME ou même un développeur indépendant qui abuserait d’un code open source dans un marché de niche… :|
Après avoir rendu public un logiciel sous licence GPL, est-il possible de changer la licence?
D’après Bruce Perens, oui et non. Non on ne peut pas se retracter sur la licence GPL portant sur les versions existantes. Mais oui, si personne d’autre n’a contribué, il est possible de sortir les nouvelles versions sous une autre licence. Il est également possible de sortir le même logiciel simultanément sous plusieurs licences (et pas forcément toutes Open Source).
Ce point est souvent contesté par les opposants à la GPL qui prétendent que la licence GPL empêche l’auteur même du logiciel de l’utiliser autrement que sous les termes de la GPL, y compris pour les travaux dérivés. J’oserai affirmer ici que c’est faux! La FSF le dit clairement dans sa FAQ sur la GPL:
The GNU GPL does not give users permission to attach other licenses to the program. But the copyright holder for a program can release it under several different licenses in parallel. One of them may be the GNU GPL.The license that comes in your copy, assuming it was put in by the copyright holder and that you got the copy legitimately, is the license that applies to your copy.
I would like to release a program I wrote under the GNU GPL, but I would like to use the same code in non-free programs. To release a non-free program is always ethically tainted, but legally there is no obstacle to your doing this. If you are the copyright holder for the code, you can release it under various different non-exclusive licenses at various times.
Si d’autres personnes ont contribué, elles sont propriétaires du “copyright” sur leurs modifications (et ça se transpose probablement aux droits d’auteur français, mais on doit pas être très loin…?). Plusieurs options pour changer la licence dans ce contexte:
- Eliminer le problème: supprimer le code contribué.
- Traiter le problème au niveau du copyright: demander un transfert du "copyright" aux auteurs concernés. On peut aussi envisager qu'il cède un copyright tout en conservant le sien ("split-copyright"). Pas sûr que tout celà puisse s'appliquer aux droits d'auteur français. Cette solution est intéressante car elle n'aliène pas le contributeur en lui imposant une licence plus restrictive que la GPL. Cette solution permet éventuellement de distribuer les modifications à la fois sous GPL et sous une autre licence en fonction des besoins.
- Traiter le problème au niveau de la licence: utiliser dès le départ une licence telle que la Netscape Public License (NPL) qui implique que les fichiers modifiés soient redistribuables sous une autre license... (mais pas forcément les nouveaux fichiers ajoutés par d'autres, dans le cas de la NPL). Sinon, si le projet est en GPL dès le départ par exemple, il est nécessaire d'obtenir le consentement de tous les contributeurs avant de changer la license. Voir l'exemple de Mozilla.org qui est engagée dans un processus de changement de licence où non seulement elle change les licences NPL en MPL (Mozilla Public License) mais où elle ajoute d'autres licences (GNU GPL et GNU LGPL) et où elle bascule des licences tierces vers MPL+GPL+LGPL avec le consentement des contributeurs concernés.
Un programme GPL peut-il inclure des modules non GPL?
Oui, mais la licence des modules doit être compatible avec la licence GPL. Dans le cas contraire, il faut prendre des dispositions particulières.
Sur la compatibilité des diverses licences open source avec la GPL, voir: Various Licenses and Comments about Them.
Un plug-in pour un programme GPL doit il forcément être ditribué sous GPL?
On entre dans une zone de flou…
La FSF prétend que le plugin doit être ditribué en GPL, mais s’il est distribué séparément… on est bien dans un cas où l’auteur peut distribuer son code sous la licence qu’il veut non?
Maintenant, le problème c’est qu’un plugin est généralement construit à partir d’une classe ou d’un template type, lequel est généralement soumis à la licence GPL… ce qui implique que le plug-in derivé soit GPL également. Mais si la classe ou le template de base existe sous différentes licences… tout semble permis, non?
Comments from long ago:
Comment from: fplanque: IT world
Choix d’une license open sourceCet article fait suite à:
Open Source & Sociétés Commerciales
Précisions sur la licence GNU GPLCombien existe-t-il de licences Open-Source ?
Beaucoup!
De très nombreux auteurs ont décidé qu’une licence existante (notamment la …
2004-09-30 17-52
Comment from: MR
Bonjour,
Si je suis l’auteur d’un programme sous GPL que je rend public et qu’une personne récupère une copie du programme pour y apporter des modifications et le rendre public.Est-il possible de changer par la suite le contrat de licence de mon programme vers une licence MIT (sans intégrer les modification de la communauté) ? Les nouveaux modules que je réaliserais seront-ils “contaminé” par la licence GPL, ou seront-il sous licence MIT ?
Merci d’avance
2015-08-13 09-21