L’open-source

par

Le débat sur l’utilisation de l’open-source en milieu professionnel est toujours un sujet d’actualité. Bien que gratuit, les entreprises hésitent à se tourner vers ce format pour plein de raisons, plus ou moins argumentées & réalistes.

Un peu d’histoire tout d’abord. L’open-source est un concept proposé en 1998 par Christine Peterson, pour distinguer les logiciels libres des logiciels gratuits. De part le terme “ouvert”, il se place en opposition aux logiciels propriétaires, dont le code est bien souvent rendu indéchiffrable.

Un code “Open Source” signifie que tout le monde peut accéder aux sources dudit système, sans conditions. Cela ne veut pas forcément dire qu’il est modifiable ! Tout dépend de la licence utilisée - nous verrons ça un peu plus bas.

Attention à ne pas confondre gratuit et open-source. Vous pouvez utiliser un logiciel propriétaire gratuitement si sa licence vous y autorise. Tout comme un logiciel open-source peut être payant, même si c’est un peu contradictoire.

Vous avez probablement déjà utilisé un bon nombre de logiciels open-source sans forcément le savoir. Libre Office, Wordpress, Mozilla Firefox, Contao, voire même une distribution Linux, même camouflée par une interface.
Tout programme informatique peut être open-source, peu importe sa complexité ou son utilité.

Poursuivons cet article avec les questions les plus fréquentes que l’on se pose à propos de l’open source.

L’open-source est moins sécurisé que le code propriétaire

Dans l’imaginaire des profanes, rendre un code-source accessible revient à ouvrir la porte de sa maison en grand et de tout laisser à la portée du premier venu. En programmation informatique, ce n’est pas vraiment la même chose.

D’une part, un code-source laisse rarement à disposition des données à risque, comme des identifiants ou des mots de passe. C’est plus souvent des programmes génériques, comportant un ensemble de règles métier exécutant ce pourquoi ils ont été conçus.

D’une autre part, la communauté informatique est globalement bienveillante. Quand une faille de sécurité est décelée, elle est remontée par d’autres développeurs (via un système comme Github ou autre) qui utilisent ledit outil et ils proposent souvent un fix (une correction) pour combler la faille.

A la base, un hacker n’a pas une connotation négative. C’est un expert en sécurité informatique dont le travail (ou le hobby) consiste à contourner les protections en place, dans le but d’en déceler les failles et de les résoudre. Ce sont les “white hats”.

Les médias ne parlent bien souvent que des “black hats”, qui sont des cyber-criminels. On a aussi les “grey hats”, qui sont un peu borderlines, agissant parfois dans l’illégalité à des fins bienveillantes ou politiques (c’est le cas des hacktivistes).

L’open-source est gratuit

Fondamentalement, le principe de l’open-source est associé à un esprit communautaire. Donc la plupart des logiciels open-source sont gratuits. Il existe toutefois des entreprises qui produisent du code open-source mais ne le fournissent qu’à leurs clients, qui s’engagent contractuellement à ne pas diffuser ce code.

Tout dépendra de la licence utilisée. Comme il est difficile d’encadrer techniquement les abus au niveau de la programmation informatique, on tente de l’encadrer légalement. C’est pas ouf, mais c’est toujours ça.

Liste des licences sur Choosealicence.com
License MIT sur Choosealicence.com

L’open-source est peu fiable car il n’est pas vérifié

N’importe qui peut produire du code, le mettre sur un dépôt libre, le faire marcher et l’abandonner. La question de la fiabilité d’un système est donc légitime.

Tout comme pour la sécurité, un code open-source est utilisé et relu par un nombre plus ou moins grand de personnes. Cela signifie qu’il est testé et débugué dans des cas concrets et variés. Même une équipe payée n’a pas forcément les outils et le temps nécessaire pour tester l'entièreté de son produit.

Liste des bugs déclarés sur le github de Contao par la communauté

Normalement, quand on code proprement, on met en place ce qu’on appelle des tests unitaires. C’est un ensemble de règles qui sont exécutées automatiquement et qui vont simuler des cas d’utilisation du système, ou d’une partie du système produit. Les erreurs sont remontées au développeur qui peut alors les corriger.

C’est pratique, ça évite d’envoyer des erreurs, parfois bêtes. Mais ça demande un temps fou à coder, que les développeurs n’ont pas souvent dans le milieu professionnel. On en parlera un jour :)

L’open-source ne dispose pas de support

Quand on achète un logiciel ou un programme, on achète bien souvent le support qui va avec. Parfois, c’est même tout ce qu’on achète, beaucoup de services se basant sur de l’open-source s’engagent à en garantir le fonctionnement et font payer cette garantie. (Ubuntu et la société Canonical par exemple)

C’est le plus grand défaut lorsque l’on travaille avec de l’open-source. Même lorsque c’est développé par des professionnels, la seule garantie du maintien et de la pérennité du code source utilisé est le temps disponible de son créateur.

Avec le temps, ce problème a été partiellement réglé, avec les répertoires GIT, qui permettent de mettre à disposition un programme open-source, et de le configurer pour que n’importe qui puisse faire sa propre copie exacte (un fork) et le modifier à sa convenance. La seule condition étant de repartager ensuite le code modifié.

On ne peut pas vendre de l’open-source

Et bien si. Encore une fois, tout dépend de la licence. Toutes les licences approuvée par l’organisme principal de l’Open-Source autorisent l’usage commerciale. Certaines licences demandent que le programme utilisé soit cité car beaucoup de codes open-source servent d’intermédiaires à l’élaboration de programmes plus complexes.

Contao est un CMS Open-Source, dont le dépôt GIT est accessible ici : https://github.com/contao/contao. La licence utilisée est le LGPLV3 qui autorise l’usage commercial.

On ne peut pas breveter de l’open-source, donc on peut me voler mon travail

S’il est vrai que par essence, on ne devrait pas pouvoir breveter de l’open-source, certaines entreprises trouvent des moyens détournés pour le faire. Apple a créé iOS, qui est basé sur un dérivé du kernel open-source BSD UNIX. Le moteur en lui-même n’est pas breveté, mais il est composé de plein de composants qui eux le sont, empêchant toute copie fonctionnelle.

L’open-source est fortement lié à l’esprit de partage. Par principe, si quelqu’un utilise votre code et le modifie, il doit le re-partager à la communauté. L’open-source appartient à tout le monde, on ne peut le voler.

La programmation informatique donne du fil à retordre légalement parlant. Il est quasiment impossible de protéger correctement un logiciel. Même les systèmes compilés peuvent être décompilés (via du rétro-engineering), et à partir du moment où quelque chose passe par Internet, il peut être intercepté.

La sécurité informatique ne diffère pas de la sécurité physique, si vous laissez le temps qu’il faut à quelqu’un de compétent, il passera toutes les barrières dressées.

Les meilleurs logiciels sont ceux que l’on achète

Les logiciels payants sont fabriqués par des sociétés traditionnelles. Elles embauchent des gens pour concevoir un produit qui est vendu à un certain prix pour faire tourner l’entreprise. Cela permet de consacrer une équipe complète au développement d’un produit, à son support et à son évolution.

Cependant, si cela prend plus de temps, il existe toujours une alternative gratuite à un logiciel payant. Elle sera peut-être moins pratique, moins rapide, mais elle sera gratuite !

Quelques exemples :

Interface GIMP
Interface Photoshop

L’open source reflète l’esprit communautaire qui anime Internet depuis ses débuts : un ensemble de personnes se partageant gratuitement des connaissances et des outils.

Il favorise l’innovation et la collaboration sur des projets de plus en plus complexes, et qui ne seraient réalisables que par des grosses entités disposant de ressources considérables. Contao dispose de 61 contributeurs, Wordpress en a 51, Symfony en comporte 1820 ! Autant de petites mains qui se succèdent et contribuent à la pérennité d’un projet.

Si on devait développer tout ce qu’on utilise via l’open-source, tout programme prendrait 10 fois plus de temps et coûterait bien plus cher. Même si on pourrait être tenté de privatiser le fruit de son dur labeur, il faut faire preuve de parcimonie et isoler ce qui est vraiment une innovation, et partager le reste afin de conserver cet équilibre où tout le monde est gagnant.

Si vous ne savez pas pour quelle licence opter, le site https://choosealicense.com/ est très bien fait et récapitule tous les tenants et aboutissants de chaque licence.