# Logiciel libre et open source Les deux concepts sont parfois utilisés de manière interchangeable. Mais quelle est la différence ? Quand on aborde la question des logiciels dans les communautés de développeurs, il est fréquent de voir deux groupes avec des idéaux opposés. L’un qui a une préférence pour les logiciels propriétaires et l’autre à l’opposé qui a plutôt opté pour des logiciels libres ou open source. Si ces deux derniers termes sont utilisés de manière interchangeable par bon nombre de personnes, il s’agit toutefois de deux concepts distincts dont la différence n’est parfois pas évidente. Mais qu’est ce qui est à l’origine des mouvements de logiciel libre et open source ? Quel est leur dénominateur commun et quelle est la différence fondamentale entre ces deux concepts ? ## Des logiciels propriétaires aux logiciels libres Il faut avant tout noter que le concept de logiciel libre est plus ancien que celui de l’open source. L’idée de logiciel libre est née d’un mouvement fondé par *Richard Stallman*, connu comme le père du *projet GNU*. Le logiciel libre vient s’opposer aux logiciels propriétaires qui imposaient des limitations de licences aux utilisateurs. L’objectif du libre est d’offrir plus de libertés aux utilisateurs individuels ou en collectivités quant à l’utilisation des logiciels. Les utilisateurs devront avoir la liberté d'exécuter, copier, distribuer, étudier, modifier et améliorer le logiciel. La définition de logiciel libre a connu plusieurs révisions au fil du temps pour clarifier certaines subtilités. Mais de manière concrète, pour qu’un logiciel soit qualifié de libre, il doit respecter 4 critères de libertés : **Les 4 critères de libertés :** 1. La liberté d'exécuter le programme comme vous le souhaitez, et à toute fin (liberté 0); 1. La liberté d'étudier le fonctionnement du programme, et le modifier comme vous le souhaitez pour votre ordinateur (liberté 1); 1. La liberté de redistribuer les copies que vous avez reçues (liberté 2); 1. La liberté de distribuer des copies de vos versions modifiées pour donner à toute la communauté une chance de profiter de vos modifications (liberté 3). Les libertés 1 et 3 nécessitent un accès au code source. Tout logiciel qui n’offre pas aux utilisateurs ces 4 libertés est qualifié de logiciel propriétaire, selon le mouvement du logiciel libre. La définition de ces libertés permet de donner le contrôle de l’ordinateur et du logiciel utilisé à l'utilisateur, et non au fabricant du logiciel. ## Un logiciel libre n’est pas nécessairement gratuit Plusieurs ont tendance à croire ou ont une fois pensé que le fait qu’un logiciel soit libre voudrait également dire qu’il est gratuit, ce n’est pas du tout vrai. Cette fausse croyance vient du mot anglais « free » qui veut dire à la fois libre et gratuit. Pour éviter toute confusion, l’appellation « libre software » est parfois utilisée au lieu de « free software ». ## Du logiciel libre est né l’open source L’association entre logiciel libre et logiciel gratuit a constitué un obstacle à l’adoption commerciale, alors qu’un logiciel libre devrait être également disponible pour l’usage, le développement et la distribution de nature commerciale. En 1998 en Californie, les partisans du logiciel libre se sont donc réunis pour apporter les idées et les avantages du logiciel libre à l’industrie du logiciel commercial. Le mouvement du logiciel libre a donc été rebaptisé devenant ainsi l’open source, en mettant en avant les avantages du partage du code et la collaboration pour les entreprises. L’open source repose donc sur les principes du logiciel libre, mais les fondateurs du nouveau mouvement ont défini **dix conditions** préalables que doit respecter un projet pour être qualifié d’open source. **Les dix conditions préalables :** 1. La redistribution doit être libre ; 1. Le programme doit être distribué avec le code source, sinon il doit y avoir un moyen très médiatisé pour l’obtenir sans frais ; 1. La licence doit autoriser les modifications et les œuvres dérivées, et doit leur permettre d'être distribuées sous les mêmes termes que la licence du logiciel original ; 1. Pour maintenir l’intégrité du code source de l'auteur, la licence peut exiger que les œuvres dérivées portent un nom ou un numéro de version différent de ceux du logiciel original ; 1. La licence ne doit discriminer aucune personne ou groupe de personnes; 1. La licence ne doit pas défendre d'utiliser le programme dans un domaine d'activité spécifique ; 1. Les droits attachés au programme doivent s'appliquer à tous ceux à qui il est redistribué, sans obligation pour ces parties d'obtenir une licence supplémentaire ; 1. La licence ne doit pas être spécifique à un produit ; 1. La licence ne doit pas imposer des restrictions sur d'autres logiciels distribués avec le logiciel sous licence. Par exemple, la licence ne doit pas exiger que tous les autres programmes distribués sur le même support doivent être des logiciels open source ; 1. La licence doit être technologiquement neutre. ## Différence fondamentale entre logiciel libre et open source Qu’il s’agisse de logiciel libre ou open source, les critères de qualification définis visent à donner plus de libertés aux utilisateurs. Il est donc facile de les distinguer des logiciels propriétaires. Toutefois, ce n’est pas du tout évident de faire la différence entre logiciel libre et open source. Selon Richard Stallman, la différence fondamentale entre les deux concepts réside dans leur philosophie : « l'open source est une méthodologie de développement; le logiciel libre est un mouvement social ». --- Sources : [Blog Radek Pazdera](https://radek.io/2015/07/06/fs-vs-os/), [Open Source Initiative](https://opensource.org/docs/osd), [gnu.org](http://www.gnu.org/philosophy/free-sw.en.html) Voir aussi : [Guide Open Source opensource.guide/fr/legal/](https://opensource.guide/fr/legal/) et [Choisir un modèle de licence](https://choosealicense.com/) ## Licences de logiciel libre ou licences de logiciel open source. Les licences de logiciel libre sont conçues pour garantir la liberté de l'utilisateur, tandis que les licences de logiciel open source sont conçues pour encourager la collaboration et la participation communautaire à la création de logiciels.- Apache License 2.0: Permet la modification et la distribution du logiciel sous certaines conditions, notamment la préservation des avis de droit d'auteur et de non-responsabilité. - **GNU General Public License v3.0:** Exige que toutes les œuvres dérivées ou modifications du logiciel soient également sous licence aux mêmes termes. Il inclut également des dispositions pour la licence de brevets et les mesures anti-contournement. - **MIT License:** Permet la modification et la distribution du logiciel sous certaines conditions, notamment la préservation des avis de droit d'auteur et de non-responsabilité. - **BSD 2-Clause "Simplified" License:** Permet la modification et la distribution du logiciel sous certaines conditions, notamment la préservation des avis de droit d'auteur. - **BSD 3-Clause "New" or "Revised" License:** Similaire à la licence BSD 2-Clause, mais inclut une clause de non-responsabilité supplémentaire pour les utilisations publicitaires. - **Boost Software License 1.0:** Permet la modification et la distribution du logiciel sous certaines conditions, notamment la préservation des avis de droit d'auteur et de non-responsabilité. - **Creative Commons Zero v1.0 Universal:** Permet aux auteurs de renoncer à tous leurs droits d'auteur et de placer leur travail dans le domaine public. - **Eclipse Public License 2.0:** Permet la modification et la distribution du logiciel sous certaines conditions, notamment l'utilisation de la même licence pour toutes les œuvres dérivées. - **GNU Affero General Public License v3.0:** Similaire à la licence GNU GPL v3.0, mais étend la portée de la licence aux logiciels qui sont exécutés sur des serveurs. - **GNU General Public License v2.0:** Exige que toutes les œuvres dérivées ou modifications du logiciel soient également sous licence aux mêmes termes. - **GNU Lesser General Public License v2.1:** Permet aux développeurs de créer des bibliothèques partagées sous licence LGPL et de les utiliser dans des projets propriétaires. - **Mozilla Public License 2.0:** Permet la modification et la distribution du logiciel sous certaines conditions, notamment l'utilisation de la même licence pour toutes les œuvres dérivées. - **The Unlicense:** Permet aux auteurs de renoncer à tous leurs droits d'auteur et de placer leur travail dans le domaine public. {%hackmd @alternative-rvb/contact %}