En informatique, l'open-source fait référence à un ensemble de principes d'accès libre, qui s'appliquent à la conception et à la distribution de logiciels. Même si l'idée n'était plus nouvelle à l'époque, c'est à la fin des années 1990 que l'expression revient au goût du jour, sous l'impulsion de l'Open Source Initiative. Bien plus qu'une simple notion, le concept d'open-source est devenu au fil du temps une véritable philosophie, apportant une contribution clé à l'évolution de l'informatique, dans divers secteurs connexes. Le domaine des cryptomonnaies, et particulièrement Bitcoin dont la création ne remonte qu'à 2009, s'inscrit dans cette philosophie de l'open source. Dans une logique de transparence, la mère des cryptos adopte un modèle de fonctionnement open-source que reproduisent de nombreux autres projets par la suite.
Un logiciel peut être qualifié d'open source lorsqu'il respecte la règle de base de ce concept, à savoir que son code est rendu public et accessible à tous pour exploitation. Quoiqu'efficace, cette définition de l'open source omet néanmoins de rendre compte de certains aspects clés.
L'idée des logiciels libres, en l'occurrence des logiciels disponibles gratuitement pour tous, remonte à 1985. Elle est initiée par la Free Software Foundation, qui ambitionne de propulser le libre accès à de nombreuses solutions logicielles. Si l'idée ne connaît pas vraiment un franc succès, elle fait néanmoins son chemin jusqu'aux années 1990. Cette décennie correspond à celle de la démocratisation d'Internet.
Ce vent de l'ouverture numérique souffle inévitablement sur le monde des logiciels. L'Open Source Initiative relance alors le concept des logiciels en accès libre. Mais cette fois, il n'est pas seulement question d'une distribution libre de logiciel, dimension qui n'accordait que la primeur aux intérêts de l'utilisateur. Avec l'arrivée des licences open source, le domaine de l'informatique vit une révolution décisive : des développeurs de divers horizons peuvent désormais aisément travailler à l'amélioration d'un logiciel réputé utile. Le logiciel libre se concentre sur une utilisation à des fins personnelles, alors que l'open source va plus loin, en ouvrant la voie à une amélioration continue, dans l'intérêt de tous.
Avec l'open source, le développement commun de projets informatiques est désormais possible, en dehors de l'entreprise / du groupe de personnes ayant écrit le premier code source. Pour peu que la solution présente un réel intérêt, sa durabilité est ainsi garantie. De larges communautés se mettent place pour assurer une amélioration continue. Un tel fonctionnement est d'ailleurs favorable à l'innovation, et limite les risques que le logiciel ne soit plus maintenu ou disparaisse, à cause d'une forte dépendance à une seule entité.
Dans quelle mesure le développement collaboratif est-il possible sur un projet open source ? Tout dépend de la licence sous laquelle celui-ci est publié. Soulignons que même en open source, certaines restrictions peuvent être mises en place, soit par les premiers développeurs, soit par la communauté.
Cette liste évoque bien sûr les licences les plus célèbres, et est loin d'être exhaustive.
A priori, lorsqu'un modèle perdure et s'étend, on peut en déduire qu'il présente un intérêt indéniable. Dans le cas de l'open source, de nombreux exemples montrent le succès du concept. Connaissez-vous la suite bureautique Libre Office ? Sérieuse alternative à la suite Office payante de Microsoft, elle est distribuée sous licence Open. Le logiciel d'édition de sons Audacity, le logiciel d'édition d'images GIMP, le lecteur vidéo VLC Player, le système d'exploitation Linux ou encore le navigateur web Mozilla Firefox sont tous des logiciels en distribution libre.
Commençons par relever que les entités qui s'engagent sur la piste des licences libres n'accordent pas vraiment la priorité aux gains financiers. Toutefois, pour la gestion du projet et pour assurer un développement minimal, des fonds peuvent être nécessaires. Par ailleurs, même si les développeurs participant à l'amélioration du code source, le font d'abord par passion, ils possèdent avant tout des compétences qu'ils peuvent monétiser.
Les méthodes via lesquelles les entreprises ou développeurs gagnent de l'argent avec les projets open source sont donc très variables. L'ajout de fonctionnalités payantes fait partie des formules répandues. Des services associés peuvent aussi être monétisés : déploiement du logiciel ou du système en SaaS, prestations de configuration, etc. Par ailleurs, certains projets open source de grande envergure ouvrent leur espace virtuel à des publicités, pendant que d'autres se financent grâce aux dons des utilisateurs.
Pour qu'un programmeur intègre la communauté des développeurs d'un projet en licence open, il n'existe pas de règles standards à suivre, ni de coût à supporter. Il suffit généralement de maîtriser l'un ou plusieurs des langages de programmation (Python, Java, C++, etc.) employés. Par ailleurs, il est souvent nécessaire de se servir des plateformes permettant la collaboration, le suivi et la validation des modifications apportées au code, etc. Les outils CVS et Github sont les plus connus en la matière.
Quel que soit le secteur concerné et peu importe les langages de programmation utilisés, l'open source ouvre de nouveaux horizons. Le cas du Bitcoin, crypto open source par excellence, en offre une parfaite illustration.
La forte position que maintient le Bitcoin, par rapport aux autres cryptos, ne dépend pas seulement de son statut de précurseur. Cette crypto-monnaie prône également une certaine philosophie et des valeurs, qui prennent notamment forme à travers son fonctionnement.
Lorsque Satoshi Nakamoto, surnom du créateur du Bitcoin, a fini d'écrire le code de cette monnaie d'un nouveau type, il n'en a pas restreint l'accès. Ainsi, quiconque le souhaite, peut consulter le code informatique de l'écosystème définissant le Bitcoin en tant que cryptomonnaie et en tant que blockchain. Mieux, pour peu qu'elle en ait les aptitudes, cette personne pourra également proposer une modification du code du Bitcoin.
Répondant à de telles caractéristiques, le Bitcoin remplit les conditions de l'open source.
De sa création à aujourd'hui, le projet de la crypto Bitcoin a pris beaucoup d'ampleur. Son importance croissante dans l'économie mondiale est indéniable.
Dans le livre blanc qu'il publie en 2008 pour décrire le fonctionnement de la Blockchain Bitcoin et de la crypto native BTC, Satoshi N. indique clairement son intention de poser les bases de système financier entièrement décentralisé. Il a pour intention d'établir, pour ce système, une gouvernance basée sur la transparence et la liberté des utilisateurs. C'est exactement ce qu'il fait en rendant open source le Bitcoin.
La première implémentation du logiciel du Bitcoin a été publiée depuis 2009. Depuis lors, personne n'a jamais eu la moindre idée de l'identité de la / des personne(s) se cachant derrière le pseudonyme Satoshi Nakamoto. Le Bitcoin n'en est pas resté figé pour autant !
L'écosystème du Bitcoin est aujourd'hui un vaste réseau. Il est géré par la communauté, qui peut apporter des améliorations sur la base du consensus, sans se détourner des principes de sécurité et de décentralisation. Du côté de son fonctionnement, se greffent à ce réseau des nœuds Bitcoin fonctionnant suivant des règles personnalisées. Les nœuds sont des ordinateurs dotés d'un logiciel client Bitcoin leur permettant d'accéder à la Blockchain. En parallèle, lorsque des transactions (envois de BTC) sont effectuées en pair-à-pair, des développeurs appelées mineurs bitcoins résolvent des équations complexes pour les vérifier et les valider.
Ces divers processus seraient difficilement mis en œuvre si le Bitcoin n'était pas open source. Voilà pourquoi, s'inspirant de ce précédent, les projets crypto Ethereum, Solana, Doge Coin, Chainlink ou encore Cardano ont tous opté pour la voie de l'open source.
En analysant le Bitcoin, depuis la publication du livre blanc expliquant les fondamentaux de la Blockchain, jusqu'à présent (avec la valeur de 1 BTC passant de moins de 10 dollars US en 2010 à plus de 30 000 USD en juillet 2023), nous pouvons ressortir 3 principaux objectifs. Le Bitcoin vise à :
Le déploiement en open source n'empêche aucunement l'atteinte de ces objectifs. Bien au contraire, il les favorise dans une certaine mesure. La communauté des utilisateurs se charge elle-même de la gouvernance du réseau. Elle peut définir les règles susceptibles de créer des conditions optimales pour l'atteinte de ces objectifs. Les membres de la communauté peuvent également identifier et corriger les potentielles failles sécuritaires ou techniques susceptibles d'entraver le bon fonctionnement du réseau.
Quand on considère la définition du concept d'open source, il est logique de se demander si des dérives ne pourraient pas survenir aisément. Dans les faits, alors qu'une ultra-ouverture pourrait faire penser à une certaine fragilité, c'est plutôt tout l'inverse qui se produit.
Puisqu'un logiciel open source est visibles par tous, il est a priori contrôlable par tous les talentueux développeurs choisissant de rejoindre le projet. Ainsi, au moment de suggérer des modifications ou de vérifier des modifications soumises par d'autres, les développeurs ont généralement le réflexe de scruter les anomalies. Dans le cadre d'une initiative open source, il est ainsi aisé pour des personnes avisées de détecter toute utilisation non-autorisée ou tout détournement de la solution.
Le Bitcoin ne fait pas exception à cette norme conventionnelle, d'autant plus à cause de la renommée mondiale qu'il a acquise et des innombrables transferts de BTC réalisés quotidiennement. Aujourd'hui, avec plus de 580 milliards de dollars de capitalisation boursière, le BTC est devenu un actif incontournable sur les marchés. Sa posture est trop primordiale pour que la communauté se permette de ne pas traquer la moindre faille. Cette réalité traduit l'une des règles pratiques propres à l'open-source. Lorsque les enjeux (financiers, sociaux, technologiques, etc.) associés à un logiciel open source deviennent cruciaux, il devient pleinement la propriété de la communauté et sa sécurisation devient systématique.
En tant que projet open source, le Bitcoin est déjà parvenu au stade de maturité auquel la communauté s'impose comme protectrice de la solution. Ainsi, le principal logiciel Bitcoin (Bitcoin Core), qui sert de client à la plupart des nœuds Bitcoin pour l'accès au réseau, fait régulièrement l'objet d'audits de sécurité et d'audits de code. Le réseau lui-même fait l'objets de vérifications fréquentes.
Le Bitcoin peut se targuer de n'avoir jamais subi d'attaque depuis son lancement. Un autre dispositif dérivé des principes de l'open source en est à la base : la copie systématique du réseau et les contrôles permanents obligatoires. Le Bitcoin fonctionne par émission de blocs de BTC (à terme, 21 000 000 BTC seront émis). Avant qu'un nouveau bloc soit effectivement ajouté au réseau, il faut que la plupart des mineurs le vérifient. Chaque mineur peut disposer d'une copie complète du réseau Bitcoin depuis le premier bloc émis, jusqu'à l'instant auquel il intervient. De plus, lorsque vous entamez l'envoi de BTC vers une adresse Bitcoin par exemple, la transaction n'est pas immédiatement exécutée. Les mineurs s'assurent d'abord qu'elle remplit les conditions du réseau, notamment pour éviter qu'une même transaction soit répétée à plusieurs reprises.
Ces protocoles octroient au Bitcoin un excellent niveau de sécurité et en font un actif crédible.
Parce qu'il est originellement un logiciel open source, le Bitcoin ne change pas au gré des humeurs d'une personne ou d'une entreprise, ou des caprices du marché. Avant qu'un changement soit effectué, la majorité de la communauté doit y adhérer. Le développeur souhaitant intégrer des corrections ou améliorations élabore une proposition d'amélioration ou BIP (Bitcoin improvement proposal) qu'il soumet à la communauté. S'il s'agit d'une amélioration compatible avec les précédentes versions de Bitcoin, et qui est acceptée par la majorité de la communauté, elle sera implémentée. Le Bitcoin continuera alors de fonctionner dans une nouvelle version appelée soft fork.
Dans le cas d'une amélioration que la communauté rejette, deux solutions sont possibles. Le développeur ayant proposé la mise à jour peut simplement laisser tomber l'idée ou réfléchir à une autre BIP. S'il tient néanmoins à mettre en œuvre sa proposition, celle-ci se déploiera en parallèle au réseau originel du Bitcoin, à cause de son incompatibilité avec les précédentes versions du Bitcoin. On parle alors de hard fork. Ce sont des hard forks qui ont donné naissance au Bitcoin Cash, au Bitcoin Satoshi Vision ou encore au Bitcoin Gold. Cette liberté de fonctionnement des projets tiers représente une preuve typique de ce que rend possible le caractère open source de Bitcoin : le projet conserve ses normes de base et son évolutivité, tout en ouvrant le champ à d'infinies possibilités !