À qui la faute si les logiciels libres sous licence GPL sont éjectés de l’App Store ?

On peut reprocher beaucoup de choses à Microsoft mais jamais on n’a vu un logiciel libre empêché de tourner sous Windows parce que la licence du premier était incompatible avec le contrat d’utilisation du second (sinon un projet comme Framasoft n’aurait d’ailleurs pas pu voir le jour).

Il semblerait qu’il en soit autrement avec Apple et son App Store, la plateforme de téléchargement d’applications pour les appareils mobiles fonctionnant sous iOS (iPod, iPhone et iPad).

C’est que révèle la récente « affaire VLC », célèbre logiciel libre de lecture vidéo, dont la licence semble tant et si bien poser problème à Apple qu’il a été brutalement et unilatéralement décidé de le retirer de l’App Store.

Et tout le monde se retrouve perdant, à commencer par l’utilisateur qui ne pourra plus jouir de cette excellente application sur son iPad & co[1].

Derrière ce malheureux épisode (qui n’est pas le premier du genre) se cache une question en apparence relativement simple : logiciels libres et App Store peuvent-ils cohabiter ? Un logiciel, dont les libertés d’usage, de copie, de modification et de distribution, sont garanties par sa licence, peut-il se retrouver dans un espace dont le contrat stipule un nombre limité de copies sur un nombre limité de machines ? Et comme la réponse est en l’occurrence négative, le risque est réel de voir les logiciels libres totalement écartés de l’App Store, et par extension des nombreuses autres plateformes privées qui poussent comme des champignons actuellement.

Mais attention, il s’avère que dans le détail c’est plus complexe que cela. Et c’est pourquoi nous avons pris la peine d’ajouter notre grain de sel au débat en traduisant l’article ci-dessous qui résume assez bien à nos yeux la situation. C’est complexe mais ça n’en est pas moins intéressant voire enrichissant car les particularités de la situation éclairent et illustrent de nombreux aspects du logiciel libre.

Il convient tout d’abord de préciser que ce n’est pas le logiciel libre en général mais le logiciel libre sous licence GPL (et son fameux copyleft) qui est pointé du doigt ici. Ensuite il y a l’existence d’un troisième larron en la personne de la société Applidium à qui l’on doit le portage de VLC dans iOS et sa présence dans l’App Store (dans un premier temps accepté puis aujourd’hui refusé). App Store dont les règles d’utilisation définies par Apple sont floues et changeantes. Enfin c’est bien moins la « communauté VLC » dans son ensemble que l’un de ses développeurs qui est impliqué dans cette histoire.

Choisir de placer son logiciel sous licence libre, a fortiori sous licence GPL, n’est pas un acte anodin. La liberté « en assurance-vie » que vous offrez là à vos utilisateurs peut s’opposer parfois frontalement à d’autres logiques et objectifs.

Tout le monde se retrouve perdant, mais le logiciel libre le serait davantage encore s’il devait céder en y perdant son âme.

La GPL, l’App Store et vous

The GPL, the App Store, and you

Richard Gaywood – 9 janvier 2011 – Tuaw.com
(Traduction Framalang : Olivier Rosseler et PaulK)

Mon collègue Chris a rédigé un article sur l’éviction de l’App Store du célèbre logiciel de lecture video VLC, après la plainte d’un développeur du projet sur la base d’une violation de la GNU Public License (l’application a depuis été mise à disposition sur Cydia pour les appareils jailbreakés).

Les réactions de la blogosphère Mac ont été virulentes après cette décision, et Chris s’est admirablement fait l’avocat des plaignants. Mais il ne faut pas oublier qu’une histoire a toujours plusieurs versions (et que la vérité se trouve souvent à mi-chemin entre les deux). Aujourd’hui, je me fais avocat de la défense : pourquoi Rémi Denis-Courmont était parfaitement dans son bon droit. Mais pour mieux étayer mon argumentation, je vais revenir un peu sur l’historique de l’Open Source. Alors accrochez-vous !

Commençons par le commencement : pourquoi VLC a été retiré de l’App Store

L’histoire a déjà été traitée, mais voici quelques faits que vous devez connaître. VLC (hébergé à l’adresse http://videolan.org) est un lecteur audio et vidéo complet, multi-plateforme qui a maintes fois fait ses preuves. VLC est publié sous la version 2 de la licence GNU Public License (GPL). Une entreprise nommée Applidium, sans lien avec le projet, a utilisé le code source de VLC pour en faire une application pour iOS gratuite, afin que les utilisateurs d’iPhone et d’iPad puissent s’en servir pour lire plus de formats de fichiers que leur appareil n’en supporte nativement, comme les fichiers AVI et MKV. En accord avec la GPL, Applidium a libéré le code source de la version modifiée de VLC.

L’accueil reçu par ce projet sur les listes de diffusion des développeurs de VLC fut contrasté. Alors que certains développeurs n’y voyaient pas d’inconvénient, le portage de leur travail (censé être ouvert) sur une plateforme, iOS, connue pour sa fermeture et ses restrictions sur la ré-utilisation du code des applications distribuées sur l’App Store, gênait les autres. En point d’orgue de cette histoire, l’un des développeurs, Rémi Denis-Courmont (auteur d’une bonne partie du code de VLC) demanda à Apple de retirer l’application VLC pour iOS de l’App Store pour violation de la GPL, à laquelle est soumise sa contribution au projet.

Finalement, quelques mois plus tard, il semblerait qu’Apple ait obtempéré sans poser de question puisque l’application a été retirée. Denis-Courmont s’interroge malgré tout sur les délais. Si c’était effectivement la réponse d’Apple à sa demande, l’entreprise aurait pu agir bien plus tôt.

Et donc, qui est dans le vrai ?

Une courte histoire des licences Open Source

Tout d’abord, à quoi sert l’Open Source ? Parfois, des programmeurs initient des projets sur leur temps libre (ou en tant qu’universitaire, ne subissent pas les pressions commerciales, tous les systèmes d’exploitation basés sur Unix trouvent leurs racines dans l’Open Source et dans les universités, ce qui n’est pas une coïncidence), puis ils deviennent trop gros pour s’en sortir seuls. Une aide extérieure est la bienvenue, par exemple pour réparer les bogues ou pour ajouter de nouvelles fonctionnalités, et grâce à Internet les volontaires sont nombreux. Ils mettent donc le code sous une licence Open Source afin d’en publier la source et de recruter des collaborateurs.

Dit ainsi, ça paraît assez utopique, mais le fait est que de nombreux logiciels de qualité sont nés ainsi, grâce à l’Open Source : le compilateur C GCC, le noyau Mach, le serveur web Apache HTTPd, l’interface de commande bash, les langages de programmation Perl et Python et le moteur de rendu Webkit utilisé par Safari. Ces quelques exemples ainsi que des centaines d’autres sont tous Open Source et font tous partie de Mac OS X. Apple utilise donc clairement l’Open Source.

Au-delà des logiciels, nous devons Wikipedia à la famille des licences Creative Commons, créées pour étendre les idées des logiciels Open Source à d’autres activités créatives. On peut même dire que l’Open Source reproduit approximativement les processus scientifiques où les chercheurs publient leurs méthodes et leurs découvertes librement afin que d’autres chercheurs puissent s’appuyer sur leurs travaux. Ce sont là des concepts très importants à mes yeux puisque je suis titulaire d’un doctorat en informatique. Je pense que l’on peut s’accorder sur le fait que les idées derrière les logiciels libres nous sont bénéfiques à tous.

Prenons l’exemple d’Alice, une programmeuse qui a écrit un petit utilitaire. Un autre programmeur, Pierre, apprécie beaucoup son programme, mais il voudrait le modifier pour qu’il réponde mieux à ses besoins. Alice décide alors de dévoiler le code source de son programme pour que Pierre puisse y apporter des changements.

La licence la plus simple qu’Alice puisse appliquer à son code est celle du domaine public. Cela signifie que l’auteur a volontairement abandonné tous ses droits sur le code et que chacun peut en faire ce qu’il veut. Pierre peut faire ses modifications et garder la nouvelle version pour lui-même, ou ouvrir sa boutique et la vendre. Il peut même en parler à son patron, Paul, chez Microsoft, et peut vendre l’outil d’Alice dans la prochaine version de Windows, sans qu’elle ne touche jamais un centime. Si vous vous dites que c’est pas très juste pour Alice, vous n’êtes pas les seuls. Gardez cet exemple à l’esprit.

Alice a également le choix entre des familles de licences similaires : la licence MIT, la licence BSD et la licence Apache. Grâce à elles, Alice conserve son droit d’auteur sur le code, mais elles octroient également à quiconque le télécharge le droit légal de le modifier et d’en distribuer la version modifiée. Différentes variantes de ces licences imposent également à Pierre de mentionner le nom d’Alice quelque part dans le logiciel, à l’instar de la licence Creative Commons Attribution. Mais rien ne l’empêche de le vendre sans rien verser à Alice en échange.

La GPL et les autres licences copyleft

En réponse à ce problème, la Fondation pour le Logiciel Libre (FSF) a créé la GNU Public License. Elle est aussi appelée copyleft pour bien marquer la rupture qu’elle représente par rapport aux autres licences dont il est question ici. Philosophiquement, la GPL a été créée pour assurer aux utilisateurs de logiciels sous GPL les quatres libertés suivantes :

La liberté d’exécuter le logiciel, pour n’importe quel usage ;

La liberté d’étudier le fonctionnement d’un programme et de l’adapter à ses besoins, ce qui passe par l’accès aux codes sources ;

La liberté de redistribuer des copies ;

La liberté de faire bénéficier à la communauté des versions modifiées.

Évidement, la licence en elle-même est un charabia juridique assez dense, dont le but est d’assurer une validité légale à cette philosophie, mais ces quatre libertés en sont vraiment le cœur. Vous remarquerez que la deuxième et la quatrième libertés imposent que le code source de tout programme sous GPL soit mis à disposition en plus de l’exécutable, que l’on utilise vraiment. C’est la raison pour laquelle de nombreuses entreprises qui font usage de code sous GPL dans leurs produits hébergent des pages entières de code source, comme le fait Netgear par exemple. Alors, évidemment, leurs concurrents peuvent analyser le fonctionnement exact de leurs produits, pourtant ils estiment que cet inconvénient est largement compensé par les avantages qu’il y a à s’appuyer sur des produits Open Source.

Si on reprend notre histoire d’Alice et Pierre, voyons ce qu’il se passe maintenant. Alice rend son code source public. Pierre rédige son patch et décide sournoisement de vendre cette nouvelle version du programme d’Alice. Mais Alice n’est pas bête et voit bien ce qu’il se trame. Elle pose alors un ultimatum à Pierre : soit il rend public le code source de sa version modifiée , soit ils se retrouveront devant un juge pour rupture du contrat grâce auquel il a obtenu la version d’Alice (c’est à dire, la GPL). Bob s’incline évidemment et publie son code. Aucun cas n’est allé jusqu’au tribunal dans la vraie vie. Pour beaucoup, cela prouve que la GPL est valide et incontournable : personne n’ose la contester.

L’App Store et la GPL peuvent-ils co-exister ?

Le conflit le plus évident entre l’App Store et la GPL réside dans la troisième liberté ? « La liberté de redistribuer des copies ».

Ce sujet a été largement débattu, chaque camp avançant ses arguments. Malheureusement, la résultat est que : premièrement, c’est un terrain plutôt flou et deuxièmement, il ne sera jamais certain qu’une des deux partise a plus raison que l’autre sans décision de justice. Il est peu probable que l’on en arrive à une telle situation car Apple (en tant que distributeur de logiciel pour tout l’App Store) n’ira probablement pas se battre en justice pour un logiciel Open Source. Concrètement, tant que le contraire n’est pas prouvé, l’App Store et la GPL sont incompatibles. C’est sans doute l’avis d’Apple en tout cas, ils n’auraient sûrement pas supprimé VLC (et d’autres logiciels Open Source comme GNU Go) de l’App Store dans le cas contraire.

Les membres de la Fondation pour le Logiciel Libre (FSF), auteurs de la GPL ne pensent pas non plus que l’on puisse concilier la GPL et l’App Store. Leur principal argument réside dans la clause suivante de la GPL v2 :

À chaque fois que vous redistribuez un programme (ou n’importe quelle réalisation basée sur le programme), l’utilisateur final reçoit automatiquement une licence du détenteur originel du programme l’autorisant à copier, distribuer et modifier le programme sujet à ces termes et conditions. Vous ne devez imposer à l’utilisateur final aucune autre restriction à l’exercice des droits garantis par la licence.

Regardons maintenant les Règles d’utilisation des produits App Store :

(i) Vous êtes autorisé à télécharger et synchroniser un Produit à des fins personnelles et non commerciales sur tout produit de la marque Apple tournant sur iOS (« Produit iOS ») que vous possédez ou contrôlez.

(ii) Si vous êtes une société commerciale ou un établissement scolaire, vous êtes autorisé à télécharger et synchroniser un Produit destiné à être utilisé soit (a) par une seule personne sur un ou plusieurs Produits iOS que vous possédez ou que vous contrôlez, soit (b) par plusieurs personnes sur un Produits iOS partagé dont vous êtes propriétaire ou que vous contrôlez. Par exemple, un seul salarié peut utiliser le Produit aussi bien sur son iPhone que sur son iPad, ou encore, plusieurs étudiants peuvent utiliser le Produit en série sur un seul iPad situé dans un centre de ressources ou une bibliothèque.

(iii) Vous pourrez simultanément stocker des Produits App Store à partir d’un nombre maximum de cinq Comptes différents sur des Produits iOS compatibles, tels qu’un iPad, un iPod ou un iPhone.

(iv) Vous pourrez procéder à la synchronisation manuelle de Produits App Store à partir d’un ou plusieurs appareils autorisés par iTunes vers des Produits iOS munis d’un mode de synchronisation manuel, à condition que le Produit App Store soit associé à un Compte existant sur l’appareil principal autorisé par iTunes, étant précisé que l’appareil principal est celui qui a été synchronisé en premier avec le Produit iOS ou celui que vous avez ultérieurement désigné comme tel en utilisant l’application iTunes.

Le conseil Légal de la FSF considère ces termes comme des restrictions à l’utilisation que peut faire l’utilisateur des logiciels obtenus sur l’App Store, c’est donc directement une atteinte à la GPL. Il importe peu que le port de VLC sur iOS soit libre. En fait, il aurait été plus simple d’imaginer qu’il ne l’était pas.

Imaginez, si Applidium avait fait payer 5$ pour leur port de VLC, tout en distribuant le code source complet sur leur site web. Rien dans la GPL n’empêche les développeurs de facturer leurs logiciels dérivés, c’est donc convenable. Mike achète une copie du logiciel pour 5$ et veut donner une copie à son ami Steve (c’est son droit, garanti par la GPL), mais il ne peut pas. Steve peut acheter sa propre copie à 5$, mais ne peut pas l’avoir par Mike ; il doit aller voir Apple.

Dans la réalité, VLC était gratuit, ce n’est donc pas gênant pour Steve de ne pas pouvoir dupliquer la copie de Mike ; mais ce ne sera pas forcément le cas avec d’autres logiciels et dans tous les cas, ça ne change rien, étant donné que les termes de la GPL n’acceptent pas plus que l’on restreigne la liberté de partager le logiciel parce que le logiciel dérivé se trouve être gratuit.

Notez que la FSF considère également le fait de ne pouvoir installer la même application que sur cinq iOS en même temps comme une autre restriction aux droits de l’utilisateurs ; cela semble être une erreur, puisque ce terme du contrat n’apparaît que sur la partie dédiée au contenu iTunes du Contrat de l’Utilisateur et ne s’applique donc pas aux applications de l’iOS. Il est également possible que le Contrat de l’Utilisateur pour iTunes ait été modifié après la publication de l’article de la FSF.

Qu’en est-il des autres programmes sous GPL présents dans l’App Store ?

On croit souvent, à tort, que lorsqu’un code est publié sous GPL, il ne peut plus l’être sous une autre licence. Ce n’est pas vrai. Si tous les ayants-droits, c’est-à-dire toutes les personnes ayant contribué au code, se mettent d’accord, le logiciel peut être placé sous une double licence.

Prenez l’exemple de Java. Java est placé sous GPL et Apple a pourtant utilisé la source de Sun pour la modifier (afin que la machine virtuelle Java sous OS X soit mieux intégrée à cet environnement) sans pour autant distribuer le code source de la version modifiée. Comment ? Simplement parce qu’ils ont utilisé le code source de Sun sous une autre licence, ce que Sun pouvait proposer car (à l’époque) le code de Java leur appartenait. Libre à eux donc de l’offrir au monde entier sous GPL tout en le proposant à Apple sous une autre licence.

Mais pour les grands projets, comme VLC, qui acceptent des correctifs publics de la communauté depuis longtemps, il n’est pas envisageable d’obtenir la permission rétroactive de tous les contributeurs pour appliquer une licence double. D’autres projets, en revanche, sont proposés sous GPL mais n’ont jamais accepté de correctifs extérieurs, ce qui signifie que leur code est toujours sous le contrôle d’une seule et même personne ou entreprise. On peut citer l’exemple de Doom, qui est sur l’App Store. BeTrains en est un autre exemple et les développeurs ont récemment décrit comment ils arrivent à concilier GPL et App Store.

Doit-on modifier la GPL pour la rendre compatible avec l’App Store ?

Cette question ne relève plus du problème légal, mais plutôt de la politique des logiciels. Les défenseurs de la GPL adoptent souvent une attitude méfiante, ce qui est, à mes yeux, souvent perçu comme du fanatisme en dehors de la communauté Open Source. Mais pourtant, les violations de la GPL sont malheureusement courantes. Par exemple, une étude récente de Matthew Garret montre que parmi des centaines de tablettes Android, la quasi-totalité violent la GPL. En d’autres termes, les systèmes de tous ces fabricants s’appuyent à 99 % sur du code libre mais contiennent 1 % de leurs propres modifications. Ensuite ils les vendent comme s’ils étaient à l’origine de la totalité du système.

Il va sans dire que les développeurs qui ont participé à ces projets sur leur temps libre sont indignés par ces pratiques, c’est pourquoi ils condamnent aussi facilement tout ce qui ressemble de près ou de loin à une violation de la GPL. C’est souvent pris pour du fanatisme ou même de l’hostilité, mais au fond, c’est juste l’expression du dégoût de groupes de bénévoles face aux pratiques d’entreprises qui tentent de se faire de l’argent facile avec leur travail.

Sans oublier cette peur que tout signe d’indulgence fasse basculer les choses du mauvais côté, que cela encourage plus encore les entreprises à violer la GPL, et que la FSF, avec ses maigres ressources, n’ait plus les moyens d’identifier et de menacer les entreprises qui se comportent mal pour qu’elles respectent la communauté sur laquelle elles s’appuient.

Les règles de l’App Store doivent-elles changer pour être compatibles avec la GPL ?

C’est ce qu’aimeraient certains développeurs de VLC, comme Ross Finlayson. Plutôt que de voir VLC banni de l’App Store, ils préfèreraient que ses règles soient modifiées afin de créer une exception pour les applications sous GPL. Rien n’est impossible, mais Apple (pourtant bien enclin à piocher largement dans l’Open Source pour créer Mac OS X) n’est pas vraiment réputé pour son ouverture aux compromis lorsqu’on touche à l’App Store. Il y a très peu de chance qu’un tel changement arrive, surtout pour des applications gratuites qui ne rapportent rien à Apple.

Est-ce que VLC pourrait être publié sous une autre licence ?

Actuellement, il serait presque impossible que VLC puisse paraître sous une autre licence, même réservée uniquement à Applidium, car chaque développeur ayant travaillé sur le projet devrait donner son accord, ce qui n’est pas gagné pour certains, dont Denis-Courmont.

Si VLC n’avait jamais été publié sous GPL, ou plutôt, s’ils n’avaient jamais accepté de contributions extérieures placées sous GPL, alors il n’y aurait pas de problème. Mais sans la forte protection apportée par la GPL, ils n’auraient certainement pas attiré autant de contributeurs. Impossible de dire si le projet aurait abouti ou pas.

Conclusion

Lorsqu’un projet choisit une licence comme la GPL ou tout autre licence copyleft, en opposition à des licences plus ouvertes, comme la MIT ou la BSD, les développeurs veulent s’assurer que toutes les œuvres dérivées seront libres. Cette protection a cependant un prix. En choisissant la GPL, l’équipe de développement originelle de VLC a fait la promesse à tous ses futurs collaborateurs que leur travail resterait libre, pour toujours. Ce que dit ouvertement la FSF et ce que concède implicitement Apple, c’est que l’App Store ne reconnaît cette définition de la liberté. Aucune des deux organisations n’est réputée pour accepter des compromis, donc, jusqu’à ce que l’une d’entre eux cède, les applications construites sur du code sous GPL, comme VLC, n’honoreront pas l’App Store de leur présence. C’est dommage, c’est sûr, mais pour les deux camps c’est une question de principes bien plus importants que quelques applications.

Je finirai en m’adressant aux commentateurs : ce débat englobe bien d’autres aspects, certains que j’ai juste abordés, d’autres que j’ai complètement omis, parfois par souci de clarté ou encore par manque de compétence. Je vous demanderai donc simplement d’être indulgents car c’est un sujet complexe et même un article de cette longueur ne permet pas d’en faire le tour. Mais je vous en prie, débattez-en !

Notes
[1] Crédit photo : Chris Willis (Creative Commons By)