GPL, kesako ?

Article rédigé par Florent Jugla, fondateur de la société ELEDO

Le but de ce article est de répondre à des questions simples et pratiques à propos de la licence GPL.

Cet article est basé sur les textes contenus dans les sites suivants :

Qu’est ce que la licence GPL ?

La licence GPL (GNU General Public License) est une "licence de logiciel libre" :

  • "licence de logiciel" car elle définit un cadre d'utilisation fixé par un programmeur sur son logiciel.
  • "libre" car le cadre d'utilisation défini par cette licence est - contrairement aux licences classiques - de s'assurer qu'un certain nombre de "libertés" seront respectées sur le logiciel protégé par celle-ci (ou sur tout logiciel en dérivant).

Pour R. Stallman (inventeur de la GPL), les "libertés" sur un logiciel sont :

  • liberté d'exécuter le logiciel, et ce pour n'importe quel usage;
  • liberté de modifier le logiciel pour l'adapter à ses besoins (dans la pratique, cela nécessite l'accès au code source);
  • liberté de redistribuer des copies, soit gratuitement, soit contre rémunération;
  • liberté de distribuer des versions modifiées afin que la communauté du logiciel libre puisse en profiter.
  • la notion de "copyright" permet à l'auteur d'un logiciel propriétaire de bloquer les "libertés" sur son logiciel ;
  • au contraire la notion de "copyleft" permet à l'auteur d'un logiciel, d'être sûr que ces "libertés" seront bien respectées non seulement sur son logiciel, mais aussi sur tout logiciel dérivant du sien.

GPL Pratique

Placer un code sous licence GPL :

Dans chaque fichier source, inclure en commentaires :

  • une ligne de copyright 'Copyright 2001 '
  • une déclaration sur les droits de copie précisant que le programme est distribué sous les termes de la Licence Publique Générale GNU.

Ajouter un fichier COPYING contenant le texte de la licence GPL.

A l'heure actuelle, seule la version anglaise peut être utilisée.

Réutilisation de code GPL par un programmeur :

  • les fichiers sources présents dans la versions originales et qui ont été modifiés peuvent porter le 'copyright' du programmeur. Cependant, le ou les 'copyright' déjà présents dans le source original ne doivent pas être effacés.
  • les nouveaux fichiers source de cette version du logiciel portent seulement le 'copyright' du programmeur.

Points importants :

Le fait de placer son code sous licence GPL assure que ce code ne sera jamais "fermé".

Toute utilisation ultérieure de ce code devra être faite dans l’ "esprit" GPL.

Un logiciel construit à partir de briques de code GPL peut être commercialisé .

En fait, même de simples copies du logiciel GPL initial peuvent l’être, les seules restrictions sont :

  • que les codes sources doivent être présentés à l'acheteur ou à toute personne qui le demande, et ce sans surcoût sur le logiciel (mis à part le coût de copie physique de ce code source).
  • que la licence GPL doit être conservée dans chaque copie du code.

  • En usage interne, on peut tout faire avec du code GPL ; une société peut ainsi utiliser du code GPL pour ses logiciels internes, sans avoir de comptes à rendre à personne.

  • Il ne faut pas confondre GPL et "Open Source". Si tout code GPL est automatiquement "Open Source", la réciproque n’est pas vraie. Il existe un tas d’autres licences à caractères "Open Source", mais qui sont différentes de la licence GPL.

Aspects "philosophiques" et implications de la licence GPL

L’un des aspects les plus intéressants de la licence GPL est qu’elle a permis l’émergence d’une "communauté du logiciel libre". Cette communauté rassemble un grand nombre de personnes autour de thèmes communs :

  • Lutte contre les monopoles, favorisation de la concurrence : la licence GPL favorise la concurrence puisqu’elle assure à toute personne la possibilité d’améliorer un logiciel et de pouvoir profiter de fruits de son travail. Dans le même sens, elle empêche des monopoles (du type Microsoft) de se constituer.

  • Brevetabilité sur les logiciels : bien qu’en pratique, la licence GPL n’ait aucun rapport avec la question de brevetabilité sur les logiciels, la communauté du logiciel libre est fortement impliquée dans la lutte contre celle-ci. En effet, les thèmes défendus par la communauté du libre (favorisation de la concurrence, lutte contre les monopoles, aspects démocratiques) rejoignent les critiques formulées à l’encontre de la brevetabilité sur les logiciels. (cf. savingeurope.fr)

  • Informatique et démocratie : l’introduction de l’informatique dans le processus démocratique se fera dans un avenir proche ; on peut penser que cela sera réalisé dans la pratique par des logiciels placés sous des licences de type "libre". A ce propos, voir : Trois députés proposent de généraliser l’usage des standards ouverts, l’accès au code source et introduisent le "droit à la compatibilité" : ( cf. prop. loi)

Note : il est intéressant de remarquer que, lors d’un vote en France, les urnes sont transparentes. L’urne de demain - l’ordinateur et le logiciel de vote qu’il héberge - devront eux aussi être "transparents". Cette transparence ne pourra être assurée que si chacun a la possibilité physique d’accéder au code du logiciel.

Critiques sur la GPL

La licence GPL est proche de la notion de "démocratie à l’américaine" - citons Stallman, auteur de la GNU GPL : “Le mouvement pour le Logiciel Libre a été fondé en 1984, mais son inspiration provient des idéaux de 1776 : liberté, communauté et coopération volontaire. C’est ce qui conduit à la libre entreprise, au droit à la parole et au logiciel libre”.