Réponses au Quizz Licences Open Source

A l’occasion de la rétrospective de notre XKE de Mai (notre journée mensuelle de partage de la connaissance), nous vous avions proposé un Quizz sur les licences Open Source. Merci à Noël Rocher (Red Hat / Jboss) pour l’éclairage officiel sur RHEL, à Bertrand Dechoux pour ses investigations sur iText, à Steve Klouvi pour les licences Linux, gcc autre posix. Voici les réponses !

  • Réponse 1 : Comment des éditeurs commerciaux peuvent-ils distribuer des programmes « close source » pour Linux alors que Linux utilise la licence « business unfriendly » GPL qui est censée être « contaminante » ?
  • Réponse 2 : Comment CentOS peut-il distribuer gratuitement une version de Linux qui reprend quasiment toute la distribution payante Red Hat Enterprise Linux ?
  • Réponse 3 : Pourquoi ai-je le droit de distribuer un logiciel « close source » qui embarque une JVM OpenJDK alors que celle-ci utilise la licence « contaminante » dérivée de la GPL ? Ai-je ce droit sur toutes les plateformes ? Y compris sur les terminaux mobiles ?
  • Réponse 4 : L’Affero General Public License (aka Affero GPL) étend la notion de distribution de la licence GPL à la distribution sur le réseau. Quel est l’impact sur des sites web accessibles sur Internet ? Citer une librairie Java très connue licenciée sous AGPL ? Utilisez-vous iText ?

Comment des éditeurs commerciaux peuvent-ils distribuer des programmes « close source » pour Linux alors que Linux utilise la licence « business unfriendly » GPL qui est censée être « contaminante » ?

L’essentiel du code source de Linux est distribué sous la licence business unfriendly GPL qui est contaminante et requiert donc que le code qui lui est linké soit distribué sous une licence compatible GPL avec le code source disponible.

Cependant, pour s’exécuter sur Linux, un programme n’a pas besoin d’être compilé et/ou linké à ce code contaminant ; il lui suffit d’être compilé et linké sur les API POSIX / « Portable Operating System Interface for Unix » (e.g. cpio.h) qui ont une licence non contaminante BSD (en plus de licences LGPL et GPL) ou sur des librairies aux licences non contaminantes comme glibc (licence LGPL). Quant au compilateur GCC, il ne contamine pas non plus avec sa GCC Runtime Library Exception.

Comment CentOS peut-il distribuer gratuitement une version de Linux qui reprend quasiment toute la distribution payante Red Hat Enterprise Linux ?

Comme Noel Rocher (Red Hat / JBoss) nous l’a expliqué, Red Hat tient à disposition de ses clients RHEL le code source de l’OS ; c’est conforme à la licence GPL de Linux. En revanche, les logos et les termes Red Hat, RHEL, etc sont sous copyright Red Hat.

Il suffit aux membres du projet CentOS d’acheter une licence RHEL, de demander le source et de faire disparaitre les logos et termes copyrightés (RHEL, Red Hat, etc) pour constituer une version qu’ils ont le droit de distribuer gratuitement.

Il est donc possible d’obtenir une quasi-RHEL gratuitement mais on perd alors le support et les services que Red Hat propose à ses clients.

Pourquoi ai-je le droit de distribuer un logiciel « close source » qui embarque une JVM OpenJDK alors que celle-ci utilise la licence « contaminante » dérivée de la GPL ? Ai-je ce droit sur toutes les plateformes ? Y compris sur les terminaux mobiles ?

La JVM OpenJDK est disponible sous GNU General Public License, version 2, with the Classpath Exception. Le classpath exception protège le code qui s’exécute sur la JVM de la contamination habituelle des licences GPL. Une application peut donc être livrée avec une JVM OpenJDK sans être contaminée et donc sans devoir rendre son code source disponible sous licence compatible GPL.

Cela ressemble presque plus à une licence LGPL qu’à une licence GPL.

Pour ce qui est du monde mobile, Oracle (à l’époque Sun) n’a pas posé de classpath exception à la JVM ME (aka Mobile Edition). De ce fait, une application qui embarque une JVM ME open source d’Oracle est contaminée et doit proposer son code source sous licence compatible GPL. Cette disposition a incité les fabricants de téléphones mobiles et systèmes embarqués qui utilisaient Java ME à continuer à utiliser des JVM ME commerciale.

En revanche, rien n’interdit de bénéficier de la classpath exception en utilisant un Open JDK sur téléphone mobile ou tout autre embedded device. Le OpenJDK : Zero – Assembler Project travaille justement à porter OpenJDK sur les processeurs ARM qui sont communément utilisés dans les smartphones.

L’Affero General Public License (aka Affero GPL) étend la notion de distribution de la licence GPL à la distribution sur le réseau. Quel est l’impact sur des sites web accessibles sur Internet ? Citer une librairie Java très connue licenciée sous AGPL ? Utilisez-vous iText ?

L’Affero General Public License a été introduite en complément de la GPL pour combler l’oubli des Application Service Providers.

Cette licence stipule que la distribution ne se limite pas à la forme de binaires comme le définit la licence GPL mais concerne aussi la fourniture en mode service de ce logiciel au travers d’un réseau.

De ce fait, exposer un logiciel à des clients sous forme de services web relève d’une distribution aux yeux de l’Affero GPL. Par conséquent, une application web visible sur internet qui embarque une librairie Affero GPL est contaminée et doit rendre tout son code source disponible sous licence compatible AGPL !

Avis aux utilisateurs d’iText : la librairie est passée en dual licensing Affero GPL / commercial depuis la version 5. Si vous voulez continuer à bénéficier de la business friendly Mozilla Public License, il faut rester sur la version 2.1.7 d’iText (merci à Bertrand Dechoux pour l’historique).

3 Responses

  • Merci pour ces explications. Donc en gros, si on crée une boîte sur l’open source, il vaut mieux s’entourer de bons avocats. A retenir. Merci

  • @Sam B

    Pour schématiser :
    * l’Aferro GPL est aux licences ce qu’Ebola est aux virus, elle contamine tout !
    * les licences business friendly (BSD, Apache Software License, etc) sont open bar ! On n’a pas à se poser de question lorsqu’on les utilise.

    Une entreprise qui licencie son code sous licence business friendly (BSD, Apache Software License, etc) a peu de question à se poser.
    J’ai discuté licences avec Juergen Hoeller (Spring source) et Nicolas Leroux (Play ! ) à GeeCon la semaine dernière. Les deux projets ont commencé sans compétence juridique particulière.

    En revanche, une entreprise qui veut mettre en place un dual licensing commercial/open-source peut regarder la plus business unfriendly de toute les licences, l’Aferro GPL :-)

    Ensuite, tant qu’on possède le copyright, on peut changer la licence sur les nouvelles versions du code (le changement n’est pas rétroactif, les ancienne distribution conservent leur licence).

    Quelques exemples de copyright de code licencié Apache Software Licence 2 :
    * « Copyright 1999-2004 The Apache Software Foundation. » : la Fondation Apache a le droit de changer la licence comme bon lui semble,
    * « Copyright (C) 2009 Google Inc. » : Google a le droit de changer la licence comme bon lui semble,
    * « Copyright 2002-2010 the original author or authors. » – extrait de code Spring Framework : SpringSource n’a pas le copyright sur le code, ce sont les auteurs qui ont le copyright : SpringSource aurait besoin de l’accord de tous les auteurs du code pour changer de licence !

    Une dernière remarque qui s’applique autant aux licences business friendly que business unfriendly : attention aux patchs contribués par la communauté ! Attentions aux copies sauvages et aux gentils contributeurs qui ne seraient pas conscients de la porté du contrat qui les lie à leur employeur.
    A titre d’exemple, les bugs trackers de la Fondation Apache ont une case à cocher en « opt-out » pour que les contributeurs de patches précisent volontairement qu’ils donnent le copyright à la Fondation.

    Cyrille

  • Le libre l’est grâce à la licence GPL. C’est trop facile de reprendre du code pour en faire une application en changeant son nom et en la commercialisant : c’est profiter et surfer sur la vague alors que ce n’est pas le but du mouvement, le monde open source n’existerait pas sans la GPL !

    Elle n’est pas « business unfriendly » ? ça permet d’éviter les profiteurs. Elle propose une nouvelle façon de voir les choses, une amélioration réelle des logiciels via cette voie comme l’était l’informatique dans les années 70 grâce au monde universitaire. Elle protège l’utilisateur, le partage du code, la liberté pour l’utilisateur, le développeur, en ne réinventant plus la roue, tout en obtenant une bien meilleure qualité du code et surtout un vrai monde aux standards ouverts. Merci la GPL.

    D’ailleurs, j’encourage les futurs contributeur du libre, les développeurs, les traducteurs, les utilisateurs, les communautés, membres des communautés, les personnes donnant ne serais ce qu’un peu de temps au libre de travailler sur des projets exclusivement de type GPL pour garder notre avenir en main.
    Android n’est pas GPL, ce qui fait que personne ne bénéficie des avancées à par Google alors que google profite de la communauté et s’appuie sur un existant c’est un manque de respect et du vol envers les contributeurs !

Laisser un commentaire