Definition

Open Source

L’Open Source est une méthode d’ingénierie logicielle qui consiste à développer un logiciel, ou des composants logiciels, et de laisser en libre accès le code source produit.

Ce code source peut alors être exploité par les développeurs et les entreprises souhaitant soit l’adapter à leurs besoins métiers, soit affiner son intégration avec leur système d’information.

L’une des caractéristiques clés des logiciels Open Source est que leur conception et leur développement sont placés entre les mains de communautés d’utilisateurs et/ou de développeurs qui font évoluer le logiciel. Ces communautés Open Source constituent le cœur du développement du code source et le moteur principal de l’Open Source.

Ces communautés sont constituées de développeurs indépendants. Ceux-ci développent le logiciel sur leur temps libre. Mais, l’Open Source ayant monté en puissance dans l’IT moderne, de plus en plus de sociétés ont décidé de s’intégrer aux communautés pour prendre plus facilement part aux développements. Cette participation à un projet Open Source, qu’elle soit technique, organisationnelle ou personnelle, est alors qualifiée de contribution.

Fondations

Si chaque projet Open Source est considéré comme indépendant par nature, les communautés, les développeurs et les entreprises qui contribuent peuvent aussi faire le choix de soumettre leur projet à une fondation. Cette fondation Open Source a alors la charge de la gouvernance du projet, et décidera de façon collective (établi selon son modèle de gouvernance) de sa feuille de route, des fonctionnalités, des orientations ainsi que de toutes les évolutions du projet.

Certaines fondations, après avoir créé un modèle de gouvernance pour un projet donné, le mettent à disposition d’autres projets. C’est le cas par exemple de la fondation Apache (Apache Foundation – à l’origine conçue pour le serveur Web), de la fondation Eclipse (Eclipse Foundation – à l’origine créée par IBM pour l’IDE Java) ou encore de la fondation Linux (Linux Foundation – à l’origine  conçue pour Linux, mais ouverte désormais aux projets collaboratifs).

En revanche, d’autres peuvent s’être constituées et se maintenir autour d’un unique projet. C’est le cas par exemple de la Document Foundation qui encadre la suite bureautique LibreOffice.

Licence(s) Open Source

L’Open Source est souvent opposé au modèle propriétaire. Alors que l’Open Source impose l’ouverture et l’accès au code source, le  modèle  propriétaire propose une approche plus fermée, puisque celui qui achète le logiciel n’a accès qu’à une version compilée et packagée du logiciel ou des composants logiciels. L’utilisateur achète également une licence pour une période donnée ou un nombre d’utilisateurs donné.

Ceci étant, la licence existe également dans l’Open Source. Mais elle sert à définir les méthodes d’utilisation du logiciel.

L’Open Source Initiative est l’organisme certificateur garant du caractère Open Source d’une licence. Cette institution tient à jour une définition de l’Open Source (Open Source Definition) que les licences doivent respecter.

Parmi les licences Open Source les plus utilisées par les communautés et les entreprises, on retrouve la licence Apache, BSD, GNU GPL, MIT, Mozilla Public Licence ou encore Eclipse Public Licence, comme l’indique le site de l’OSI.

Open Source, quel intérêt pour les entreprises

Depuis plusieurs années, la méthode de conception logicielle Open Source a gagné les principales couches de l’IT moderne, du moins côté infrastructure. Les couches du Cloud ComputingIaaS et Paas, installées dans les datacenters, reposent pour l’essentiel sur des serveurs motorisés par des OS Open Source. Les moteurs principaux des applications dites de Big Data, qui font usage des données en volume, sont Hadoop ou encore Spark, tous deux Open Source – et hébergés dans la Fondation Apache.

Ces projets ont ainsi pu évoluer rapidement, au rythme des exigences de la communauté et des besoins des entreprises. En s’impliquant dans les communautés, les entreprises ont la possibilité de faire entendre leur voix et leurs besoins – tout en restant alignées sur la gouvernance du projet.

Généralement, la gratuité des logiciels Open Source est présentée comme l’argument n°1 en termes d’adoption. S’il est vrai que le code source est gratuit, l’optimisation des coûts vient aussi du fait que l’entreprise a la capacité d’adapter le logiciel à ses besoins stricts. Chaque euro dépensé l’est dans l’adaptation du code aux exigences et besoins.

Cette logique économique de l’Open Source se retrouve également dans la participation à des communautés. En décidant de choisir de s’appuyer sur un logiciel Open Source, on décide de s’appuyer sur un socle standard, développé de façon communautaire, et dont les coûts de R&D se retrouvent du coup répartis. La valeur viendra alors d’ailleurs, de ce que les entreprises décideront de faire du logiciel, de leur capacité à l’adapter pour favoriser l’innovation.

Un code source gratuit, mais pas sans coûts

Pour autant, un logiciel Open Source n’est, au final, pas gratuit, pour des usages professionnels. Les entreprises désireuses d’implémenter dans leur SI une solution Open Source ont le choix entre : le faire eux-mêmes (et cela implique de disposer des ressources internes adéquates) ; soit de faire appel à un éditeur Open Source.

Ces éditeurs Open Source ont bâti leur modèle économique sur la « digestion » de la souche Open  Source, développée par les communautés, pour en faire une solution prête pour un usage en entreprise. Une partie de leur métier consiste ainsi à tester et certifier cette souche pour la caler sur les exigences des entreprises et la rendre prête pour la production (respect des SLA, haute disponibilité, sécurité, virtualisation, …). Cette version dite premium ou entreprise est généralement associée à une offre de support et maintenance. Ces prestations d’édition et de support sont payantes, facturées généralement à l’abonnement.

Open Source VS Logiciel libre

L’Open Source et le logiciel libre  sont souvent considérés comme équivalents. S’ils partagent certes des valeurs communes (l’accès au code source), leur approche diffère néanmoins.

L’Open Source est - rappelons-le - une méthode d’ingénierie qui permet de lire le code source du logiciel produit. En revanche, en fonction de la licence choisie, le partage, la modification et la redistribution des modifications apportées au logiciel, ne sont pas imposés.

Le logiciel libre, comme défini par la Free Software Foundation (et par Richard Stallman) y ajoute la notion fondamentale de liberté dans l’utilisation, la modification du code source, ainsi que la redistribution du logiciel.

Cette définition a été mise à jour en août 2016

Pour approfondir sur Développement mobile