C'est quand le code source d'un programme (la partie écrite en langage informatique) est librement accessible.
En effet, il existe tout un tas d'éditeurs qui mettent à disposition le code source de leur produit.
Ce peut être pour de multiples raisons : l'esprit de partage, la volonté que des bénévoles se joignent au projet, prouver sa sécurité, etc.
Historiquement, cette démarche est très lié au monde du logiciel libre (même s’il existe des programmes open source qui ne sont pas libres).
C’est notamment la pratique de base de tous les projets communautaires (où des bénévoles se sont réunis pour créer et faire évoluer un programme informatique gratuit). Une des motivations principales est notamment de permettre à n’importe qui de facilement modifier le fonctionnement du programme pour l’adapter à son besoin (et ainsi favoriser les améliorations).
L’Open Source favorise aussi l’interopérabilité. Comme n’importe qui peut voir comment votre programme fonctionne, il peut créer un autre programme qui se connecte au votre pour étendre son usage.
Par exemple, mon programme de Mail peut me permettre d’importer automatiquement mes factures en pièce jointe dans mon programme de facturation. Ce programme de facturation peut alors automatiquement se connecter à mon programme de gestion des stocks pour mettre à jour les quantités disponibles. Ce programme de gestion des stocks peut se connecter automatiquement à mon programme de Mail pour avertir qu’une quantité d’un produit est trop basse. Etc.
L’Open Source est cependant en conflit assez trivial avec les nécessités économiques du marché. Si vous rendez votre code accessible à tous, vos concurrents n’ont plus besoin de faire de rétro-ingénierie, ils peuvent copier votre savoir faire immédiatement.
Également, tous les utilisateurs peuvent en fait utiliser votre programme gratuitement : ils prennent le code source que vous avez mis à disposition et ils le compilent pour avoir un binaire. Sauf si la valeur de votre programme repose davantage sur les données avec lesquelles il tourne (qui elles ne sont pas publiées) que sur son fonctionnement.
Par exemple, si Google rendait public son algorithme de recherche dès demain, et bien vous ne pourriez pas vous refaire un moteur de recherche Google fonctionnel chez vous. En effet, il vous manquerait les quantités astronomiques de données que Google a récolté en indexant Internet. Donc le moteur de recherche, sans les données, ne serait pas suffisant pour se passer de Google.
Ce qui n’est pas forcément très connu, c’est que le logiciel open source, c’est en fait plutôt la norme que l’exception.
Notamment par le phénomène que les logiciels incorporent d’autres logiciels. En informatique on essaye d’éviter de réinventer la roue. On bâtit seulement la dernière brique. Donc si par exemple votre logiciel a besoin un moment de transformer une image du format JPEG au format PNG, vous n’allez pas vous embêter à écrire un truc capable d’interpréter du JPEG pour en retirer les données graphiques puis calculer comment les transformer au format PNG, etc. Vous allez utiliser un programme open source spécialisé dans les conversions. Il fait ça mieux que vous ne l’auriez fait, car il ne fait QUE ça. Pareil si vous devez calculer des distances entre points GPS, des moyennes pondérées, de la reconnaissance d’image, etc.
En moyenne, 77% d’un programme commercial est composé de code qui vient de l’Open Source.
Déjà à la base, ces logiciels sont très souvent installés sur des systèmes d’exploitation Open Source. Chez vous, vous connaissez surtout Windows, mais la réalité d’Internet c’est qu’environ 96% des sites Web les plus connus utilisent Linux (qui est Open Source), 85% des smartphones aussi (Android c’est du Linux), 100% des 500 plus grands supercalculateurs, etc.
Quasiment tout notre monde numérique repose sur l’Open Source et ses centaines de milliers de contributeurs bénévoles. Les programmes commerciaux sont en fait une section de niche.
Le fait que les passionnés d’informatique ont une tendance à produire gratuitement pour la communauté est un chance inestimable. Mais on ne sait pas bien pourquoi c’est comme ça, ni pourquoi ça le resterait. Donc à tout moment un changement générationnel pourrait mettre en péril les fondations du monde numérique dans lequel nous vivons. Car sans l’Open Source, plus rien ne marche.