Logiciel libre ou projet ouvert ?

Balises de travaux sur la route

La distinction n'est pas toujours facile entre un logiciel libre et un projet ouvert, alors que les deux ne se recoupent pas forcément.

Un logiciel est objectivement libre s'il garantit quatre libertés essentielles à l'utilisateur :

  • la liberté pour l'utilisateur d'exécuter le programme comme il le veut, pour n'importe quel usage ;
  • la liberté pour l'utilisateur d'accéder au code source du programme pour étudier le fonctionnement de ce dernier, et de le modifier pour que le programme effectue ses tâches informatiques comme il le souhaite ;
  • la liberté pour l'utilisateur de redistribuer des copies, donc d'aider son voisin ;
  • la liberté pour l'utilisateur de distribuer aux autres des copies des versions modifiées ; en faisant cela, celui-ci donne à toute la communauté une possibilité de profiter de ses changements.

On voit que, passé les deux premières libertés, qui concernent d'avantage l'utilisateur du programme en tant que tel, les suivantes sont le socle qui doit favoriser la constitution d'une véritable communauté d'utilisateurs.

Cette communauté d'utilisateurs peut alors participer au projet en question de différentes manières : en faisant la publicité du logiciel pour accroître sa communauté d'utilisateurs, en aidant au développement du logiciel (par l'écriture de code, mais aussi par la réalisation de matériel artistique tels un logo, des graphismes ou des sons, ou encore par la remontée ou le tri de bogues), en documentant le logiciel, etc.

Mais cette communauté d'une part n'est pas automatique ; d'autre part, lorsqu'elle existe, peut être plus ou moins large. Enfin, une large communauté d'utilisateurs ne se traduit pas nécessairement en une large communauté de contributeurs.

C'est en effet ce dernier point que nous pouvons observer avec des projets comme Android Open Source Project (AOSP), qui sert de base au système d'exploitation populaire sur smartphones – mais non entièrement libre – qu'est Android. Le développement d'AOSP est réalisé en privé par Google qui décide ponctuellement de publier une nouvelle version de « son » logiciel. Le logiciel publié est bien libre dans la mesure où il confère les quatre libertés décrites ci-dessus, mais le mode de développement choisi (fermé) empêche la constitution d'une communauté de contributeurs.

À l'inverse, un projet comme le noyau Linux est le plus bel exemple de développement collaboratif, rendu possible d'une part par son état de logiciel libre (qui confère donc à chacun les quatre libertés décrites ci-dessus) ; de deuxième part, par la volonté de ses développeurs d'en faire un projet ouvert (et donc par l'existence et le recours à des outils permettant de collaborer en continu au développement du projet : Internet, un système de gestion de versions, un système de suivi de problèmes...), et de troisième part, par un engouement autour du projet. Wikipédia propose même une page dédiée au processus de développement de Linux. Vous pouvez également consulter quelques chiffres afférents à la dernière version du logiciel sur LinuxFR.org ou de manière plus détaillée sur LWN.net.

LibreOffice fait également partie (toutes proportions gardées) de cette catégorie (ce sera l'objet du prochain billet).

Enfin, il existe une multitude de logiciels libres plus ou moins confidentiels, au développement pourtant ouvert et accueillant mais qui peinent à trouver des contributeurs, faute de renommée ou d'attrait (pour diverses raisons).

Terminons en citant le cas de GIMP, logiciel d'envergure et de renommée fortes, au développement ouvert, dont pourtant le nombre de développeurs (tous bénévoles, travaillant sur leur temps libre) est ridiculement réduit. D'ailleurs, pour moi, les développeurs de GIMP sont des héros, et GIMP lui-même tient du miracle !

Vus : 505
Publié par antistress : 174