Enjeux économiques de l’open-source

Pour les produits open-source, les plans sont disponibles gratuitement, et sans restriction de copyright (enfin il en existe, mais il est permissif). La fabrication et la réplication des logiciels étant relativement simple, les logiciels open-source sont de facto gratuits. Alors il est commun de penser qu’ils n’ont pas de modèle économique ou alors un ultra low-cost et la qualité qui va avec. Or il n’en est rien et nous allons essayer de vous l’expliquer ici.

Pour comprendre cet article, il est utile de savoir ce qu’est l’open-source.

Historique

Au tout départ, les logiciels étaient développés par des chercheurs pour des super-calculateurs. Les travaux de recherches étaient donc publiés dans des revues de recherche. Alors on y disposait pas forcément du code, mais de l’essentiel de l’état de l’art. Ensuite, les grandes entreprises ont produit des ordinateurs industriels. Et il était alors encore souvent de mise de partager les codes sources pour résoudre les défis. Mais très vite, les entreprises éditrices ont voulu y mettre des brevets et garder secret le code. Seulement certains chercheurs ce sont révoltés contre ces pratiques mercantiles. À leur tête, Richard Stallman, a lancé la Free Software Foundation pour promouvoir le mouvement open-source par idéalisme.

Les financements de la recherche académique

À ses débuts l’open-source a donc été financé, par des chercheurs en poste payés par des finances publiques. Cela entrait au moins pour partie dans le cadre de leurs recherches. Cette pratique est toujours actuelle surtout pour développer des briques qui s’insèrent dans les logiciels open-source. En fait seuls les logiciels open-source permettent aux chercheurs de comprendre le fonctionnement du logiciel et d’y trouver les optimisations possible et surtout de tester des modifications qui sinon restent théorique. Or comme disait Albert Einstein « La théorie, c’est quand on sait tout et que rien ne fonctionne. La pratique, c’est quand tout fonctionne et que personne ne sait pourquoi.« . Autrement dit, sans mise en pratique, on peut se tromper beaucoup. En exemple de cette recherche on a beaucoup de fonctionnalités avancées du logiciel Gimp.

Les néophytes, main d’œuvre gratuite

Bien sûr au-delà de la recherche, c’est aussi tout le milieu étudiant, et même jeune, qui a très vite trouvé dans l’open-source le seul moyen abordable d’acquérir une compétence informatique importante. On a donc nombre de bidouilleurs, qui sur leurs temps libres, par passion, par challenge, ou pour se former (un peu des 3), ont appris avec l’open-source et a un moment ont été amenés a implémenter un logiciel ou tout du moins à le faire évoluer ou à le corriger. Dans les exemple célèbre, on a la création de Linux, l’OS de référence, par Linus Torvald.

Si c’est certes une main d’œuvre gratuite, elle en tire aussi un large bénéfice par une formation gratuite et c’est la première à bénéficier du fait que ces logiciels sont gratuits. Bien sûr certains ne font que profiter. Mais qu’importes, un jour l’occasion se présentera peut-être pour eux. C’est aussi et surtout les meilleurs ambassadeurs, ceux qui feront la promotion de l’open-source toute leur vie, ceux qui aideront les néophytes qu’ils croiseront.

Le modèle économique des multinationales

Une fois que ces logiciels sont nés de la main de bénévoles, des entreprises, ont voulu en profiter gratuitement évidemment sans rien dire. Seulement, elles se sont vite rendu compte que les logiciels open-source ne répondaient pas à tous leurs besoins. Elles ont donc eu besoin de lui ajouter quelques fonctionnalités spécifiques. Le problème c’est que si elles ne redonnent pas leurs modifications au logiciel (pour ne pas les donner au concurrent), le logiciel continu d’évoluer sans elles et il apparaît d’autres fonctionnalités qu’elles aimeraient avoir. Il va donc leur falloir régulièrement reprendre le logiciel, le re-modifier pour re-mettre leur bout de code… ce qui a un coût croissant avec le temps. Il apparaît donc moins cher (gratuit en fait), de donner leurs contributions.

Dans un deuxième temps elles se sont aperçu, qu’au final, les logiciels qu’elles développent en internes, si elles les mettent en open-source, d’autres pourraient les leurs améliorer gratuitement. Elles ont donc pris le risque de donner à leurs concurrents leur travail. Et, bien souvent, c’est leurs concurrents qui contribuent le plus à leurs logiciels. Elles ont été jusqu’à racheter des entreprises éditrices de logiciels pour mettre leurs logiciels en open source. C’est comme cela que sont apparût les monstres que sont Firefox ou LibreOffice. C’est même devenu parfois un modèle économique de certaines startups : Faire un logiciel propriétaire bien mais non rentable économiquement et se faire racheter par une grosse entreprise.

Parfois, le but de mettre un logiciel en open-source, est simplement de devenir un standard. Du moins d’éviter d’avoir a se battre sur un marché qui serrait autrement trop complexe a rendre rentable ou un marché où l’on arrive trop tard. C’est le cas d’Androïd (Système d’exploitation pour smartphone concurrent d’Apple) et de Google Chrome (Navigateur web qui sert de base entre autre à Windows Edge). Et, plus généralement, de nombreux protocoles ou formats sortent en open-source pour s’imposer comme WebP (format d’image). C’est d’ailleurs devenu la norme pour les langages informatiques (ce qui n’était pas le cas autrefois).

Le modèle économique des majors du logiciel libre

Vous l’aurez compris, les gros logiciels open-source se retrouvent assez rapidement en position de domination sur leur marché. De ce fait ils attirent les financements de grosses d’entreprises qui y trouvent un intérêt.

C’est notamment le cas de l’OS Linux qui tourne sur quasiment tous les serveurs du monde. Linux atteint un stade ou les entreprises productrices de périphériques qui veulent que leurs périphériques soient utilisés fournissent aussi les pilotes (drivers). On a le même phénomène avec Windows. On retrouve d’ailleurs la même chose à l’autre bout de la chaîne ou certains jeux se mettent à proposer une version Linux pour attirer des joueurs. Dans un cas comme dans l’autre ils peuvent être amenés à proposer des modifications au-delà du driver dans le noyau Linux. Linux a atteint un tel stade, qu’il est si optimisé et puissant, que même Windows, éditeur d’un OS concurrent l’utilise majoritairement sur son cloud et est devenu le principal contributeur de Linux. Imaginez, c’est un peu comme si Peugeot (Stellantis) contribuait gratuitement à la conception des Renault.

Une part importante des revenus des logiciels open-source reste tout de même le don. Mais il ne faut pas voir le don, comme de la charité. C’est bien souvent un moyen de défiscalisation intéressé des entreprises. Une manière de financer un logiciel qui leur est utile tout en réduisant leur impôt sur les sociétés. À côté de ces dons d’entreprises, il y a bien sûr les dons de particuliers essentiellement pour remercier des services gratuits rendus par le logiciel pendant des années.

Mais la principale source de revenus de ces gros logiciels se trouve plutôt dans la vente de conseils d’expert. En effet, ces gros logiciels sont souvent complexes à installer, configurer et optimiser. Or ceci est nécessaire pour les grosse charges. Qui d’autres que les éditeurs du logiciel maîtrisent mieux les spécifications? On peut prendre en exemple nombre d’éditeur de distribution Linux (Red-Hat, Ubuntu, Suse) ou des bases de données comme MariaDB. Au-delà de la simple configuration il peut y avoir l’adaptation du logiciel au besoin (customisation dans le jargon), i.e. le développement de module pour des besoins spécifiques.

Évidement, il y a aussi tous les à côté comme les conférences, ou la vente de gadgets (goodies) qui complètent les revenus marginalement.

Les « petits » logiciels

Pour les petits logiciels, qui n’ont pas atteint une taille critique, cela peut-être plus dur de s’en sortir financièrement. Et généralement, alors, il y a une part importante de bénévoles qui donnent du temps lors de leur temps libre (en plus de leur travail). Parfois, cela va un peu trop loin. Mais dans le domaine des logiciels propriétaires on a aussi des salariés payés au lance-pierre plus ou moins arnaqués. Ils sont certes payés mais pour un boulot qu’ils n’aiment pas. En fait pour les logiciels propriétaires, l’entreprise fait plus souvent faillites faute d’atteindre la taille critique, car en plus elle a des charges et un ou plusieurs salaires à payer.

Et dans ces petits logiciels il y a des projets naissant et d’autres sans ambitions particulières. Il y a aussi beaucoup de projets anciens et pas toujours si petits mais qui sont plus, pardonnez-moi le terme, des délires d’informaticiens. Le mot est peut-être un peu exagéré, mais disons qu’ils n’ont pas vraiment d’intérêt économique ou social. Leur intérêt réside essentiellement dans le défi, le plaisir, l’histoire voire un peu de la recherche fantasmatique, peu importe comment vous l’appellerez. Je pense notamment à Haiku qui est la poursuite du feu BeOS. Au départ le projet avait un certain intérêt commercial puisque certains logiciels étaient développés pour cet OS et que les adapter pour les autres étaient une tâche trop complexe. Mais aujourd’hui, cet OS est plus que confidentiel. Et malgré cela il trouve parfois des dons de passionnés pour financer un développeur à plein temps (en plus des passionnés qui donnent leur temps).


À côté de cela, il y a toutefois parfois, un vrai problème de financement pour quelques rares logiciels souvent faute de communication ou d’avoir atteint une taille critique. Cela a été en partie le cas pour OpenSSL, et suite à la faille Heartbleed, il y a eu une prise de conscience du problème. Alors aujourd’hui, petit logiciel peut galérer, mais si votre logiciel open-source galère et qu’il est utile, il devrait trouver un modèle.

La sécurité

Une idée tenace, est que pour la sécurité, il vaut mieux garder le code-source fermé, cela complique d’autant la recherche de failles. L’idée de base, est vrai. Si vous avez les plans d’un bâtiment, vous saurez facilement comment y entrer. Mais on oublie de dire, que dans les logiciels, dans tous les cas, on peut faire autant de tentative d’intrusion que possible. Ce n’est donc pas comparable avec un casse de banque. Et a ce moment, si vous gardez secrète une porte, il y aura forcément quelqu’un pour la trouver. L’exemple le plus parlant est celui des jeux vidéos. Dès qu’un jeu vidéo sort, il faut peu de temps pour que les joueurs essayent tout quitte à mourir autant de fois qu’il le faudra. Ils vont vite trouver les « easter-eggs« . De même les hackers trouvent rapidement les moyens de contourner les sécurités des jeux. Imaginez alors une équipe de hackers qui, si elle trouve une faille, peut en tirer beaucoup d’argent. Il existe entre autre une technique : le fuzzing pour trouver les failles cachées.

Mais comme le code open-source n’est pas caché, il invite a avoir du code propre. Et c’est tout simple mais cela limite grandement les erreurs. En plus si vous laisser traîner des failles, vous aurez en quelque sorte la « honte ». Et le monde de l’open-source est justement assez dur. Cela pose parfois des problèmes éthiques. Mais cela a le mérite, de pousser les développeurs à faire attention. Parce que dans le monde propriétaire, la qualité est beaucoup plus rarement là. Généralement, la société éditrice est payée aux fonctionnalités et non à la qualité ou à l’efficacité du code. Bien sûr pour les gros budgets, c’est moins le cas.


Enfin, comme le code est open-source il est relu et testé un nombre incalculable de fois il y a toujours quelqu’un pour trouver les problèmes de sécurité les mieux cachés. Et c’est d’autant plus vrai que le logiciel est important bien entendu (mais dans le propriétaire, c’est pareil). Le cas d’école c’est le cas de la faille récente XZ. Il s’agit d’une faille introduite volontairement pour attaquer SSH. Mais cette faille exploite un jeu de donner d’une dépendance. Une faille très difficile à détecter dans le code (eh oui, il a fallu qu’il la dissimule bien pour qu’elle ne soit pas vue). Mais la faille ralentissait la connexion SSH de quelques millisecondes. Une personne a réussi à détecter qu’il y avait un problème. Parce que le logiciel était open-source, elle a pu remonter seul la chaîne et comprendre le problème. Si le logiciel n’avait pas été open-source, la remontée du problème aurait été ignoré par la société éditrice du logiciel. Il n’aurait pas pu le faire lui-même. On peut imaginer une réponse du style : « Monsieur, quel est le problème d’un retard quelques millisecondes aux connexions? Les CPU et le réseau sont de plus en plus rapides, dans un an ce sera rattrapé. Ce n’est en rien une faille de sécurité, le jour ou vous aurez un vrai problème venez nous voir. Ah je vous jure il y a des gens qui ont des idées tordues. » Et il faut vraiment vouloir chercher la petite bête pour s’intéresser à ces quelques millisecondes perdues.

Ce qui est extraordinaire dans l’open-source c’est la vitesse de détection des failles et le degré de qualité obtenu dans le code. C’est économiquement impossible d’atteindre le même niveau de qualité pour une entreprise avec des finances raisonnables.

Reste que la vraie faille principale, de l’open-source, est que, comme il devient un standard, il est utilisé comme dépendance dans beaucoup d’autres projets plus gros. Et donc une faille sur une brique élémentaire (Comme XZ), peut avoir un impact monstre.

C’est pourquoi les « bug-bounty » on été mis en place. Ces programmes récompensent grassement les personnes qui trouvent des failles et qui les signalent à l’éditeur. Cela limite l’intérêt pour eux d’aller les donner aux pirates. La moindre faille est souvent rémunéré plus de 1 000 euros et on peut monter au million. Seulement ne rêvez pas, il y a de ce fait des sociétés de chercheurs en sécurité qui se chargent de trouver les failles et se rémunèrent avec les « bug-bounty ». Donc statistiquement, une faille à 1 000 000 coûte plusieurs mois de recherches à une équipe de chercheurs pointus très bien payés. Mais parfois (rarement) on a des surprises.

Les licences

Les logiciels libres ne sont pas a proprement parlés sans licences même si dans l’esprit ils sont opposés a l’esprit de licence. La licence s’est imposé a eux pour exister au pays de l’oncle Sam (ils ont essayé, ils avaient des problèmes).

Les licences libre sont basées sur les 4 libertés du logiciel libre

  • la liberté d’utiliser le logiciel.
  • la liberté de copier le logiciel.
  • la liberté d’étudier le logiciel.
  • la liberté de modifier le logiciel et de redistribuer les versions modifiées.

De ses libertés découlent 2 grandes familles de licences open-source:

  • BSD (Berkeley Software Distribution) : Elle respecte stricto-sensu les 4 libertés. Elle est la plus libre. C’est la plus appréciée des grandes entreprises lucratives souvent peu amicales de l’open-source par ailleurs. Cela leur permet de reprendre le logiciel de le modifier un peu et de le vendre très cher à leur guise. C’est à la base du système d’exploitation des Apple (XNU qui comporte des parties modifiées du noyau de FreeBSD). On la trouve donc beaucoup sur des projets très peu utilisables par les utilisateurs finaux.
  • GPL (GNU Public Licence) : Elle respecte toutes les libertés sauf qu’elle complète la 4°. Si l’on redistribue le logiciel modifié on doit publier les modifications effectuées. De ce fait elle n’est pas reconnue comme libre par les puristes, mais elle est tout de même très appréciée des libristes. Elle est sans doute plus équitable/humaine au sens qu’elle empêche le « vol ». Elle est à la base de la plupart des gros logiciels grand public (Linux & Cie).
  • AGPL (GNU Affero General Public License) ou SSPL (Server Side Public License) : Cela concerne les serveurs, et cela rajoute des obligations quand le service est accessible au public. C’est une nouvelle famille de licence qui se développe une peu, elle permet a une entreprise proposant un service en ligne d’éviter d’être concurrencé trop facilement.

Chaque logiciel Open-Source peut avoir sa licence. La licence Apache est aussi connue, car la fondation Apache héberge beaucoup de projets open-source… souvent quand ils sont plus ou moins en perditions (disons plus rentable économiquement) mais pas toujours.

Il y a un éternel débat, ou devrais-je dire une guerre commerciale entre l’open-source et le propriétaire avec parfois du bashing…

Conclusion

On entend souvent dire, que parce que le logiciel est gratuit, il ne rémunère pas. On vient de montrer qu’il n’en ai rien. Les salaires dans l’Open-Source, sont tout aussi importants que dans le propriétaire (Linus Torvald touche un salaire de plus d’un million de dollars par an)…

Les logiciels Open-Source sont certainement aussi bien financés que ceux propriétaire et la qualité de leur code y est en moyenne supérieur.

Cela ne veut pas dire, que l’on deviendra riche à développer un logiciel open-source, mais on le fait avant tout pour le plaisir et parce que l’on sait, que l’on est pas la pour faire une application à la chaîne vite fait mal fait.

Pour aller plus loin je vous invite, si vous ne l’avez déjà fait, à lire l’article sur les raison pour lesquels, vous, néophytes auriez intérêt à choisir l’open-source en cliquant sur le bouton ci-contre.

2 réflexions sur “Enjeux économiques de l’open-source”

  1. Fautes de grammaire et d’orthographe :

    enfin il en existe mais il est permissif -> enfin il en existe, mais il est permissif
    la réplication des logiciel -> la réplication des logiciels
    les logiciels open-source sont de facto gratuit -> les logiciels open-source sont de facto gratuits
    A leur tête -> À leur tête
    A ses débuts -> À ses débuts
    dans le cadre de leurs recherche -> dans le cadre de leurs recherches
    En fait seul les logiciels open-source -> En fait seuls les logiciels open-source
    permettent aux chercheur -> permettent aux chercheurs
    d’y trouver les optimisation -> d’y trouver les optimisations
    de tester des modification -> de tester des modifications
    on a beaucoup de fonctionnalité avancées -> on a beaucoup de fonctionnalités avancées
    Bien sûr au delà -> Bien sûr au-delà
    etc., j’arrête, il y en a trop et ça gâche la lecture. Conseil : utiliser Grammalecte, très pratique.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Panier