Featuring: « GPL versus BSD : une affaire de durabilité »

L’autre jour, je me demandais quelle était la « vraie » différence entre les licences GPL et BSD.

Et je suis tombé sur un article un peu vieux (2007) mais assez intéressant ( « old but still relevant » ), c’est pourquoi j’aimerais vous en proposer ici une traduction libre de l’anglais, avec l’aimable autorisation de son auteur 🙂

La note de blog originelle se trouve à cette adresse.

GPL vs. BSD
Le gnou contre le daemon

« GPL vs BSD : une histoire de durabilité »

Si vous n’avez pas vécu sous un rocher pendant la dernière décennie (Stonehenge est un bon exemple), il se peut que vous ayez déjà assisté à une édition de la fameuse « flamewar » (NdT: guerre de trolls) GPL vs BSD. Il s’agit d’une des plus célèbres flamewars entretenues par notre chère communauté des Internets (en voilà un sujet de recherche pour un étudiant en sociologie !).

Ces deux modèles de licence sont là depuis très longtemps. Je ne sais pas trop lequel menace l’autre, mais ça n’a pas grande importance. L’esprit derrière les deux est très similaire: le logiciel libre, c’est bien. Mais ils réalisent la chose d’une manière différente.

Avec la licence GPL, vous avez les quatre libertés:

  • lancer le logiciel
  • disposer du code source
  • distribuer le logiciel
  • et distribuer vos modifications du logiciel.

Cela implique que lorsque vous obtenez le logiciel, vous avez l‘obligation de vous assurer que ces quatre principes restent respectés par la prochaine personne à laquelle vous le donnerez. Après tout, quelqu’un a dû se donner le mal de les préserver pour vous, alors vous devez faire de même pour le prochain. [NdT : ce principe fondateur est appelé le copyleft, fort bien nommé en opposition au copyright)

La licence BSD est différente, car elle vous donne le droit de distribuer le logiciel, mais elle ne vous oblige pas à vérifier que le prochain mec ait un tel droit. En fait, ce n’est pas vraiment un problème, ce mec peut vous ignorer et récuper le logiciel de la même source que vous (si elle est toujours disponible). Mais si vous le modifiez et que vous lui donnez, vous pouvez lui interdire de le distribuer à son tour.

Alors qui a raison ? Et bien, c’est le camp BSD. La licence BSD est sans nul doute une licence plus libre, elle vous donne le droit de décider quels droits distribuer avec le logiciel. C’est bien plus près de la signification absolue de « liberté » que la GPL. Hélas, elle n’est pas « complètement » libre, parce que vous ne pouvez pas retirer le nom de l’auteur du logiciel et le remplacer par « Léonard de Vinci ».

Ce que la GPL appelle « liberté » est en fait assez discutable, car elle vous force à faire certaines choses. La plupart des gens obligés de faire quelque chose appellent ça une « restriction » plutôt qu’une « liberté ». C’est vrai que vous avez certaines libertés lorsque vous obtenez le logiciel, mais si vous voulez le re-distribuer vous avez des restrictions, alors on pourrait juste appeler ça les quatre libertés et les quatre restrictions.

Donc, si l’idée philosophique de liberté nous tient à cœur, bien que les deux licences promeuvent le logiciel libre, aucune ne représente la liberté, et la GPL est beaucoup moins libre que la BSD.

Les restrictions inoffensives

Imaginez que vous êtes un parent et que vous donnez à votre enfant une barre chocolatée et que vous lui dites « c’est pour toi et ton frère, tu peux en prendre la moitié, et lorsqu’il rentrera donne-lui l’autre moitié ». Pensez-vous que ça va se passer comme vous l’avez demandé ? À quel point faites-vous confiance ?

Bon, vos intentions étaient bonnes. Vous avez essayé de faire en sorte que ce soit juste. Mais nous autres humains sommes des démons rusés, n’est-ce pas ? Alors notre philosophie est un peu une idéalisation, on ne la suit pas vraiment.

Y a-t-il un moyen de de trouver une mesure satisfaisante de la liberté ? Le fait est que nous vivons avec un tas de restrictions implicites, sans vraiment nous en soucier. Si vous dites à votre enfant « tu es libre de porter ce que tu veux, manger ce que tu veux, aller où tu veux, et faire ce que tu veux, sauf mettre le feu à la maison« , la plupart des enfants trouveraient qu’il s’agit d’un degré de liberté très satisfaisant, en dépit de la restriction. Ils diraient probablement « ben, je n’allais de toute façon pas le faire, tous mes jouets partiraient en fumée« .

Alors que pouvons-nous faire sur la durée ?

La liberté pure est une chose magnifique, mais elle n’est pas intrinsèquement durable. Vous pouvez prendre quelque chose, le comparer à la liberté et dire si il est libre, mais vous ne pouvez pas utiliser la liberté pour imposer la liberté. Ce serait absurde.

Le modèle de la GPL est durable. Il offre la liberté, mais avec le revers qu’il y a besoin d’une sorte de force pour garder la liberté bien en place. Dans ce sens elle pourrait même être considérée comme plus libre, parce que la liberté accumulée de tous les gens impliqués est plus grande que quand une personne a toute les libertés et que personne d’autre n’en a.

La liberté de la GPL est isomorphique. Si OpenOffice [NdT: aujourd’hui, on parlerait plutôt de LibreOffice 🙂 ] a besoin d’un moyen d’ouvrir les fichiers JPEG, et que The GIMP a déjà le code pour faire ça, OpenOffice a juste à le prendre. Puis deux ans après si OpenOffice lit les JPEGs beaucoup plus vite, The GIMP peut prendre le code modifié d’OpenOffice et l’utiliser. Les deux parties ont le même degré de liberté, et il n’y a pas de liberté perdue dans le procédé : il est lossless (sans perte).

La liberté de BSD, en revanche, est dite « avec pertes ». Si je prends du code BSD j’ai beaucoup de liberté, mais pas le mec après moi. Il est assez connu que Windows comporte du code BSD. Mais bien entendu, quoique Microsoft ait fait avec ce code, ils n’ont aucune obligation de dévoiler leurs changements. Donc le code était libre à un moment, mais il n’est pas resté libre. Pire, même s’ils n’ont rien changé du tout, si l’auteur d’origine n’est plus dans le coin, Microsoft est toujours basé sur du code BSD qui est libre pour eux, mais qui n’est plus libre pour personne d’autre.

Donc que peut-on conclure de tout ça ? Les deux licences produisent du logiciel libre, mais seul le logiciel licencié GPL est durablement libre. La licence BSD donne une plus grande liberté, la GPL donne plus de liberté. Choisissez ce qui vous importe le plus.

Pour une discussion plus en détail, voir ce texte, pas seulement pour le texte en lui-même, mais également pour les très nombreuses références vers d’autres textes intéressants qu’il contient.

 

 

 

 

 

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *