Nous allons voir dans cet article ce que le code « open-source » peut m’apporter, à moi néophyte qui n’y connais rien et suis bien incapable de comprendre du code.
Définition
Open-Source, signifie que le code source, mais plus généralement les plans de conceptions, sont ouvert. C’est à dire que non seulement la documentation technique est disponible gratuitement et détaillée (ce qui n’est pas toujours le cas) mais aussi toute la partie ingénierie. Le concept est né suite au mouvement Hippie appliqué au logiciel. C’est une utopie qui fonctionne très bien en informatique et ou chaque acteur y trouve son compte.
Cela invite toute les personnes compétentes à y contribuer pour améliorer le produit et cela permet à tout utilisateur de comprendre un peu le fonctionnement technique et potentiellement de l’adapter à ses besoins.
On parle d’Open-Hardware quand cela concerne la partie électronique et par extension tout le reste (un fauteuil, une maison…). En pratique, on se contente souvent de dire Open-Source pour inclure les deux.
Attention
Il ne faut pas confondre open-source avec gratuit (freeware). Les logiciels gratuit non open-source se financent bien souvent par les traitements et données qu’ils récupèrent discrètement sur votre ordinateur (en plus des pubs). Ils peuvent par exemple participer à des bots malveillant, miner du bitcoin ou vendre vos données personnelles, ou même installer des virus.
Dans les faux amis, on a aussi aussi les entreprises qui mettent un vernis d’open-source sur un produit très peu open-source (souvent simplement open-core). Il ne s’agit pas de leur jeter la pierre, elle le font souvent pour trouver un modèle économique. Mais il faut tout de même être avertis.
Souvent, les produit open-source mettent en avant « Open » dans leur nom. Cependant ce mot peut-être utilisé a des fins tout a fait différents tout en jouant parfois sur le double sens. Cela signifie parfois simplement que le produit est accessible gratuitement.
Nos produits sont prêt à être installer
Bien souvent les logiciels open-source sont simple à installer même pour un néophyte puisqu’il sont présentés comme les autres dits commerciaux. Ce n’est pas le code-source que vous téléchargez mais bien le produit fini que vous installez. Cependant dès que l’on touche au matériel, c’est bien plus complexe et souvent bien plus rare. C’est pourquoi, ici aussi c’est bien un produit fini prêt à être branché que vous achetez. La différence avec un produit non open-source c’est que vous pourrez obtenir toutes les documentation dessus et le modifier pour l’adapter à vos besoins.
Les garanties que cela vous apporte:
- Garantie de transparences : Ayant accès aux sources, vous savez exactement ce que le produit fait et donc pouvez être rassuré qu’il n’y a pas de fonctionnalité inventées.
- Garantie de confidentialité : Avec les sources, tout connaisseur et expert peut vérifier la sécurité du matériel et du logiciel et remonter des problèmes. Cela vous garanti qu’il n’y a pas de porte dérobé, ou virus espions inséré à votre insu dans le produit (que ce soit par nous ou nos fournisseurs).
- Garantie de pérennité : Comme les plans sont disponible, il y aura toujours quelqu’un, une entreprise pour les maintenir et les faire évoluer.
- Garantie de réparabilité : Étant donné que vous avez les plans, c’est beaucoup plus facile pour vous, ou un réparateur de résoudre des pannes tout en réduisant le risque de compromettre le produit.
- Garantie d’évolutivité : Avec la communauté, le produit évolue, et dans la mesure du possible il sera toujours possible d’améliorer le produit au cours du temps.
- Garantie d’adaptabilité : Rien ne vous empêche de modifier certaines fonctionnalités soit directement sur le produit, mais aussi, mieux, en contribuant au projet au travers de la communauté. Cela vous permet de répondre à vos besoins même s’il sont spécifiques.
Ce qu’il faut comprendre, c’est que bien sûr, vous n’allez sans doute pas personnellement vérifier que le produit est bien conforme a ce qu’il dit par manque de temps et/ou de compétences. Mais soyez certains que d’autres vont le faire pour de nombreux motifs possibles : par curiosité, pour des enjeux de sécurité, par besoin de modifications/adaptations… C’est d’autant plus vrai que le projet est important et qu’il fédère une communauté importante autour de lui.
Les enjeux
Si nous défendons l’Open-Source et l’Open-Hardware, ce n’est pas seulement par idéalisme, c’est aussi parce que .nous croyons que c’est le seul moyen de pouvoir faire confiance à un appareil électronique. Avec la concentration des acteurs du marché en un très petit nombre d’acteur c’est aussi un des seul contre-pouvoir capable d’inspecter les appareils informatiques pour y trouver les failles voir espion logiciels (spyware) intégrés. Et on ne parles pas de spéculation, la black-hat, conférence de hacking réputé, révèle très régulièrement des espions cachés dans notre informatique de plus en plus embarqués partout. Certains jugerons qu’ils n’ont rien à cacher. Alors qu’ils nous donne leur adresse, numéro de téléphone, numéro de carte de crédit, le contenu des leurs emails… Il s’agit, non seulement d’un besoin de sécurité personnel, mais aussi d’un besoin national aux enjeux internationaux. En soutenant l’économie Open-Source et Open-Hardware plus activement, on contribue aussi à soutenir un contre-pouvoir dont de nombreux pans ont un besoin vitaux (Y compris le domaine militaire).
Un objet physique (classique, comme une balançoire) est intrinsèquement plus ou moins Open-Source. Tout du moins, si l’on peut cacher les processus de fabrication, on ne peut pas en cacher l’agencement et la composition. Et les processus de fabrications restent rarement secret bien longtemps. Il en est tout autre dans l’informatique et dans l’électronique. Si, certes une rétro-ingénierie est toujours possible, elle est beaucoup trop complexe pour pouvoir être mené à bien en un temps raisonnable sur tout les produits qui sortent.
Comprendre le défi de l’open-source
Pour comprendre le défi de l’open-source, il faut comprendre que pour qu’un ordinateur fonctionne, il y a de multiples couches. Chaque couche simplifie la couche d’en-dessous pour la couche du dessus. Tout en haut on a la couche application. Ce sont les logiciels que vous utilisez (Word, Chrome, Firefox… ). En dessous on a la couche système d’exploitation (Operating System en anglais ou OS). En dessous on a les pilotes de périphériques (drivers) qui savent discuter avec le matériel. Il existe quasiment un driver par matériel. Et en dessous on a le firmware qui gère le matériel. Mais ensuite ce n’est pas vraiment fini, car chaque matériel peut implémenter ces couches en internes (et faire tourner son propre OS). Et on a le micro-code, qui est le code qui fait tourner le processeur. Enfin, on peut dire que l’on a le matériel, le niveau électronique, avec l’agencement des composants.

Malheureusement, aujourd’hui, il n’existe pas de produit électronique entièrement Open-Source. On trouve sans problème des logiciels Open-Sources. Installer un Système d’exploitation (OS) Open-Source est possible, le plus connu étant Linux. Pour aller au delà, il faut installer un « BIOS » open-source, il existe Core-Boot, mais il est loin de fonctionner sur tout les appareils. Au niveau en dessous, électronique seul quelques acteurs en propose, mais dans tout les cas, le matériel est plus cher et généralement moins performant. Enfin, le niveau ultime est le niveau processeur, et de ce côté là il n’existait que de vaines tentatives jusqu’à l’arrivé de RiscV ou les premier processeur sortent tout juste avec des performances encore assez médiocres. Et dans un ordinateur il y a plusieurs processeurs (chaque périphérique en a généralement au moins un en plus du processeur central).




Un exemple pour comprendre les enjeux
Je crois que le scandale de la puce Intel ME résume tout l’enjeu du problème. La puce est ajouté à l’origine aux serveurs (les gros ordinateurs professionnels) pour permettre un accès distant. Cet accès permet de tout faire sur l’ordinateur avec des droits supérieur au système d’exploitation du serveur (Le logiciel qui contrôle tout normalement). Surtout on s’est aperçu que cette puce était aussi présente sur tous les ordinateurs Intel. Cela comprends le vôtre ou votre box internet. Des personnes ont voulu examiner cette puce (Hacker et éditeurs de logiciels Open-Source). Et ils ont trouvé des failles de sécurité tellement grosse qu’elles semblent être volontaires. Pire, on s’est aperçu qu’on pouvait désactiver la puce, mais que cette désactivation n’est possible que sur les PC sécurisés de la NSA. Autrement dit, on s’est aperçus avec une un niveau de certitude très élevé, que la puce espionne tous les ordinateurs de la planète (Car AMD a le même système). On comprends que cela soit gênant pour les ordinateurs des armées du monde entier, et pas seulement.
Peut-on blâmer les USA ou Intel pour ce genre de chose? Certes, officiellement, mais en soit, force est de constater que la tentation est bien de trop grande. Tout pays ferait pareil. Imaginez vous fabricant d’un produit informatique, quel qu’il soit. Une grosse agence gouvernementale (ou des hacker), va vous offrir un gros chèque pour glisser très discrètement une toute petite faille, ou mieux un accès discret. Et que risquez vous? Un scandale? Même pas, car toutes les entreprises font pareils. Et même celles qui ne le font pas ont des failles de sécurités. Personne ne se permettra de dire que la vôtre était intentionnelle. Pire, vous devez répondre à des obligations légales officielles et non officielles qui de toute manière vous contraignent. C’est probablement le cas de la puce Intel ME.
Conclusion
A ces enjeux, seul l’Open-Source apporte une solution moralement et techniquement satisfaisante. En plus il contribue à diffuser le savoir de l’humanité, à le rendre accessible au plus grand nombre, à limiter le pouvoir des monopoles… Ce n’est pas un délire d’anti-capitalistes. Aujourd’hui l’Open-Source est financé par les grandes firmes très profitable. Parmi les grosses firmes modernes, une des première à s’y impliquer à été Google, mais aujourd’hui toutes y contribuent plus ou moins. On ne peut pas dire, l’Open-Source a gagné la guerre… du moins celle des logiciels serveurs professionnels. Il a du mal à percer dans le grand public et surtout dans le hardware mais la bataille est lancée. (Le hardware, c’est la partie bas niveau, la conception des puces de leurs drivers et des micro-logiciels.) Les choses pourraient évoluer rapidement avec RiscV qui est soutenu à la fois par les majors américaines (pour maitriser la sécurité et rassurer leurs clients) et par la Chine (Pour des raisons de brevets/sanctions).
On compte sur vous pour nous soutenir et pour faire progresser l’Open-Source dans la maison du particulier. Il y a du travail à faire.