Pendant l’entretien, le technicien a abordé la différence entre le logiciel libre et l’open source. J’ai lu quelques articles pour creuser un peu plus la question, histoire de pouvoir me coucher ce soir en me sentant un peu plus éclairé.
1. Définition rapide#
Dans le monde du logiciel, deux principes distincts se dégagent : l’open source et le logiciel libre. L’open source met en avant l’accessibilité du code source, favorisant la collaboration et l’innovation. Le logiciel libre, quant à lui, va plus loin en garantissant aux utilisateurs la liberté d’utiliser, de modifier et de redistribuer le logiciel.
Ensemble, ces approches créent une ambiance propice à la transparence, à la collaboration et à la liberté, encourageant ainsi la créativité et l’inclusivité dans les communautés de développement logiciel.
2. Projet GNU#
Pour comprendre les enjeux, il est intéressant de revenir aux débuts du projet de logiciel libre initié par Richard Stallman, considéré comme le pionnier de ce mouvement. Le projet s’appelle GNU, qui signifie “GNU’s Not Unix”, et son objectif initial était de créer un système d’exploitation libre (GNU Linux).
2.1. GNU GPL#
Pour contrer les logiciels propriétaires, Stallman a lancé en 1989 la GNU GPL (General Public License). Elle définit les conditions légales pour copier, modifier et distribuer des logiciels libres. Ces exigences mettent en œuvre le concept de copyleft de Stallman, dérivé du copyright, mais en le détournant pour servir “le but opposé à celui pour lequel il a été conçu : ce n’est pas un moyen de restreindre l’utilisation du logiciel, mais un moyen de le rendre libre”. Le copyleft garantit les libertés de tous les utilisateurs.
2.2. Les critères de liberté de la GNU GPL#
La licence GPL repose sur 4 critères de liberté, détaillés dans la philosophie de gnu.org :
- Liberté 0 : La liberté d’exécuter le programme comme vous le souhaitez, pour n’importe quel usage.
- Liberté 1 : La liberté d’étudier le fonctionnement du programme, et de le modifier à votre guise pour votre ordinateur.
- Liberté 2 : La liberté de redistribuer les copies que vous avez reçues.
- Liberté 3 : La liberté de distribuer des copies de vos versions modifiées pour que la communauté entière profite de vos modifications.
Tout logiciel qui n’offre pas ces quatre libertés est considéré comme “propriétaire”, et sa licence est qualifiée de “fermée”. Ces libertés définissent que le contrôle de l’ordinateur et du logiciel appartient à l’utilisateur, et non au fabricant du logiciel.
3. La naissance de l’Open Source grâce au Logiciel Libre#
Pour apporter les avantages du logiciel libre au logiciel commercial, les partisans du logiciel libre ont décidé de développer des logiciels sous une licence open source, mettant ainsi en avant les avantages du partage du code et de la collaboration.
La définition précise de l’open source est disponible sur opensource.org. Voici les dix critères qu’un projet doit remplir pour être considéré comme open source :
- Redistribution gratuite : la licence ne doit pas empêcher le logiciel d’être vendu ou distribué gratuitement, ni imposer de redevances ou autres frais. Ce sont aussi les conditions du logiciel libre.
- Code source : le programme doit inclure le code source ou permettre de le distribuer facilement et gratuitement.
- Travaux dérivés : la licence doit autoriser les modifications et les œuvres dérivées, et permettre leur distribution sous les mêmes termes que la licence du logiciel original.
- Intégrité du code source de l’auteur : pour garantir l’intégrité du code source de l’auteur, la licence peut exiger que les travaux dérivés portent un nom ou un numéro de version différent de celui du logiciel original.
- Pas de discrimination envers des personnes ou groupes : la licence ne doit discriminer personne.
- Pas de discrimination dans les domaines d’activité : la licence ne doit pas interdire l’utilisation du programme dans un domaine spécifique d’activité.
- Distribution de la licence : les droits attachés au programme doivent s’appliquer à tous ceux à qui le programme est redistribué, sans que ces parties aient besoin de signer une licence supplémentaire.
- Licence non spécifique à un produit : les droits liés au programme ne doivent pas dépendre de son intégration à une distribution logicielle particulière.
- La licence ne doit pas restreindre d’autres logiciels : par exemple, la licence ne doit pas exiger que tous les autres programmes distribués sur le même support soient des logiciels open source.
- La licence doit être technologiquement neutre : aucune disposition de la licence ne doit être fondée sur une technologie particulière ou un style d’interface.
4. Différences entre les deux ?#
Le site gnu.org explique : “Un autre groupe utilise le terme ‘open source’ pour désigner quelque chose de proche (mais pas identique) au ’logiciel libre’. Nous préférons le terme ’logiciel libre’ parce qu’une fois que vous entendez qu’il se réfère à la liberté plutôt qu’au prix, il évoque la liberté. Le mot ‘open’ ne se réfère jamais à la liberté”.
Richard Stallman évoque cette différence philosophique : “l’open source est une méthodologie de développement ; le libre est un mouvement social”.
Il est important de noter qu’un logiciel libre n’est pas nécessairement gratuit. Le code source est accessible, mais l’utilisation peut être payante, même si c’est assez rare. Inversement, un logiciel gratuit n’est pas forcément libre, car son code n’est pas forcément accessible.