
« La plupart des gens pensent que la durabilité des logiciels libres est un problème difficile à résoudre. En tant que développeur open source moi-même, ma propre perspective sur ce problème était plus optimiste : je crois au modèle de don, pour sa simplicité et sa possibilité d'extension. » Dans ses écrits, André Staltz explique :
« J'ai récemment rencontré d'autres développeurs open source qui gagnent leur vie grâce aux dons, et ils m'ont aidé à élargir ma perspective. À Amsterdam.js, j'ai entendu Henry Zhu parler de la durabilité dans le projet Babel et au-delà, et le tableau était plutôt sombre. Plus tard, au cours du petit-déjeuner, Henry et moi avons eu une conversation plus approfondie sur ce sujet. À Amsterdam, j'ai également rencontré Titus, qui maintient le projet Unified à plein temps. En rencontrant ces personnes, j'ai confirmé ma croyance dans le modèle de don pour la durabilité. Ce modèle fonctionne. Mais ce qui m'a vraiment frappé, c'est la question suivante : est-ce juste ?
« J'ai décidé de recueillir des données auprès d'OpenCollective et de GitHub, et de prendre un échantillon plus scientifique de la situation. Les résultats que j'ai trouvés étaient choquants : il y avait deux projets open source clairement durables, mais la majorité (plus de 80 %) des projets que nous considérons habituellement comme durables reçoivent en fait des revenus inférieurs aux normes du secteur, voire au seuil de pauvreté.
« J'ai choisi des projets open source populaires dans OpenCollective, et j'ai sélectionné les données sur les revenus annuels de chacun d'entre eux. J'ai ensuite consulté leurs dépôts GitHub, afin de mesurer le nombre d'étoiles et le nombre de contributeurs "à temps plein" au cours des 12 derniers mois. Parfois, j'ai également consulté les pages Patreon pour les quelques mainteneurs qui en avaient une, et j'ai ajouté ces données au revenu annuel du projet. Par exemple, il est évident qu'Evan You reçoit de l'argent sur Patreon pour travailler sur Vue.js. Ces points de données m'ont permis de mesurer : la popularité du projet (un indicateur proportionnel du nombre d'utilisateurs), le revenu annuel de l'ensemble de l'équipe et la taille de l'équipe. »
Il est difficile de déterminer exactement le nombre d'utilisateurs de chaque projet, notamment parce qu'il peut s'agir d'utilisateurs transitifs, qui ne savent pas qu'ils utilisent le projet. C'est pourquoi André Staltz a choisi les étoiles GitHub comme mesure suffisante pour le nombre d'utilisateurs, car elles comptent les personnes (contrairement au nombre de téléchargements qui peut inclure les ordinateurs de CI) qui sont conscientes de la valeur du projet.
Il a scanné 58 projets au total, du plus populaire au moins populaire. La popularité est très importante pour échelonner les dons, et il s'avère que très peu de projets ont une popularité suffisante pour obtenir une compensation équitable. En d'autres termes, parmi ces cinquante projets les plus populaires, la majorité d'entre eux seraient en dessous des seuils de durabilité.
« Cet ensemble de données pourrait être biaisé en faveur des projets JavaScript sur OpenCollective, mais le choix de l'échantillonnage d'OpenCollective est dû au fait qu'il fournit des données facilement transparentes sur les finances de divers projets. Je tiens à rappeler au lecteur l'existence d'autres projets open source populaires tels que Linux, nginx, VideoLAN, et d'autres. Il serait bon d'intégrer les données financières de ces projets dans cet ensemble de données », déclare André Staltz.
À partir des données de GitHub et d'OpenCollective, il a pu calculer le montant des revenus annuels d'un projet pour chaque contributeur « équivalent temps plein ». Il s'agit essentiellement de leur salaire. Ou, pour mieux dire, il s'agit du montant de leur salaire via les dons s'ils travaillaient exclusivement sur le projet open source, sans aucun revenu complémentaire. Il est probable qu'un nombre non négligeable de créateurs et de mainteneurs ne travaillent qu'à temps partiel sur leurs projets. Ceux qui travaillent à temps plein complètent parfois leurs revenus par des économies ou en vivant dans un pays où le coût de la vie est moins élevé, ou les deux.
Ensuite, sur la base de la dernière enquête StackOverflow sur les développeurs, nous savons que le bas de l'échelle des salaires des développeurs se situe autour de 40 000 dollars, tandis que le haut de l'échelle des salaires des développeurs est supérieur à 100 000 dollars. Cette fourchette représente la norme industrielle pour les développeurs, compte tenu de leur statut de travailleurs du savoir, dont beaucoup vivent dans des pays de l'OCDE. Cela a permis à André Staltz de classer les résultats en quatre catégories :
- BLEU : salaire à 6 chiffres
- VERT : salaire à 5 chiffres conforme aux normes de l'industrie
- ORANGE : salaire à 5 chiffres inférieur aux normes de notre secteur d'activité
- ROUGE : salaire inférieur au seuil de pauvreté officiel des États-Unis
La valeur médiane, cependant, est de 1,22 dollars/étoile. La taille de l'équipe est également importante pour la durabilité : plus l'équipe est petite, plus elle est susceptible de soutenir ses mainteneurs. Le don médian par an est de 217 dollars, ce qui est important si l'on se place au niveau individuel, mais inclut en réalité le parrainage d'entreprises qui agissent ainsi également à des fins de marketing. Le graphique suivant montre l'évolution des revenus en fonction de la popularité.
Popularité contre équité
Alors que la popularité est la clé de la durabilité verte et bleue, il existe des produits populaires en rouge, comme Prettier, Curl, Jekyll, Electron. Cela ne signifie pas que les personnes travaillant sur ces projets sont pauvres, car dans plusieurs cas, les mainteneurs ont des emplois dans des entreprises qui autorisent les contributions open source.
Ce que cela signifie, cependant, c'est qu'à moins que les entreprises ne jouent un rôle actif en soutenant l'open source par un financement important, la plupart des responsables de l'open source se retrouveront dans une situation de grave sous-financement. Sur la base des seuls dons, l'open source est viable (dans le respect des normes industrielles) dans une situation idéale : lorsqu'un projet populaire, avec une équipe suffisamment petite, sait comment rassembler un financement important de la part d'une foule de donateurs ou d'organisations de parrainage. La durabilité équitable est sensible à ces paramètres.
En juin, le projet GNOME a reçu un coup de pouce de 10 000 dollars de Microsoft. Alors que certains analystes estiment qu’il s’agit d’un joli coup de pouce financier et un "merci" d'une grande entreprise à un projet open source populaire et largement utilisé, d’autres par contre voient dans ce choix une conspiration voire même une prise de contrôle sur le projet GNOME.
Microsoft a créé ce fonds pour « fournir des parrainages de 10 000 dollars à des projets open source » dans le cadre d'un effort visant à « redonner » aux communautés et aux projets sur lesquels ses employés comptent dans leur travail. Le Fonds FOSS de Microsoft offre un moyen direct aux ingénieurs de Microsoft de participer au processus de nomination et de sélection afin d'aider les communautés et les projets qui les passionnent. « L'Open Source permet aux produits et services Microsoft d'offrir à nos clients le choix, la technologie et la communauté », déclare Microsoft.
Un projet du Microsoft Open Source Programs Office, le FOSS Fund fournit des parrainages de 10 000 $ à des projets open source sélectionnés par les employés de Microsoft. Afin de favoriser une culture de contribution ouverte au sein de Microsoft, les employés peuvent sélectionner des projets pour le fonds lorsqu'ils participent à des projets qui ne sont pas régis par Microsoft.
Les projets sélectionnés pour le Fonds FOSS de Microsoft reçoivent 10 000 dollars de Microsoft, choisis par tous les contributeurs open source de Microsoft qui participent à la sélection. Les nominations sont acceptées tous les jours, et les projets sont sélectionnés tous les mois. « Microsoft est fier de participer plus que jamais aux communautés open source, que ce soit en contribuant à des projets, en publiant de nouveaux projets open source ou en utilisant l'open source pour que nos produits et services fonctionnent mieux pour le monde et nos clients », déclare Microsoft.
Pour André Staltz, si Microsoft GitHub veut sérieusement contribuer au financement de l'open source, elle devrait joindre le geste à la parole : donner au moins 1 milliard de dollars aux projets open source. Même un simple 1,5 million de dollars par an serait suffisant pour que tous les projets de cette étude deviennent verts. Le fonds de contrepartie des sponsors de GitHub n'est pas suffisant, il donne au maximum 5 000 dollars par an à un mainteneur, ce qui n'est pas suffisant pour le faire passer du seuil de pauvreté à la norme industrielle.
Pour l’entreprise fondée par Bill Gates, le Fonds FOSS pourra aider à se connecter à un nouvel ensemble de projets qu’elle n'aurait peut-être pas pensé à financer dans le passé. « Alors que Microsoft et ses nombreuses équipes sponsorisent tout, des conférences sur l'open source à la contribution à des fondations telles que l'Open Source Initiative (OSI) et à des groupes industriels tels que la Linux Foundation, nous espérons que le Fonds FOSS pourra nous aider à nous connecter à un nouvel ensemble de projets que nous n'aurions peut-être pas pensé à financer dans le passé, en apportant une valeur réelle aux communautés et aux projets qui contribuent à faire fonctionner les produits et services Microsoft et nos clients ».
Étant donné que la visibilité est fondamentale pour la durabilité axée sur les dons, les projets d'« infrastructure invisible » sont souvent dans une situation bien pire que les projets visibles. Par exemple, Core-js serait moins populaire que Babel, bien qu'il s'agisse d'une dépendance de Babel.
Certaines solutions proposées consistent à faire descendre les dons des projets les plus connus vers les moins connus, en s'appuyant sur des outils tels que BackYourStack et le nouvel aperçu des contributeurs de GitHub. Cela fonctionnerait si les projets connus avaient un énorme surplus à partager avec des dépendances transitives. Cela n'est guère possible, seul Vue.js a un surplus suffisant à partager, et il ne pourrait le faire qu'avec 3 ou 4 autres développeurs. Vue.js est l'exception, les autres projets ne peuvent pas se permettre de partager leurs revenus, car cela entraînerait une mauvaise réception pour toutes les personnes impliquées. Dans le cas de Babel et de Core-js, il n'y a pas beaucoup de surplus à partager en avant.
D’un autre côté, les mainteneurs de bibliothèques de niveau inférieur reconnaissent la nécessité de s'associer à des projets plus visibles ou même de fusionner des projets afin d'augmenter la visibilité globale, la popularité et donc le financement. C'est le cas d'Unified de Titus, qui est un projet dont vous n'avez peut-être pas entendu parler, mais Unified et ses nombreux paquets sont utilisés dans MDX, Gatsby, Prettier, Storybook et bien d'autres.
Il n'est pas non plus vrai que les projets populaires sont financièrement mieux lotis que leurs dépendances moins populaires. Prettier (32 000 étoiles) utilise Unified (1 000 étoiles) comme dépendance, mais Unified a un revenu annuel supérieur à celui de Prettier. En fait, bon nombre des projets populaires qui dépendent d'Unified reçoivent moins de financement par membre d'équipe. Mais Unified lui-même reçoit toujours des revenus inférieurs aux normes de l'industrie, et n'est pas en mesure de réduire (ou d'augmenter ?) ce financement.
D'autres fois, il n'est pas facile de dire que lorsqu'un projet A utilise un projet B, il devrait nécessairement faire un don à B, car il se peut que B utilise également A ! Par exemple, Babel est une dépendance de Prettier, et Prettier est une dépendance de Babel. Il est probable que de nombreux projets couverts par cette étude ont un réseau complexe de dépendances entre eux, qu'il devient difficile de dire comment l'argent doit circuler au sein de ces projets.
La somme totale d'argent investie dans l'open source n'est pas suffisante pour tous les mainteneurs. Si nous additionnons tous les revenus annuels de ces projets dans cet ensemble de données, nous obtenons 2,5 millions de dollars. Le salaire médian est d'environ 9 000 dollars, ce qui est inférieur au seuil de pauvreté. Si l'on divise cet argent en parts égales, on obtient environ 22 000 $, ce qui est toujours inférieur aux normes du secteur. Le problème fondamental n'est pas que les projets open source ne partagent pas l'argent reçu. Le problème est que, en nombre total, l'open source ne reçoit pas assez d'argent. 2,5 millions de dollars, ce n'est pas assez. Pour mettre ce chiffre en perspective, les startups reçoivent généralement beaucoup plus que cela.
Tidelift a reçu 40 millions de dollars de financement, pour « aider les créateurs et les mainteneurs de logiciels libres à être rémunérés équitablement pour leur travail » (citation). L'équipe est composée de 27 personnes, dont certains ex-employés de grandes entreprises (telles que Google et GitHub). Ils ne reçoivent probablement pas le niveau inférieur des salaires. Pourtant, bon nombre des projets open source qu'ils présentent sur leur site Web se situent en dessous du seuil de pauvreté en ce qui concerne les revenus provenant de dons.
En fait, nous ne savons pas combien Tidelift donne aux mainteneurs de ces projets, mais le prix de leur abonnement est très élevé. L'opacité de la structure des prix et des coûts a...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.