Comprendre l'open source : historique et importance
Tags: opensource, community, learning
Published: 2024-04-01 20:05:02

Il est difficile pour un contemporain de notre époque de ne jamais avoir entendu parler du terme _open source_. 
Aujourd'hui il est impensable et presqu'impossible à l'humain de vivre sans ses logiciels parce qu'ils ont déjà envahi tous nos secteurs d'activité. Vous venez de trouver un nouvel emploi ? Vous aurez probablement besoin de la suite Microsoft Office ou son équivalent ; vous vous ennuyez ? Facile dites-vous, vous ouvrez TikTok avec ses millions de vidéos prêtes à vous détendre. Tiens, hier j'ai vu quelqu'un qui avait un pacemaker, ...
Avec tous ses exemples, nous voyons la force de la technologie et les logiciels qui la font fonctionner.
Revenons à notre terme _open source_, et essayons d'en savoir un peu plus.

**1. Historique**

Avec l'avenement des orinateurs dans le années 1970, les développeurs étaient obligeaient d'écrire le code qui sera propre à un seul ordinateur, sans standardisation, et sans que cela soit vraiment rentable.
C'est en 1981 que le géant de l'informatique IBM présente le premier ordinateur grand public et année après année, d'autres fabriquants ont adoptés le modèle de l'ordianteur grand public en délaissant l'ordinateur fait sur mesure. 
C'était une aubaine pour les développeurs qui avaient alors la possibilité de créer des logiciels qui pouvaient fonctionner sur plusieurs ordinateurs plus ou moins de la même façon.
C'est dans cette optique que le géant bleu (IBM) engagea Microsoft, une jeune société, pour écrire le système d'exploitation pour son nouvel ordinateur. De ce contrat nacquit le système MS-DOS, lancêtre de Microsoft. Ce logiciel avait une licence propriétaire, cela veut dire que personne n'avait le droit de copier, de modifier ou encore de restribuer ce logiciel. 
D'autres entreprises, à cette même époque, fabriquaient aussi leurs logiciels avec une licence propriétaire. Même jusqu'aujourd'hui il existe plusieurs logiciels propriétaires très chers et pas accessibles à tous à cause du prix.
Les voix commencèrent alors à s'entendre dans la communauté des développeurs, où certains voulaient qu'il y ait des logiciels tout aussi performants mais accessibles à tous.
C'est dans ce contexte qu'au début des années 80, Richard Stallman, un grand nom de l'informatique, crée GNU, un système d’exploitation libre, et de cela est né un mouvement dit _« mouvement du logiciel libre »_. Plus tard, en 1985, Stallman crée la _Free Software Foundation_ dans le but de soutenir GNU ainsi que d’autres projets de logiciels libres.
La Free Software Foundation définit libre un logiciel « qui donne à l’utilisateur la liberté de le partager,  de l’étudier
et de le modifier »
Peu de temps après, Eric Raymond et Bruce Perens créerent le _mouvement de l'open source_ en s'inspirant du terme _open source_ proposé par Christine Peterson.
Sur le site de [Redhat](https://www.redhat.com/fr/topics/open-source/what-is-open-source), on peut lire ce qui suit par rapport à l'open source : À l'origine, l'expression « Open Source » faisait référence aux logiciels Open Source. Un logiciel Open Source est un code conçu pour être accessible au public : n'importe qui peut voir, modifier et distribuer le code à sa convenance.

Ce type de logiciel est développé de manière collaborative et décentralisée, par une communauté, et repose sur l'examen par les pairs. Un logiciel Open Source est souvent moins cher, plus flexible et profite d'une longévité supérieure par rapport à ses équivalents propriétaires, car il est développé par des communautés et non par une entreprise ou un auteur.
Nous voyons que les mêmes concepts reviennent en parlant d'un logiciel libre et d'un logiciel open source au point où aujourd'hui on ne sait plus trop la différence.
On va noter que le Mouvement du logiciel libre insiste plus sur la notion de liberté d'utilisation du logiciel tandis que le Mouvement open source insiste beaucoup plus sur le travail en communauté du logiciel.

**2. Utilisation**


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qgyaacjces746dr8w07p.jpg)

Aujourd'hui beaucoup des technologies dans le numérique fonctionnent avec du code open source. Que ce soit dans les entreprises privées que publiques, tout le monde se sert aujourd'hui de l'open source.
Dans le livre "Sur quoi réposent nos infrastructures numériques" l'auteur compare le logiciel open source aux routes et aux ponts que tout le monde opeut emprunter sans que cela ne lui appartienne. Et donc le logiciel open source est un bien public que nous devons chérir et entretenir.
Aujourd'hui, même les grandes entreprises du secteur numérique ont beaucoup de leurs technologies qui reposent sur du open source.
Citons par exemple Apache Hadoop qui facilite la création d'applications distribuées. Hadhoop est une collection des logiciels open source et est utilisé par des entreprises comme Google, Facebook, Amazon, eBay, ...
Ou encore TLS anciennement SSL qui est une technologie standard de sécurisation des connexions Internet par le chiffrement des données transitant entre un navigateur et un site web (ou entre serveurs). Cette technologie est largement utilisée par les sites qui impliquent un paiement en ligne.
Pour les petites et moyennes entreprises, les entreprises publiques ou encore des startups, il est plus facile de s'appuyer sur des solutions open source que celles qui sont payantes à cause de leur grand coût. Mais aussi parce que ces structures peuvent s'approprier un projet open source et l'adapter selon leurs besoins.
Presque tous les logiciels open source sont aussi gratuits.

Voici quelques projets open source célèbres, classés par catégorie :

**Systèmes d'exploitation :**

- **Linux :** système d'exploitation libre et open source utilisé par des millions de personnes et d'entreprises.

- **Android :** c'est un système d'exploitation mobile basé sur Linux, utilisé par la majorité des smartphones dans le monde.

**Serveurs web :**

- **Apache :** serveur web le plus populaire au monde, utilisé par des sites web comme Wikipedia et Google.

- **Nginx :** serveur web connu pour sa légèreté et sa performance, utilisé par des sites web comme Netflix et Airbnb.

**Bases de données :**

- **MySQL :** base de données open source largement utilisée pour le web et les applications mobiles.

- **PostgreSQL :** base de données open source puissante et flexible, utilisée par des entreprises comme Spotify et Instagram.

**Langages de programmation :**

- **Python :** langage de programmation polyvalent et facile à apprendre, utilisé pour le développement web, l'analyse de données et surtout l'intelligence artificielle.

- **JavaScript :** langage de programmation côté client essentiel pour le développement web moderne.

- **Java :** langage de programmation robuste et portable utilisé pour une grande variété d'applications.

**Outils de développement :**

- **Git :** c'est un système de contrôle de version distribué largement utilisé pour le développement logiciel.

- **GitHub :** c'est une plateforme d'hébergement de code source et de collaboration pour les projets open source.

**Logiciels bureautiques :**

- **LibreOffice :** c'est une suite bureautique open source compatible avec Microsoft Office.

- **OpenOffice :** c'est une suite bureautique open source gratuite et multi-plateforme.

La liste est tellement longue, nous n'avons donner comme exemples qu'une infime partie. 

**3. Avantages de l'open source**

Comme tous les autres biens publics, les logiciels ont plusieurs avantages que nous allons essayer d'énumérer dans les lignes suivantes :

**a. Pour les développeurs**

Pour un développeur, le code open source a plusieurs avantages : 

- **Facilité d'apprentissage et de développement :** Imaginons un programmeur qui veut concevoir son site web sans recourir aux langages de programmation, frameworks, gestionnaires de base de données, ... qui sont open source. Il serait obligé chaque fois à payer des licences d'exploitation coûteuses ou commencer par développer lui-même tout ce dont il aura besoin, ce qui n'est pas facile et il y perdrait trop de  temps. Avec l'open source ce problème est résolu et pour quelqu'un qui est en apprentissage la formation sera facilitée car il aura déjà beaucoup de ressources qui lui seront déjà données.

- **Facilité de partager son idée :** C'est plus facile de partager son code quand il est open source que s'il est publié sous une licence propriétaire. Une communauté peut se créer autour du projet et faire de lui un grand projet.

- **Amémioration des compétences :** Pour un développeur contribuer au code open source est une opportunité d'améliorer ses compétences et de participer à un travail collaboratif. C'est aussi un bon point pour son C.V.
Il existe beaucoup d'autres avantages mais on ne peut pas tout citer.

**b. Pour les entreprises**

- **Réduction des coûts :** Nous avons vu dans les lignes précédentes que développer ses propres logiciels pour toutes les tâches de l'entreprise implique un grand coût, ce qui n'est pas trop pratique. autant mieux utiliser ce qui existe déjà sous une licence open source. 

- **Innovation :** Il est plus facile avec du code open source d'adapter le logiciel à ses fins en y ajoutant plus ou moins d'élements. Ce qui n'est pas facile avec un code sous licence propriétaire.

- **Agilité :** C'est plus facile de travailler quand on a la main mise sur le code qui compose les logiciels utilisés au sein d'une entreprise.

**c. Pour tous les utilisateurs**

- **Accessibilité :** Comme nous l'avons souligné un peu plus haut, la quasi totalité des logiciels open source sont gratuits, quoi de mieux pour les utilisateurs ? Avec le open source, l'utilisateur profite des mêmes possibilités, voir plus dans certains cas qu'avec celui qui utilise les logiciels propriétaires.

- **Education :** C'est plus facile pour les écoles et les universités de s'appuyer sur des logiciels open source. 

**4. Avenir de l'open source**

Depuis l'avénement de l'open source, le mouvement ne cesse de grandir en attirant de plus en plus de développeurs et en suscitant l'attention des grandes entreprises quant à l'avancement de l'open source mais aussi en leur mettant devant leur responsabilité quant à leur utilisation du code open source.
Le monde de l'open source est aussi complexe par sa gestion car c'est une entité très décentralisée que par son financement. Certains projets open source bénéficient aujourd'hui des importants financements par des levées de fonds ou des financements venant des grandes entreprises comme Linux qui reçoit le financement de nombreuses entreprises.
L'open source ne s'est jamais porté mieux qu'aujourd'hui et c'est difficile de concevoir un monde sans open source.
C'est une affaire publique et cela devrait nous concerner tous, utilisateurs de la technologie car notre présent et notre avenir en dépendent. Que notre contribution soit technique ou non technique, tout le monde y gagnerait.
Dans le prochain article je vais parler de la contribution dans l'open source.