C'est quoi l'open source ?
Pour comprendre ce qu’est l’open source il faut d’abord comprendre ce qu’est le code source. Le code source permet d’expliquer à un ordinateur comment un logiciel fonctionne. C’est une suite d’instructions écrites dans un langage de programmation informatique qui permet de créer un logiciel mais aussi de le modifier.
Pour être lu par un ordinateur ce code doit être traduit en langage binaire, seul langage compréhensible par les ordinateurs. Pour cela il existe 2 moyens :
- Par un interpréteur : c’est un programme qui lit et exécute le code à la place de la machine
- Par un compilateur : c’est un langage spécial qui traduit les fichiers du code source
Une fois traduit ce langage est illisible pour un humain et on ne peut retrouver le code d’origine. Ce code, les développeurs peuvent choisir de le garder secret (nous parlons alors de logiciel propriétaire) ou de le partager (nous parlons alors de logiciel open source ou libre)
Même si nous allons développer le concept de logiciel propriétaire, ici nous allons nous concentrer sur l’open source parce que… Parce que c’est le nom de l’article.
La logique open source ?
L’open source est un terme qui s’applique aux licences de logiciel. Il existe plusieurs définitions de l’open source mais nous ici nous allons nous focaliser sur celle que donne l’Open Source Initiative (OSI). Selon cet organisme, pour qu’une licence de logiciel soit considérée comme open source elle doit remplir les conditions suivantes :
La redistribution libre
Code source librement accessible
Autorisation des applications dérivées : possibilité de créer des applications en se servant de tout ou d’une partie du code source
Intégrité du code source : le code source d’origine et les fichiers de modification doivent pouvoir être séparés
Non-discrimination contre les personnes, les groupes, les entreprises
Distribution de la licence : les droits attachés au programme doivent s’appliquer à tous ceux à qui le programme est redistribué sans que ces parties ne doivent remplir les conditions d’une licence supplémentaire.
Licence non spécifique à un produit
Licence non restreinte à un logiciel
La licence ne doit pas contaminer d’autres logiciels : la licence ne peut imposer à un autre logiciel un fonctionnement particulier
Licence neutre sur le plan technologique
La force communautaire
Ceux qui ont accès au code source peuvent l’utiliser et le modifier. C’est là qu’intervient la force de la communauté. Imaginez une intelligence collective de centaines de milliers de personnes dédiées au développement d’une application. Cette communauté permet de résoudre les bugs rapidement, de développer des extensions ou composants pour des usages non prévus au préalable. C’est ce que nous appelons des contributions, car tout cela n’implique aucune contrepartie financière, qu’elle soit du côté du développeur ou du côté de l’éditeur, sauf quelques rares cas où un éditeur peut rémunérer les contributeurs.
CMS open source
Les CMS ont une énorme communauté (particulièrement wordpress), c’est pour cela que vous allez retrouver un tas d’extensions gratuites et payantes, semi-payantes (ou semi-gratuites) pour améliorer la qualité de votre CMS. Vous avez des extensions pour les boutiques en ligne, des outils pour améliorer votre SEO ou pour afficher vos flux sociaux sur vos pages par exemple. Un écosystème de solutions rendu possible parce que chacun des développeurs s’est un jour posé la question : « Et si on pouvait faire ça ? ».
Les framework
Ce modèle open source s’applique également du côté des framework. Par exemple, chez Vigicorp, nous avons créé Berlioz, un framework léger et modulable open source avec lequel nous avons développé le Serious Game Veaucation. Pour ces derniers, cela va consister en la création de composants pouvant être réutilisés par la communauté pour la création de leur site web mais aussi par l’amélioration de composants déjà existants.
La pérennité du logiciel
L’open source offre une plus grande sécurité pour ceux qui utilisent un logiciel. Lorsqu’un logiciel est open source, son évolution dépend de sa communauté qui n’a pas forcément besoin d’être grande. En revanche l’utilisation d’un logiciel propriétaire vous rend dépendant d’un acteur. Si un jour, ce dernier ne peut plus en assurer la survie, vous allez vous retrouver avec un logiciel qui ne sera plus jamais mis à jour.
Bien sur il est possible que le logiciel devienne open source pour assurer sa survie. Mais c’est à l’initiative de son propriétaire qui parfois ne souhaite pas perdre la propriété du travail de toute une vie.
Le modèle économique
A la différence des logiciels propriétaires qui ont un revenu régulier en faisant payer les licences d’exploitation comme le pack office ou la suite adobe, les logiciels open sources eux doivent miser sur des revenues plus instables. Il est impossible de faire fortune avec un logiciel open source en ne vivant que de la vente de licence. Vous pouvez éventuellement compter sur les dons, mais s’il est facile d’utiliser quelque chose de gratuit ça l’est moins de participer à sa pérennité, c’est pourquoi les dons sont très rares.
Mais aucune des entreprises qui développent un logiciel open source ne vit de la vente de licence. Nous par exemple, nous avons développé Berlioz mais notre activité principale c’est le développement de sites web et applications mobiles. La création de Berlioz a été motivé par les besoins d’un projet et nous avons fait le choix de le mettre à disposition pour ceux qui pourraient en avoir besoin.
Open source =/= Gratuit
Un logiciel open source n’est pas forcément gratuit. L’accès au code source peut être libre, en revanche, le propriétaire de la licence du logiciel peut faire payer des services associés au logiciel parfois essentiel. C’est l’angle que choisissent certaines entreprises pour dégager un certain revenu de la mise à disposition d’un logiciel libre.
Il est par exemple possible de faire payer des formations à l’utilisation du logiciel, on peut également faire payer l’accès au support technique ou la remise d’une certification. C’est par exemple le cas pour Symfony, qui est un framework open source mais dont la certification « Expert Symfony » est payante.
Pour aller plus loin : Le logiciel libre
Il ne faut pas confondre logiciel libre avec l’open source. Là où l’open source à un intérêt qui porte sur le développement collaboratif (évolution du logiciel et correction de bugs plus rapides), le logiciel libre lui comme son nom l’indique fait appel à des valeurs plus sociales que sont la liberté, l’égalité et la fraternité. Le logiciel libre dépasse le simple choix économique, c’est un choix politique et philosophique. Une thèse fortement appuyée par Richard Stallman.
Concrètement cette thèse met en avant le fait que lorsque nous dépassons l’intérêt économique pour nous concentrer sur l’intérêt social, tous les logiciels devraient être libres, car un logiciel propriétaire et même open source freine le développement commun pour accélérer le développement d’un individu (ou d’une entreprise).
L’open source mais plus particulièrement le statut d’une licence de logiciel est un sujet complexe, et surtout sujet à de nombreuses interprétations. Pour cela, nous vous invitons à faire preuve de curiosité, à vous informer sur les différentes thèses, avis et définitions autour de ce sujet. Cela pour objectif de forger votre propre avis sur ce sujet qui dépasse le secteur du développement web pour remettre en question les notions de propriété et de liberté.