Ce qui nous pousse au Libre

Si certains logiciels libres sont réputés à la fois pour leur efficacité et leur esthétique fonctionnelle (qu’on nommera design, parce que c’est ainsi), il faut reconnaître qu’ils ne font pas la majorité.

Certains designers aimeraient apporter leur pierre à l’édifice libriste, et rendre plus attractifs et fonctionnels les logiciels libres, mais la route semble encore bien longue comme l’a récemment constaté Maiwann. Le dialogue entre développeurs de logiciels libre et designers semble cependant s’amorcer sous les meilleurs augures, d’abord en identifiant clairement les besoins mais aussi en proposant des solutions d’interactions. Dans ce billet, Marien Fressinaud apporte une réponse de développeur et identifie, à son tour, un espace de convergence. Cet article a été initialement publié sur son blog sous licence « CC BY ».

Marien, développeur et membre de Framasoft.

Il y a quelques jours, Maiwann proposait dans un article de réconcilier designers et logiciels libres. L’article ne manque pas d’intérêt, ne serait-ce que parce qu’il identifie les freins à la collaboration des designers au libre et suggère des actions concrètes pour y remédier.

Bien que je partage bon nombre des constats, je souhaitais le « compléter », cette fois en adoptant le point de vue du développeur que je suis. En effet, il est un sujet que Maiwann n’aborde quasiment pas : pourquoi faire du logiciel libre ? Pour ma part, j’aurais en effet aimé mieux comprendre ce qui motive des designers à vouloir contribuer au Libre. En guise d’effet miroir, j’essaie donc dans cet article d’envisager les raisons qui peuvent inciter un développeur à le faire, sans prétendre être exhaustif. Cette mise en perspective repose sur mes expériences personnelles concernant FreshRSS, Lessy, les actions menées au nom de Framasoft ou encore à travers les écrits que j’ai pu lire à droite à gauche.

Apprentissage

Dans l’article de Maiwann, la seule référence à une potentielle motivation se trouve au détour d’un paragraphe :

Lors de nos études, […] alors que nous cherchons à nous entraîner, sur notre temps libre ou pour des projets de fin d’année, nous nous plaignons de ne connaître aucun développeur avec qui co-créer des sites ou logiciels.

Voilà une raison qui devrait parler à bon nombre d’étudiants et d’étudiantes ! Appliquer ce que l’on a pu apprendre en cours et donc, par extension, apprendre par la pratique est souvent moteur chez les développeurs. J’ai moi-même développé un certain nombre de programmes avec cette simple motivation. Par exemple, Minz fut ma tentative de comprendre le fonctionnement interne des frameworks web. FreshRSS a été l’occasion de travailler véritablement en communauté, et donc en équipe collaborant à distance et de façon asynchrone. Sur Lessy, j’ai pu consolider tout un paquet de connaissances que j’ai ensuite pu proposer et appliquer au boulot. Le logiciel libre est une formidable source d’apprentissage que je recommande fortement à toutes et tous.

Cela étant dit, considérer l’apprentissage comme seul moteur dans le développement d’un logiciel libre est bien entendu extrêmement réducteur et j’aurais tendance à dire que ce n’est pas la raison majeure (bien qu’il s’agisse probablement de la porte d’entrée principale pour bon nombre d’entre nous). Cherchons donc ailleurs d’autres raisons qui nous poussent, nous développeurs et développeuses, à produire du logiciel libre.

Plaisir, apprentissage et logiciel libre : le Serious Gaming (et Framinetest) en sont un bon exemple.

Plaisir

Dans le prologue du bouquin L’Éthique hacker, Linus Torvalds explique les motivations des hackers derrière le système d’exploitation Linux :

La raison pour laquelle les hackers derrière Linux se lancent dans quelque chose, c’est qu’ils trouvent ça très intéressant et qu’ils veulent le partager avec d’autres. Tout d’un coup, vous avez le plaisir parce que vous faites quelque chose d’intéressant et vous avez aussi le pendant social.

Il nous dit plusieurs choses ici. Tout d’abord, le développement d’un tel système relève avant tout du plaisir. Et il est vrai qu’on peut se demander ce qui pousse des milliers de développeurs à partager leurs savoirs et leur temps, généralement de façon gratuite, si ce n’est le plaisir de le faire ? D’ailleurs Pekka Himanen (l’auteur du bouquin) cite un peu plus loin Éric Raymond, à l’origine de la popularisation du terme « open source » (j’aurai l’occasion de revenir sur ce terme plus tard) :

La conception de logiciel et sa mise en œuvre devraient être un art jubilatoire, et une sorte de jeu haut de gamme. Si cette attitude te paraît absurde ou quelque peu embarrassante, arrête et réfléchis un peu. Demande-toi ce que tu as pu oublier. Pourquoi développes-tu un logiciel au lieu de faire autre chose pour gagner de l’argent ou passer le temps ?

On y retrouve la notion de plaisir à travers le « jeu haut de gamme ». Je prends souvent l’exemple du Sudoku ou de la grille de mots-croisés : il n’y a, à priori, aucune raison de remplir ces cases de chiffres ou de lettres, si ce n’est le plaisir de résoudre un problème, parfois complexe. Je trouve personnellement que le développement de logiciel peut amener à un état de satisfaction similaire lorsqu’on se trouve face à un problème et qu’on arrive finalement à le résoudre après plusieurs heures jours semaines de recherche.

D’un point de vue personnel, j’ai toujours été attiré par les domaines de « création ». J’ai immédiatement accroché au développement lorsque j’ai découvert que créer un site web était aussi simple que créer un fichier texte avec quelques mots dedans. Les balises HTML ? – Un simple jeu de Lego®. Les CSS ? – Quelques directives de base à connaître et on arrive rapidement à quelque chose de totalement différent. Un serveur web ? – Un ordinateur avec un logiciel spécifique qui tourne dessus. Un bug ? – Une « chasse » durant laquelle on déroule le programme qui nous semblait si logique au moment de l’écrire (mais qui l’est maintenant beaucoup moins !). Pour moi, la beauté de l’informatique réside dans sa simplicité et sa logique : il y a un véritable plaisir à comprendre comment toutes ces petites boîtes s’agencent entre elles et que tout devient plus clair.

L’espace Logiciels Libres, Hackers, Fablab de la fête de l’Huma 2016.

Partage

Si l’on s’en tient aux notions d’apprentissage et de plaisir, il n’y a rien qui distingue le logiciel libre du logiciel propriétaire. Vous pouvez très bien apprendre et éprouver du plaisir en développant du code fermé. Il nous faut revenir à la citation de Torvalds pour commencer à percevoir ce qui les différencie :

[…] ils veulent le partager avec d’autres.

Le partage : on a là une valeur fondamentale du logiciel libre qui ne trouve pas véritablement son pendant du côté du logiciel propriétaire. Bien que j’aie plus de mal à identifier clairement ce qui peut motiver l’être humain à partager ses savoirs, c’est quelque chose que je ressens effectivement. Cet aspect coopératif — Torvalds parle d’un « pendant social » — peut créer ou renforcer des liens avec d’autres personnes ce qui rend cette activité profondément humaine.

Partager, c’est donc transmettre. Transmettre à une communauté, donner les clés pour que celle-ci soit indépendante. Partager ses savoirs qui permettront peut-être à d’autres de bâtir autre chose par-dessus. Cela permet aussi de créer du lien humain, rencontrer des personnes et ouvrir ses perspectives en créant son propre réseau. C’est aussi s’offrir un coin de canapé quand on voyage. Je me suis rendu compte assez récemment de ce que m’offrait aujourd’hui cette décision en IUT de partager les petits programmes que je pouvais développer sur mon temps libre. La liberté n’est pas que celle du code.

Il y a certainement une forme de fierté à avoir exploré un domaine le premier, ou développé une application que d’autres vont utiliser (« Quoi ? Ce que j’ai fabriqué de mes propres mains t’est aussi utile ? »). Si cette fierté est par essence un peu narcissique (je suis toujours un peu pénible lorsque je suis cité chez NextInpact ou chez Korben 😇), elle est aussi bénéfique car elle encourage à rendre son travail public et donc… partager encore.

Loin du cliché des hackers à capuche, l’édition 2018 du Toulouse HackerSpace Factory utilise Langue des Signes et police Open-Dyslexie dans son imagerie.

Éthique

On retrouve aussi cette notion de partage dans les écrits de Richard Stallman lorsqu’il nous parle des quatre libertés du logiciel :

Elles sont essentielles, pas uniquement pour les enjeux individuels des utilisateurs, mais parce qu’elles favorisent le partage et la coopération qui fondent la solidarité sociale.

Ces mots, pris du point de vue de Stallman, sont bien évidemment à interpréter sous la dimension éthique (et donc politique) du logiciel libre, ce qui n’est pas forcément le cas de Torvalds (je ne saurais néanmoins l’affirmer). Puisque Stallman est à l’origine du mouvement du logiciel libre, on ne peut évidemment pas enlever l’éthique de son équation ou alors vous obtenez de l’open source (comme il l’explique dans l’article cité plus haut). On peut toutefois raisonnablement penser que les partisans du logiciel libre sont moins nombreux que ceux de l’open source, ce que j’explique par une peur ou un désintérêt envers cet objet politisé.

Je trouve toutefois dommage de ne pas plus s’y intéresser. En effet, la dimension éthique aide à répondre à une question que beaucoup de personnes peuvent se poser : « ce que je fais au quotidien a-t-il du sens ? ». Stallman y répond par la défense et le respect des utilisateurs et utilisatrices :

Le mouvement du logiciel libre fait campagne pour la liberté des utilisateurs de l’informatique depuis 1983.

Ou encore :

Pour qu’on puisse dire d’un logiciel qu’il sert ses utilisateurs, il doit respecter leur liberté. Que dire s’il est conçu pour les enchaîner ?

Si je souhaitais conclure par cet argument, c’est parce qu’il aide à boucler la boucle avec l’article de Maiwann. En effet, en tant qu’UX designer, elle va avoir à cœur de répondre aux besoins de ses utilisateurs et donc d’imaginer des mécanismes pour rendre l’outil le plus utilisable et accessible possible. Aujourd’hui il me semble percevoir dans cette communauté un mouvement de prise de conscience que ces mécanismes doivent respecter (on y revient !) les personnes utilisant le logiciel. Cela est superbement bien illustré par la vidéo « Temps de cerveau disponible » (de la série « (Tr)oppressé » que je recommande vivement) dans laquelle un ancien employé de Google, expert en éthique, témoigne :

Le but est de capter et d’exploiter au maximum l’attention.

Il l’illustre ensuite par le lancement automatique de l’épisode suivant sur Netflix et par le défilement infini sur Facebook ou Twitter (incitant de ce fait à parcourir son fil d’actualité dans son ensemble) ; ces petits riens qui font que nous revenons sans cesse à ces applications et que nous en devenons dépendant⋅e⋅s alors qu’elles n’ont d’intérêt que de nous divertir.

L’un des problèmes que j’identifie aujourd’hui est que le logiciel libre copie beaucoup (trop) ce qui se fait dans le propriétaire, et en particulier chez GAFAM et consorts… jusque dans leurs mécanismes nocifs. On peut ici reprendre l’exemple du mécanisme de défilement infini que l’on retrouve chez Mastodon ou Diaspora (et même sur FreshRSS !). Une certaine forme de dépendance peut donc s’installer au sein même de logiciels libres.

Convergence des buts ?

Les designers peuvent aujourd’hui nous aider, développeurs et développeuses, à repenser l’éthique de nos logiciels en replaçant les usages au centre de nos préoccupations et en imaginant et proposant des mécanismes permettant « d’endiguer » ce flux permanent d’informations qu’il nous faut ingurgiter.

Elles et ils peuvent aussi nous aider à atteindre véritablement nos utilisateurs et utilisatrices en rendant nos outils utilisables et… utilisés. Car un logiciel non utilisable peut-il véritablement être considéré comme Libre ? Je ne peux m’empêcher de faire ici le parallèle avec l’association Liberté 0 qui a pour objet de « sensibiliser et de promouvoir le numérique libre et accessible à toutes et tous ». Dans leur charte, il est explicité :

Les membres du groupe « Liberté 0 » considèrent que la liberté d’exécuter un programme n’a de sens que si celui-ci est utilisable effectivement.

L’association est donc dans cette même démarche de promouvoir l’« utilisabilité » des logiciels, au même titre que les UX designers (mais sous le prisme de l’accessibilité).

N’y aurait-il pas ici une convergence des buts ? N’existe-t-il pas un lieu où nous pourrions nous regrouper tous ensemble pour imaginer des outils autres que ceux issus du « capitalisme de surveillance » ?


Merci à Maiwann pour sa relecture attentive !




Le chemin vers une informatique éthique

Le logiciel « open source » a gagné, tant mieux, c’est un préalable pour une informatique éthique, explique Daniel Pascot, qui a tout au long d’une carrière bien remplie associé enseignement et pratique de l’informatique, y compris en créant une entreprise.

Du côté de nos cousins d’Outre-Atlantique, on lui doit notamment d’avoir présidé aux destinées de l’association libriste FACIL (c’est un peu l’April du Québec) et milité activement pour la promotion de solutions libres jusqu’aux instances gouvernementales.

On peut se réjouir de l’ubiquité du logiciel libre mais les fameuses quatre libertés du logiciel libre (merci Mr Stallman) ne semblent en réalité concerner que les créateurs de logiciels. Les utilisateurs, peu réceptifs au potentiel ouvert par les licences libres, sont intéressés essentiellement par l’usage libre des logiciels et les services proposés par des entreprises intermédiaires. Hic jacet lupus… Quand ces services échappent à la portée des licences libres, comment garantir qu’ils sont éthiques ? La réflexion qu’entame Daniel Pascot à la lumière d’exemples concrets porte de façon très intéressante sur les conditions d’un contrat équilibré entre utilisateurs et fournisseurs de services. Les propositions de charte qu’il élabore ressemblent d’ailleurs plutôt à une liste des droits des utilisateurs et utilisatrices 😉

Chez Framasoft, nous trouvons que ce sont là des réflexions et propositions fort bien venues pour le mouvement de CHATONS qui justement vous proposent des services divers en s’engageant par une charte.

Comme toujours sur le Framablog, les commentaires sont ouverts…



Le logiciel « open source » a gagné, oui mais…

Photo Yann Doublet

Les « libristes »1 se rendent progressivement compte que bien des combats qu’ils ont livrés étaient une cause perdue d’avance car ils sous-estimaient les conséquences de la complexité des logiciels. Quels que soient les bienfaits des logiciels libres, les utiliser exige une compétence et un entretien continu qui ne sont pas envisageables pour la grande majorité des individus ou organisations2.

Richard Stallman a fait prendre conscience de la nécessité de contrôler les programmes pour garantir notre liberté. La dimension éthique était importante : il parlait du bon et du mauvais logiciel. L’importance de ce contrôle a été mise en évidence par Lawrence Lessig avec son « Code is law »3. La nature immatérielle et non rivale du logiciel faisait que les libristes le considéraient naturellement comme un bien commun. Il leur semblait évident qu’il devait être partagé. Comme on vivait alors dans un monde où les ordinateurs étaient autonomes, la licence GPL avec ses libertés offrait un socle satisfaisant sur lequel les libristes s’appuyaient.

J’ai depuis plus de 20 ans enseigné et milité pour le logiciel libre que j’utilise quotidiennement. Comme tout bon libriste convaincu, j’ai présenté les quatre libertés de la GPL, et je reconnais que je n’ai pas convaincu grand monde avec ce discours. Qu’il faille garder contrôle sur le logiciel, parfait ! Les gens comprennent, mais la solution GPL ne les concerne pas parce que ce n’est absolument pas dans leur intention d’installer, étudier, modifier ou distribuer du logiciel. Relisez les licences et vous conviendrez qu’elles sont rédigées du point de vue des producteurs de logiciels plus que des utilisateurs qui n’envisagent pas d’en produire eux-mêmes.

Mais un objet technique et complexe, c’est naturellement l’affaire des professionnels et de l’industrie. Pour eux, la morale ou l’éthique n’est pas une préoccupation première, ce sont des techniciens et des marchands qui font marcher l’économie dans leur intérêt. Par contre, la liberté du partage du code pour des raisons d’efficacité (qualité et coût) les concerne. Ils se sont alors débarrassés de la dimension éthique en créant le modèle open source4. Et ça a marché rondement au point que ce modèle a gagné la bataille du logiciel. Les cinq plus grandes entreprises au monde selon leurs capitalisations boursières, les GAFAM, reposent sur ce modèle. Microsoft n’est plus le démon privatif à abattre, mais est devenu un acteur du libre. Enlevez le code libre et plus de Web, plus de courrier électronique, plus de réseaux sociaux comme Facebook, plus de service Google ou Amazon, ou de téléphone Apple ou Android. Conclusion : le logiciel libre a gagné face au logiciel propriétaire, c’est une question de temps pour que la question ne se pose plus.

Oui, mais voilà, c’est du logiciel libre débarrassé de toute évidence de sa dimension éthique, ce qui fait que du point de vue de l’utilisateur qui dépend d’un prestataire, le logiciel libre n’apporte rien. En effet, les prestataires de services, comme les réseaux sociaux ou les plates-formes de diffusion, ne distribuent pas de logiciel, ils en utilisent et donc échappent tout à fait légalement aux contraintes éthiques associées aux licences libres. Ce qui importe aux utilisateurs ce ne sont pas les logiciels en tant qu’objets, mais le service qu’ils rendent qui, lui, n’est pas couvert par les licences de logiciel libre. Circonstance aggravante, la gratuité apparente de bien des services de logiciel anesthésie leurs utilisateurs face aux conséquences de leur perte de liberté et de l’appropriation de leurs données et comportements (méta données) souvent à leur insu5.

Pourtant, aujourd’hui, nous ne pouvons plus nous passer de logiciel, tout comme nous ne pouvons pas nous passer de manger. Le logiciel libre c’est un peu comme le « bio » : de plus en plus de personnes veulent manger bio, tout simplement parce que c’est bon pour soi (ne pas s’empoisonner), bon pour la planète (la préserver de certaines pollutions) ou aussi parce que cela permet d’évoluer vers une économie plus humaine à laquelle on aspire (économie de proximité). Le « bio » est récent, mais en pleine expansion, il y a de plus en plus de producteurs, de marchands, et nos gouvernements s’en préoccupent par des lois, des règlements, des certifications ou la fiscalité. Ainsi le « bio » ce n’est pas seulement un produit, mais un écosystème complexe qui repose sur des valeurs : si le bio s’était limité à des « écolos » pour auto-consommation, on n’en parlerait pas. Eh bien le logiciel c’est comme le bio, ce n’est pas seulement un produit mais aussi un écosystème complexe qui concerne chacun de nous et la société avec tous ses acteurs.

Dans l’écosystème logiciel, les éditeurs et les prestataires de service qui produisent et opèrent le logiciel, ont compris que le logiciel libre (au sens open source) est bon pour eux et s’en servent, car ils le contrôlent. Par contre il n’en va pas de même pour ceux qui ne contrôlent pas directement le logiciel. La licence du logiciel ne suffit pas à leur donner contrôle. Mais alors que faire pour s’assurer que le service rendu par le logiciel via un prestataire soit bon pour nous, les divers utilisateurs dans cet écosystème numérique complexe ?

Je vais ici commenter la dimension éthique de deux projets de nature informatique qui s’appuient sur du logiciel libre sur lesquels je travaille actuellement en tentant d’intégrer ma réflexion de militant, d’universitaire et de praticien. PIAFS concerne les individus et donc le respect de nos vies privées pour des données sensibles, celles de notre santé dans un contexte de partage limité, la famille. REA vise à garantir à une organisation le contrôle de son informatisation dans le cadre d’une relation contractuelle de nature coopérative.

Deux cas qui ont alimenté ma réflexion

PIAFS : Partage des Informations Avec la Famille en Santé

PIAFS est projet qui répond à un besoin non satisfait : un serveur privé pour partager des données de santé au sein d’une unité familiale à des fins d’entr’aide (http://piafs.org/). Cette idée, dans un premier temps, a débouché sur un projet de recherche universitaire pour en valider et préciser la nature. Pour cela il nous fallait un prototype.

Au-delà de la satisfaction d’un besoin réel, je cherchais en tant que libriste comment promouvoir le logiciel libre. Je constatais que mes proches n’étaient pas prêts à renoncer à leurs réseaux sociaux même si je leur en montrais les conséquences. Il fallait éviter une première grande difficulté : changer leurs habitudes. J’avais là une opportunité : mes proches, comme beaucoup de monde, n’avaient pas encore osé organiser leurs données de santé dans leur réseau social.

Si ce projet avait dès le départ une dimension éthique, il n’était pas question de confier ces données sensibles à un réseau social. J’étais dès le départ confronté à une dimension pratique au-delà de la disponibilité du logiciel. De plus, pour les utilisateurs de PIAFS, l’auto-hébergement n’est pas une solution envisageable. Il fallait recourir à un fournisseur car un tel service doit être assuré d’une manière responsable et pérenne. Même si l’on s’appuyait sur des coopératives de santé pour explorer le concept, il est rapidement apparu qu’il fallait recourir à un service professionnel classique dont il faut alors assumer les coûts6. Il fallait transposer les garanties apportées par le logiciel libre au fournisseur de service : l’idée de charte que l’on voyait émerger depuis quelques années semblait la bonne approche pour garantir une informatique éthique, et en même temps leur faire comprendre qu’ils devaient eux-mêmes assurer les coûts du service.

REA : Pour donner au client le contrôle de son informatisation

J’ai enseigné la conception des systèmes d’information dans l’université pendant près de 40 ans (à Aix-en-Provence puis à Québec), et eu l’occasion de travailler dans des dizaines de projets. J’ai eu connaissance de nombreux dérapages de coût ou de calendrier et j’ai étudié la plupart des méthodologies qui tentent d’y remédier. J’ai aussi appris qu’une des stratégies commerciales de l’industrie informatique (ils ne sont pas les seuls !) est la création de situations de rente pas toujours à l’avantage du client. Dans tout cela je n’ai pas rencontré grande préoccupation éthique.

J’ai eu, dès le début de ma carrière de professeur en systèmes d’information (1971), la chance d’assister, sinon participer, à la formalisation de la vision de Jean-Louis Le Moigne7 : un système d’information consiste à capturer, organiser et conserver puis distribuer et parfois traiter les informations créées par l’organisation. Cette vision s’opposait aux méthodologies naissantes de l’analyse structurée issues de la programmation structurée. Elle établissait que l’activité de programmation devait être précédée par une compréhension du fonctionnement de l’organisation à partir de ses processus. L’approche qui consiste à choisir une « solution informatique » sans vraiment repenser le problème est encore largement dominante. J’ai ainsi été conduit à développer, enseigner et pratiquer une approche dite à partir des données qui s’appuie sur la réalisation précoce de prototypes fonctionnels afin de limiter les dérapages coûteux (je l’appelle maintenant REA pour Référentiel d’Entreprise Actif, le code de REA est bien sûr libre).

Mon but est, dans ma perspective libriste, de redonner le contrôle au client dans la relation client-fournisseur de services d’intégration. Si ce contrôle leur échappe trop souvent du fait de leur incompétence technique, il n’en reste pas moins que ce sont eux qui subissent les conséquences des systèmes informatiques « mal foutus ». Là encore le logiciel libre ne suffit pas à garantir le respect du client et le besoin d’une charte pour une informatique éthique s’impose8 .

Photo EOI (CC-BY-SA 2.0)

Vers une charte de l’informatique libre, c’est-à-dire bonne pour l’écosystème numérique

Dans les deux cas, si l’on a les ressources et la compétence pour se débrouiller seul, les licences libres comme la GPL ou une licence Creative Commons pour la méthodologie garantissent une informatique éthique (respect de l’utilisateur, contribution à un bien commun). S’il faut recourir à un hébergeur ou un intégrateur, les garanties dépendent de l’entente contractuelle entre le client-utilisateur et le fournisseur.

Il y a une différence fondamentale entre le logiciel et le service. Le logiciel est non rival, il ne s’épuise pas à l’usage, car il peut être reproduit sans perte pour l’original, alors que le service rendu est à consommation unique. Le logiciel relève de l’abondance alors que le service relève de la rareté qui est le fondement de l’économie qui nous domine, c’est la rareté qui fait le prix. Le logiciel peut être mis en commun et partagé alors que le service ne le peut pas. L’économie d’échelle n’enlève pas le caractère rival du service. Et c’est là que la réalité nous rattrape : la mise en commun du logiciel est bonne pour nous tous, mais cela n’a pas de sens pour le service car aucun fournisseur ne rendra ce service gratuitement hormis le pur bénévolat.

Des propositions balisant un comportement éthique existent, en voici quelques exemples:

  • dans Le Manifeste pour le développement Agile de logiciels, des informaticiens ont proposé une démarche dite agile qui repose sur 4 valeurs et 12 principes. Sans être explicitement une charte éthique, la démarche est clairement définie dans l’optique du respect du client. Ce manifeste est utile dans le cas REA ;
  • la charte du collectif du mouvement CHATONS concerne les individus, elle est pensée dans un contexte d’économie sociale et solidaire, elle est inspirante pour le cas PIAFS ;
  • la charte de Framasoft définit un internet éthique, elle est inspirante pour le cas PIAFS mais aussi pour la définition d’un cadre global;
  • dernièrement sous forme de lettre ouverte, un collectif issu du Techfestival de Copenhague propose une pratique éthique, utile pour les deux cas et qui permet de réfléchir au cadre global.

Les libristes, mais dieu merci ils ne sont pas les seuls, ont une bonne idée des valeurs qui président à une informatique éthique, bonne pour eux, à laquelle ils aspirent lorsqu’ils utilisent les services d’un fournisseur. Les exigences éthiques ne sont cependant pas les mêmes dans les deux cas car l’un concerne un service qui n’inclut pas de développement informatique spécifique et l’autre implique une activité de développement significative (dans le tableau ci-dessous seuls des critères concernant l’éthique sont proposés):

Critères pour le client Dans le cas de PIAFS Dans le cas d’un projet REA
Respect de leur propriété Les données qu’ils produisent leur appartiennent, ce n’est pas négociable Tout document produit (analyse, …) est propriété du client
Respect de leur identité Essentiel Le client doit contrôler la feuille de route, ce sont ses besoins que l’on doit satisfaire par ceux du fournisseur
Respect de leur indépendance vis à vis du fournisseur Important, préside au choix des logiciels et des formats Critique : mais difficile à satisfaire.
Proximité du service : favoriser l’économie locale et protection contre les monopoles Important Important
Pérennité du service Important, mais peut être tempéré par la facilité du changement Essentiel : le changement est difficile et coûteux, mais la « prise en otage » est pire
Payer le juste prix Important Important
Partage équitable des risques Risque faible Essentiel car le risque est élevé
Mise en réseau Essentiel : la connexion « sociale » est impérative mais dans le respect des autres valeurs Plus aucune organisation vit en autarcie
Contribution (concerne le fournisseur) Non discutable, obligatoire Important mais aménageable

Entente sur le logiciel

Le client, individu ou organisation, doit avoir l’assurance que les logiciels utilisés par le fournisseur de services font bien et seulement ce qu’ils doivent faire. Comme il n’a pas la connaissance requise pour cette expertise, il doit faire confiance au fournisseur. Or, parce que celui-ci n’offre pas toute la garantie requise (volonté et capacité de sa part), il faut, dans cette situation, recourir à un tiers de confiance. Cette expertise externe par un tiers de confiance est très problématique. Il faut d’une part que le fournisseur donne accès aux logiciels et d’autre part trouver un expert externe qui accepte d’étudier les logiciels, autrement dit résoudre la quadrature du cercle !

Le logiciel libre permet de la résoudre. Il est accessible puisqu’il est public, il est produit par une communauté qui a les qualités requises pour jouer ce rôle de tiers de confiance. Ainsi, pour une informatique éthique :

  • tout logiciel utilisé par le fournisseur doit être public, couvert par une licence libre, ce qui le conduit à ne pas redévelopper un code existant ou le moins possible,
  • s’il est amené à produire du nouveau code,
    • le fournisseur doit le rendre libre. C’est à l’avantage de la société mais aussi du client dans un contexte de partage et de protection contre les situations de rente qui le tiennent en otage,
    • ou du moins le rendre accessible au client,
  • garantir que seul le code montré est utilisé,
  • utiliser des formats de données et documents libres.

L’éthique est complexe, il est difficile sinon impossible d’anticiper tous les cas. L’exigence de logiciel libre peut être adaptée à des situations particulières, par exemple si le prestataire est engagé pour un logiciel que le client ne désire pas partager il en prend alors la responsabilité, ou si la nécessité de poursuivre l’utilisation de logiciels non libres est non contournable temporairement.

Entente sur le bien ou service

Le critère du coût est propre au service. Dans une approche éthique le juste coût n’est pas la résultante du jeu de l’offre et de la demande, ni d’un jeu de négociation basé sur des secrets, et encore moins le résultat d’une rente de situation. Il s’agit pour le fournisseur de couvrir ses coûts et de rentabiliser son investissement (matériel, formation…). Une approche éthique impose  de la transparence, le client  :

  • doit savoir ce qu’il paye,
  • doit avoir la garantie que le contrat couvre tous les frais pour l’ensemble du service (pas de surprise à venir),
  • doit être capable d’estimer la valeur de ce qu’il paye,
  • doit connaître les coûts de retrait du service et en estimer les conséquences.

Le partage équitable du risque concerne essentiellement les projets d’informatisation avec un intégrateur. Il est rare que l’on puisse estimer correctement l’ampleur d’un projet avant de l’avoir au moins partiellement réalisé. Une part du risque provient de l’organisation et de son environnement, une autre part du risque provient des capacités du fournisseur et de ses outils. Ceci a un impact sur le découpage du projet, chaque étape permet d’estimer les suivantes :

  • tout travail réalisé par le fournisseur contributif au projet :
    • doit être payé,
    • appartient au client,
    • doit pouvoir être utilisé indépendamment du fournisseur.
  • le travail dont le volume est dépendant du client est facturé au temps,
  • le travail sous le contrôle du fournisseur doit si possible être facturé sur une base forfaitaire,
  • le client est maître de la feuille de route,
  • tout travail entamé par le fournisseur doit être compris et accepté par le client,
  • la relation entre le client et le fournisseur est de nature collaborative, le client participe au projet qui évolue au cours de la réalisation à la différence d’une relation contractuelle dans laquelle le client commande puis le fournisseur livre ce qui est commandé.

Conclusion : l’informatique éthique est possible

Pour tous les utilisateurs de l’informatique, c’est à dire pratiquement tout le monde et toutes les organisations de notre société numérique, il est aussi difficile de nier l’intérêt d’une informatique éthique que de rejeter le « bio », mais encore faut-il en être conscient. Le débat au sein des producteurs de logiciels reste difficile à comprendre. Ce qui est bon pour un libriste c’est un logiciel qui avant tout le respecte, alors que pour les autres informaticiens, c’est à dire la grande majorité, c’est un logiciel qui ne bogue pas. Fait aggravant : la vérité des coûts nous est cachée. Cependant au-delà de cette différence philosophique, l’intérêt du logiciel partagé est tel qu’un immense patrimoine de logiciel libre ou open source est disponible. Ce patrimoine est le socle sur lequel une informatique éthique est possible. Les deux cas présentés nous montent que les conditions existent dès maintenant.

Une informatique éthique est possible, mais elle ne sera que si nous l’exigeons. Les géants du Net sont de véritables états souverains devant lesquels même nos états baissent pavillon. La route est longue, chaotique et pleine de surprises, comme elle l’a été depuis la naissance de l’ordinateur, mais un fait est acquis, elle doit reposer sur le logiciel libre.

Le chemin se fait en marchant, comme l’écrivait le poète Antonio Machado, et c’est à nous libristes de nous donner la main et de la tendre aux autres. Ce ne sera pas facile car il faudra mettre la main à la poche et la bataille est politique. Il nous faut exiger, inspirés par le mouvement « bio », un label informatique éthique et pourquoi pas un forum mondial de l’écosystème numérique. La piste est tracée (à l’instar de la Quadrature du Net), à nous de l’emprunter.


Notes

  1. J’ai utilisé ce mot de libriste pour rendre compte de la dimension militante et à certains égards repliée sur elle-même, qu’on leur reproche souvent à raison.
  2. Voir sur ce point le blog NullPointerException, « Que faut-il pour XXX? Du logiciel libre! Non, une gouvernance éthique », 21/02/2017.
  3. Dans un article paru en 2000, Lawrence Lessig -auquel on doit les licences Creative Commons- a clairement mis en lumière que l’usage d’internet (et donc des logiciels) nous contraint, tout comme nous sommes contraint par les lois. Il nous y a alerté sur les conséquences relatives à notre vie privée. Voir la traduction française sur Framablog « Le code fait loi – De la liberté dans le cyberespace » (publié le 22/05/2010),
  4. Dans l’optique open source, un bon logiciel est un logiciel qui n’a pas de bogue. Dans l’optique logiciel libre, un bon logiciel est un logiciel éthique qui respecte son utilisateur et contribue au patrimoine commun. Dans les deux cas il est question d’accès au code source mais pour des raisons différentes, ce qui au plan des licences peut sembler des nuances : « Né en 1998 d’une scission de la communauté du logiciel libre (communauté d’utilisateurs et de développeurs) afin de conduire une politique jugée plus adaptée aux réalités économiques et techniques, le mouvement open source défend la liberté d’accéder aux sources des programmes qu’ils utilisent, afin d’aboutir à une économie du logiciel dépendant de la seule vente de prestations et non plus de celle de licences d’utilisation ». Voir la page Wikipédia, « Open Source Initiative ».
  5. Voir par exemple Tristan Nitot, « Surveillance:// Les libertés au défi du numérique : comprendre et agir », C&F éditions, 2016. L’interview de T. Nitot sur le Framablog. Le site « Social Cooling » (« Les données conduisent au refroidissement social »).
  6. La question de recourir à une organisation de l’économie sociale et solidaire s’est posée et ce n’est pas exclu.Cela n’a pas été retenu pour des raisons pratiques et aussi parce que la démarche visait à promouvoir une informatique éthique de la part des fournisseurs traditionnels locaux.
  7. Avant d’être connu comme un constructiviste Jean-Louis Le Moigne, alors professeur à l’IAE d’Aix-en-Provence, créait un enseignement de systèmes d’information organisationnels et lançait avec Huber Tardieu la recherche qui a conduit à la méthode Merise à laquelle j’ai participé car j’étais alors assistant dans sa petite équipe universitaire et il a été mon directeur de doctorat.
  8. Cela se dégage par exemple de la thèse de Balla Diop que j’ai dirigée. Il a comparé des implantations de ERP libres et propriétaires : du point de vue du client hormis les coûts il y a peu de différence. Voir Balla Diop, L’effet de la stratégie logicielle (ERP open source vs ERP commercial) sur le développement du capital humain des PME, Thèse de doctorat dirigée par D. Pascot, Université Laval, 2015.



Code open source contre gros système

57 lignes de code et deux ou trois bidules électroniques feraient aussi bien voire mieux qu’un gros système coûteux. Telle est la démonstration que vient de faire un développeur australien.
L’expérience que relate ici Tait Brown relève du proof of concept, la démonstration de faisabilité. La spectaculaire économie de moyens numériques et financiers qu’il démontre avec 57 lignes de code open source et des appareils à la portée d’un bidouilleur ordinaire n’est peut-être pas une solution adaptable à grande échelle pour remplacer les puissants et massifs systèmes propriétaires mis en place par des entreprises. Pas plus que les services libres de Framasoft n’ambitionnent de remplacer les GAFAM, mais démontrent que des solutions alternatives libres et plus respectueuses sont possibles et viables, et de plus en plus disponibles.

Outre le pied de nez réjouissant du hacker occasionnel aux institutions locales (ici, la police de l’état australien de Victoria) qui ont confié un traitement informatique à des sociétés privées, ce petit témoignage ouvre au moins une question : le code est mis au service de la police au bénéfice des citoyens (repérer les voitures volées, pister la délinquance…), mais peut fort bien ne faire qu’augmenter la surveillance de masse au détriment des mêmes citoyens, avec les conséquences pas du tout triviales qu’on connaît et dénonce régulièrement. Le fait que le code open source soit auditable est-il un garde-fou suffisant ?

 

Comment j’ai recréé un logiciel de 86 millions de dollars en 57 lignes de code

par Tait Brown

Publication originale : How I replicated an $86 million project in 57 lines of code
Traduction Framalang : xi, Lyn., goofy, framasky, Lumibd, Penguin

Quand un essai à base de technologie open source fait le boulot « suffisamment bien ».

La police est le principal acteur du maintien de l’ordre dans l’État du Victoria, en Australie. Dans cet État, plus de 16 000 véhicules ont été volés l’an passé, pour un coût d’environ 170 millions de dollars. Afin de lutter contre le vol de voitures, la police teste différentes solutions technologiques.

Pour aider à prévenir les ventes frauduleuses de véhicules volés, VicRoads propose déjà un service en ligne qui permet de vérifier le statut d’un véhicule en saisissant son numéro d’immatriculation. L’État a également investi dans un scanner de plaque minéralogique : une caméra fixe sur trépied qui analyse la circulation pour identifier automatiquement les véhicules volés.

Ne me demandez pas pourquoi, mais un après-midi, j’ai eu envie de réaliser un prototype de scanner de plaques minéralogiques embarqué dans une voiture, qui signalerait automatiquement tout véhicule volé ou non immatriculé. Je savais que tous les composants nécessaires existaient et je me suis demandé à quel point il serait compliqué de les relier entre eux.

Mais c’est après quelques recherches sur Google que j’ai découvert que la Police de l’État du Victoria avait récemment testé un appareil similaire dont le coût de déploiement était estimé à 86 millions de dollars australiens. Un commentateur futé a fait remarquer que 86 millions de dollars pour équiper 220 véhicules, cela représentait 390 909 AUSD par véhicule.
On devait pouvoir faire mieux que ça.

 

Le système existant qui scanne les plaques minéralogiques avec une caméra fixe

Les critères de réussite

Avant de commencer, j’ai défini à quelles exigences clés devait répondre la conception de ce produit.

Le traitement de l’image doit être effectué localement
Transmettre en continu le flux vidéo vers un site de traitement centralisé semblait l’approche la moins efficace pour répondre au problème. La facture pour la transmission des données serait énorme, de plus le temps de réponse du réseau ne ferait que ralentir un processus potentiellement assez long.
Bien qu’un algorithme d’apprentissage automatique centralisé ne puisse que gagner en précision au fil du temps, je voulais savoir si une mise en œuvre locale sur un périphérique serait « suffisamment bonne ».

Cela doit fonctionner avec des images de basse qualité
Je n’avais ni caméra compatible avec un Raspberry Pi, ni webcam USB, j’ai donc utilisé des séquences vidéo issues de dashcam [NdT : caméra installée dans un véhicule pour enregistrer ce que voit le conducteur], c’était immédiatement disponible et une source idéale de données d’échantillonnage. En prime, les vidéos dashcam ont, en général, la même qualité que les images des caméras embarquées sur les véhicules.

Cela doit reposer sur une technologie open source
En utilisant un logiciel propriétaire, vous vous ferez arnaquer chaque fois que vous demanderez un changement ou une amélioration, et l’arnaque se poursuivra pour chaque demande ultérieure. Utiliser une technologie open source évite ce genre de prise de tête.

Solution

Pour l’expliquer simplement, avec ma solution, le logiciel prend une image à partir d’une vidéo dashcam, puis l’envoie vers un système de reconnaissance des plaques minéralogiques open source installé localement dans l’appareil, il interroge ensuite le service de contrôle des plaques d’immatriculation et renvoie le résultat pour affichage.
Les données renvoyées à l’appareil installé dans le véhicule de police comprennent : la marque et le modèle du véhicule (pour vérifier si seules les plaques ont été volées), le statut de l’immatriculation et la notification d’un éventuel vol du véhicule.
Si cela semble plutôt simple, c’est parce que c’est vraiment le cas. Le traitement de l’image, par exemple, peut être opéré par la bibliothèque openalpr. Voici vraiment tout ce qu’il faut pour reconnaître les caractères sur les plaques minéralogiques :

 openalpr.IdentifyLicense(imagePath, function (error, output) {
 // handle result
 });
 (le code est sur Github)

Mise en garde mineure
L’accès public aux API de VicRoads n’étant pas disponible, les vérifications de plaques d’immatriculation se font par le biais du web scraping (NdT : une technique d’extraction automatisée du contenu de sites web) pour ce prototype. C’est une pratique généralement désapprouvée, mais il ne s’agit ici que d’un test de faisabilité et je ne surcharge pas les serveurs de quiconque.

Voici à quoi ressemble mon code, vraiment pas propre, utilisé pour tester la fiabilité de la récupération de données :

(le code est sur Github)

Résultats

Je dois dire que j’ai été agréablement surpris.

Je m’attendais à ce que la reconnaissance des plaques minéralogiques open source soit plutôt mauvaise. De plus, les algorithmes de reconnaissance d’images ne sont probablement pas optimisés pour les plaques d’immatriculation australiennes.

Le logiciel a été capable de reconnaître les plaques d’immatriculation dans un champ de vision large.

Annotations ajoutées sur l’image. Plaque minéralogique identifiée malgré les reflets et l’axe de prise de vue

Toutefois, le logiciel a parfois des problèmes avec des lettres particulières.

Mauvaise lecture de la plaque, le logiciel a confondu le M et le H

Mais… il finit par les corriger :

Quelques images plus tard, le M est correctement identifié à un niveau de confiance plus élevé

 

Comme vous pouvez le voir dans les deux images ci-dessus, le traitement de l’image quelques images plus tard a bondi d’un indice de confiance de 87% à un petit peu plus de 91%.

Il s’agit de solutions très simples au niveau de la programmation, qui n’excluent pas l’entraînement du logiciel de reconnaissance des plaques d’immatriculation avec un ensemble de données locales.
Je suis certain que la précision pourrait être améliorée en augmentant le taux d’échantillonnage, puis en triant suivant le niveau de confiance le plus élevé. On pourrait aussi fixer un seuil qui n’accepterait qu’une confiance supérieure à 90% avant de valider le numéro d’enregistrement.
Il s’agit de choses très simples au niveau de la programmation, qui n’excluent pas l’entraînement du logiciel de reconnaissance des plaques d’immatriculation avec un jeu de données locales.

La question à 86 000 000 dollars

Pour être honnête, je n’ai absolument aucune idée de ce que le chiffre de 86 millions de dollars inclut – et je ne peux pas non plus parler de la précision d’un outil open source sans entraînement spécifique adapté au pays par rapport au système pilote BlueNet.
Je m’attendrais à ce qu’une partie de ce budget comprenne le remplacement de plusieurs bases de données et applications logicielles existantes pour répondre à des demandes de renseignements sur les plaques d’immatriculation à haute fréquence et à faible latence plusieurs fois par seconde par véhicule.
D’un autre côté, le coût de 391 000 dollars par véhicule semble assez élevé, surtout si le BlueNet n’est pas particulièrement précis et qu’il n’ existe pas de projets informatiques à grande échelle pour la mise hors service ou la mise à niveau des systèmes dépendants.

Applications futures

Bien qu’on puisse aisément être soucieux de la nature orwellienne d’un réseau qui fonctionne en continu de mouchards à plaques minéralogiques, cette technologie a de nombreuses applications positives. Imaginez un système passif qui analyse les autres automobilistes à la recherche d’une voiture de ravisseurs et qui avertit automatiquement et en temps réel les autorités et les membres de la famille de leur emplacement et de leur direction.

Les véhicules Tesla regorgent déjà de caméras et de capteurs capables de recevoir des mises à jour OTA (NdT : Over The Air, c’est-à-dire des mises à jour à distance) – imaginez qu’on puisse en faire une flotte virtuelle de bons Samaritains. Les conducteurs Uber et Lyft pourraient également être équipés de ces dispositifs pour augmenter considérablement leur zone de couverture.

En utilisant la technologie open source et les composants existants, il semble possible d’offrir une solution qui offre un taux de rendement beaucoup plus élevé – pour un investissement bien inférieur à 86 millions de dollars.




Des routes et des ponts (18) – À la croisée des chemins

Le 12 septembre dernier, Framalang commençait la traduction de l’ouvrage de Nadia Eghbal Des routes et des ponts. Aujourd’hui, nous vous proposons le dernier chapitre de ce livre.

Ce chapitre s’interroge sur la marche à suivre pour continuer les avancées technologiques et sociales des cultures open source et libres. Cette conclusion rappelle qu’à l’heure de l’information, tout le monde est concerné par les technologies ouvertes, bien que nous n’en ayons souvent que peu conscience. Ainsi, afin de pouvoir continuer d’utiliser cette infrastructure qui a été mise à notre disposition, nous devons nous mobiliser pour en garantir la pérennité.

À la croisée des chemins

par Nadia Eghbal

Traduction Framalang : goofy, MO, Luc, Lumibd, Rozmador, serici, Bromind, lyn., Bam92

L’état actuel de notre infrastructure numérique est un des problèmes les moins bien compris de notre temps. Il est vital de le comprendre.

En s’investissant bénévolement dans notre structure sous-jacente, les développeurs ont facilité la construction de logiciels pour autrui. En la fournissant gratuitement plutôt qu’en la facturant, ils ont alimenté une révolution de l’information.

Les développeurs n’ont pas fait cela pour être altruistes. Ils l’ont fait car c’était la meilleure manière de résoudre leurs propres problèmes. L’histoire du logiciel open source est l’un des grands triomphes de nos jours pour le bien public.

Nous avons de la chance que les développeurs aient limité les coûts cachés de ces investissements. Mais leurs investissements initiaux ne nous ont amenés que là où nous sommes aujourd’hui.

Nous ne sommes qu’au commencement de l’histoire de la transformation de l’humanité par le logiciel. Marc Andreessen, co-fondateur de Netscape et reconnu comme capital-risqueur derrière la société Andreessen Horowitz, remarque en 2011 que «le logiciel dévore le monde» (source). Depuis lors, cette pensée est devenue un mantra pour l’ère moderne.

Le logiciel touche tout ce que l’on fait : non seulement les frivolités et les loisirs, mais aussi les choses obligatoires et critiques. OpenSSL, le projet décrit au début de cet essai, le démontre bien. Dans une interview téléphonique, Steve Marquess explique qu’OpenSSL n’était pas utilisé seulement par les utilisateurs de sites web, mais aussi par les gouvernements, les drones, les satellites et tous «les gadgets que vous entendez bipper dans les hôpitaux» [Entretien téléphonique avec Steve Marquess, NdA.].

Le Network Time Protocol [protocole de temps par le réseau, NdT], maintenu par Harlan Stenn, synchronise les horloges utilisées par des milliards de périphériques connectés et touche tout ce qui contient un horodatage. Pas seulement les applications de conversations ou les courriels, mais aussi les marchés financiers, les enregistrements médicaux et la production de produits chimiques.

Et pourtant, Harlan note:

Il y a un besoin de soutenir l’infrastructure publique libre. Mais il n’y a pas de source de revenu disponible à l’heure actuelle. Les gens se plaignent lorsque leurs horloges sont décalées d’une seconde. Ils disent, «oui nous avons besoin de vous, mais nous ne pouvons pas vous donner de l’argent». (source)

Source – Licence CC-BY-SA 4.0

Durant ces cinq dernières années, l’infrastructure open source est devenue une couche essentielle de notre tissu social. Mais tout comme les startups ou la technologie elle-même, ce qui a fonctionné pour les 30 premières années de l’histoire de l’open source n’aidera plus à avancer. Pour maintenir notre rythme de progression, nous devons réinvestir dans les outils qui nous aident à construire des projets plus importants et de meilleure qualité.

Trouver un moyen de soutenir l’infrastructure numérique peut sembler intimidant, mais il y a de multiples raisons de voir le chemin à parcourir comme une opportunité.

Premièrement, l’infrastructure est déjà là, avec une valeur clairement démontrée. Ce rapport ne propose pas d’investir dans une idée sans plus-value. L’énorme contribution sociale de l’infrastructure numérique actuelle ne peut être ignorée ni mise de côté, comme cela est déjà arrivé dans des débats tout aussi importants sur les données, la vie privée, la neutralité du net, ou l’opposition entre investissement privé et investissement public. Il est dès lors plus facile de faire basculer les débats vers les solutions.

Deuxièmement, il existe déjà des communautés open source engagées et prospères avec lesquelles travailler. De nombreux développeurs s’identifient par le langage de programmation qu’ils utilisent (tels que Python ou JavaScript), la fonction qu’ils apportent (telles qu’analyste ou développeur opérationnels), ou un projet important (tels que Node.js ou Rails). Ce sont des communautés fortes, visibles, et enthousiastes.

Les constructeurs de notre infrastructure numérique sont connectés les uns aux autres, attentifs à leurs besoins, et techniquement talentueux. Ils ont déjà construit notre ville ; nous avons seulement besoin d’aider à maintenir les lumières allumées, de telle sorte qu’ils puissent continuer à faire ce qu’ils font de mieux.

Les infrastructures, qu’elles soient physiques ou numériques, ne sont pas faciles à comprendre, et leurs effets ne sont pas toujours visibles, mais cela doit nous encourager à les suivre plus en détail, pas moins. Quand une communauté a parlé si ouvertement et si souvent de ses besoins, tout ce que nous devons faire est d’écouter.

Remerciements

Merci à tous ceux qui ont courageusement accepté d’être mentionnés dans cet ouvrage, ainsi qu’à ceux dont les réponses honnêtes et réféléchies m’ont aidée à affiner ma pensée pendant la phase de recherche :
André Arko, Brian Behlendorf, Adam Benayoun, Juan Benet, Cory Benfield, Kris Borchers, John Edgar, Maciej Fijalkowski, Karl Fogel, Brian Ford, Sue Graves, Eric Holscher, Brandon Keepers, Russell Keith-Magee, Kyle Kemp, Jan Lehnardt, Jessica Lord, Steve Marquess, Karissa McKelvey, Heather Meeker, Philip Neustrom, Max Ogden, Arash Payan, Stormy Peters, Andrey Petrov, Peter Rabbitson, Mikeal Rogers, Hynek Schlawack, Boaz Sender, Quinn Slack, Chris Soghoian, Charlotte Spencer, Harlan Stenn, Diane Tate, Max Veytsman, Christopher Allan Webber, Chad Whitacre, Meredith Whittaker, Doug Wilson.

Merci à tous ceux qui ont écrit quelque chose de public qui a été référencé dans cet essai. C’était une partie importante de la recherche, et je remercie ceux dont les idées sont publiques pour que d’autres s’en inspirent.

Merci à Franz Nicolay pour la relecture et Brave UX pour le design de ce rapport.

Enfin, un très grand merci à Jenny Toomey et Michael Brennan pour m’avoir aidée à conduire ce projet avec patience et enthousiasme, à Lori McGlinchey et Freedman Consulting pour leur retours et à Ethan Zuckerman pour que la magie opère.


Framasoft remercie chaleureusement les 40 traducteurs et traductrices du groupe Framalang qui depuis septembre ont contribué à vous proposer cet ouvrage (qui sera disponible en Framabook… quand il sera prêt) :

Adélie, AFS, alien spoon, Anthony, Asta (Gatien Bovyn), astraia_spica, Bam92 (Abel Mbula), Bidouille, Bromind (Martin Vassor), Ced, dominix, Edgar Lori, flo, glissière de sécurité, goofy, goudron, Julien / Sphinx, jums, Laure, Luc, Lumibd, lyn, Mika, MO, Opsylac (Diane Ranville), pasquin, Penguin, peupleLà, Piup, roptat, Rozmador, salade, serici, teromene, Théo, urlgaga, woof, xi (Juliette Tibayrenc), xXx

 




Des routes et des ponts (17) – une vue d’ensemble

Nous arrivons bientôt au terme de notre traduction semaine après semaine de l’ouvrage Des routes et des ponts de Nadia Eghbal (version originale en PDF). Pour remonter vers les épisodes précédents il suffit de cliquer sur ce lien.

Aujourd’hui nous vous proposons un chapitre qui recense les moyens dont les institutions et entreprises pourraient contribuer au développement et à la pérennité des projets open source qui constituent la colonne vertébrale de l’infrastructure numérique.

Traduction Framalang : Penguin, lyn, goofy, Opsylac, xXx

Une esquisse du tableau

Il est trop tôt pour dire à quoi devrait ressembler le soutien institutionnel à long terme d’un point de vue prospectif, mais il y a plusieurs domaines de travail critiques qui peuvent nous aider à le déterminer. Les propositions suivantes sont rattachées à trois domaines :

  • Traiter les infrastructures numériques comme un bien commun essentiel et les élever au rang d’acteur intersectoriel clé ;
  • Travailler avec des projets pour améliorer les standards, la sécurité et les flux de production ;
  • Augmenter la taille du groupe de contributeurs de manière à ce que davantage de personnes, et davantage de personnes de types différents, puissent élaborer et soutenir ensemble les logiciels publics.

Conscientiser et éduquer les acteurs clés

Comme nous l’avons relevé dans ce rapport, beaucoup d’acteurs clés — dont les startups, les gouvernements, et les sociétés de capital risque — pensent à tort que les logiciels publics « fonctionnent, tout simplement » et ne requiert pas de maintenance supplémentaire. Pour entretenir correctement l’écosystème de nos infrastructures numériques, ces populations devraient être les premières à être informées du problème. Les infrastructures numériques ont besoin de porte-paroles qui soient affranchis de toute contrainte politique ou commerciale et qui puissent comprendre et communiquer les besoins de l’écosystème.

Traiter les infrastructures numériques comme des biens publics essentiels pourrait également motiver l’investissement direct dans la construction de meilleurs systèmes à partir de zéro. Par exemple, aux États-Unis, les autoroutes inter-états et le réseau de bibliothèques publiques furent dès l’origine conçus comme des ressources publiques. Les unes et les autres ont eu leur champion (respectivement le Président Dwight Eisenhower et le philanthrope Andrew Carnegie) qui ont clairement argumenté en faveur du bénéfice social et financier qui résulterait de tels projets.

Un réseau national d’autoroutes ne sert pas uniquement à nous relier en tant qu’individus, en facilitant les déplacements d’un endroit à un autre, mais il apporte aussi la prospérité financière dans tous les coins du pays, grâce à l’usage commercial des voies rapides pour acheminer les marchandises. Dans les bibliothèques Andrew Carnegie, publiques et gratuites, les livres étaient accessibles et non stockés en magasin, pour permettre aux gens de les feuilleter et d’y trouver eux-mêmes l’information sans avoir recours à un⋅e bibliothécaire. Cette pratique a aidé à démocratiser l’information et à donner aux gens les moyens de s’éduquer eux-mêmes.

Une meilleure éducation et une meilleure prise de conscience pourraient s’étendre jusqu’aux gouvernements, dont certains ont rendu, par la loi, les infrastructures numériques difficiles à soutenir et qui ne sont peut-être pas familiers des normes culturelles et de l’histoire de l’open source. Aux USA, l’IRS [NdT : Internal Revenue Service – organisme qui collecte l’impôt] a une définition très restrictive des activités caritatives, et comme l’open source est mal comprise, son impact positif sur la société demeure ignoré. Cela complique l’institutionnalisation de plus gros projets à travers une fondation ou une association professionnelle.

Mesurer l’utilisation et l’impact de l’infrastructure numérique

L’impact de l’infrastructure numérique est encore très difficile à mesurer. Les indicateurs habituels sont soit très imprécis, soit simplement indisponibles. Ce n’est pas un problème facile à résoudre. Mais sans données relatives aux outils utilisés et à notre dépendance vis-à-vis d’eux, il est difficile de se faire une idée nette de ce qui manque de financement.

Avec de meilleurs indicateurs, nous pourrions décrire l’impact économique de l’infrastructure numérique, identifier les projets essentiels qui manquent de financement, et comprendre les dépendances entre les projets et entre les personnes. Pour le moment, il est impossible de dire qui utilise un projet open source à moins que l’utilisateur, individu ou entreprise, ne le révèle. Pour déterminer quel projet a besoin de plus de soutien, nous ne disposons que d’informations anecdotiques.

De meilleures statistiques pourraient également nous aider à identifier les « contributeurs clé de voûte ». En biologie environnementale, une « espèce clé » est une espèce animale qui a un impact disproportionné sur son environnement au regard de ses effectifs. Dans la même idée, un « contributeur clé » pourrait être un développeur qui contribue à plusieurs projets essentiels, qui est le seul responsable d’un projet crucial, ou qui est généralement perçu comme influent et digne de confiance. Les « contributeurs clés » sont des défenseurs essentiels, les valoriser en leur fournissant les ressources dont ils ont besoin pourrait améliorer le système dans son ensemble. Comprendre les relations entre les communautés open source et les « contributeurs clés » pourrait aider à identifier rapidement les secteurs qui auront besoin de soutien supplémentaire.

On dispose également de peu de données sur les contributeurs eux-mêmes : qui contribue à l’open source, quelles conditions leur permettent de le faire, et quelles sont les contributions effectuées. Les femmes, les non-anglophones, et les nouveaux contributeurs à l’open source sont des exemples de population qui devraient être suivies dans le temps, en particulier pour mesurer l’impact des programmes de soutien.

Les seules statistiques disponibles sur les dépôts GitHub sont le nombre de personnes ayant étoilé (action semblable à liker), vu (c’est-à-dire qu’elles reçoivent des nouvelles du projet) ou « forké » un projet. Ces chiffres permettent de fournir des indicateurs concernant la popularité, mais ils peuvent être trompeurs. Beaucoup de personnes peuvent étoiler un projet, parce qu’il a une conception intéressante par exemple, sans toutefois l’intégrer à leur propre code.

Certains gestionnaires de paquets tels npm (qui est celui de Node.js) suivent les téléchargements. Le « popularity contest » de Debian piste les téléchargements du système d’exploitation libre Debian. Néanmoins, chaque gestionnaire de paquets est limité à un écosystème particulier, et aucun de ces gestionnaires ne peut donner une image du système dans son ensemble. Plusieurs projets ne sont pas inclus dans un gestionnaire de paquets et ne sont pas suivis. Libraries.io, un site web créé par Andrew Nesbitt, est une tentative pour agréger des données des projets open source en fonction de leur usage, il piste environ 1,3 millions de bibliothèques open source sur 32 gestionnaires de paquets.

Travailler avec les projets pour moderniser l’organisation de travail

Beaucoup de projets sont en difficulté et pas seulement à cause d’un manque de financement, mais aussi parce qu’il est difficile d’y contribuer, ou encore parce qu’il existe un goulot d’étranglement au niveau des mainteneurs qui traitent les demandes de modification (pull requests) de la communauté. C’est vrai, en particulier, pour les plus anciens projets qui ont été bâtis avec des outils de développement, des langages et des processus qui ne sont plus populaires (ceux qui par exemple utilisent un système de contrôle de version autre que Git, dont la popularité croît chez les développeurs).

On peut faire beaucoup de choses pour faciliter la contribution à un projet, depuis la migration vers un flux de travail (workflow) plus moderne, le nettoyage du code, la fermeture des pull request délaissées, jusqu’à la mise en place d’une politique claire pour les contributions. Certains projets expérimentent pour rendre les contributions plus simples. Le développeur Felix Geisendörfer, par exemple, a suggéré que chaque personne qui soumet une modification du code devrait avoir une permission de commit afin de réduire l’engorgement au niveau de l’unique mainteneur vérifiant et approuvant ces changements. Felix a estimé que « cette approche est un fantastique moyen d’éviter que le projet ne se ratatine en transformant le projet d’un seul homme en celui d’une communauté. »

Le règlement de contribution de Node.js, qui peut être adopté par les autres projets Node, met l’accent sur l’augmentation du nombre de contributeurs et sur leur autonomisation dans la prise de décision, plutôt que de désigner les mainteneurs comme seule autorité approbatrice. Leurs règles de contribution expliquent comment soumettre et valider des pull requests, comment consigner des bugs, etc. Les mainteneurs Node.js ont constaté qu’adopter de meilleures règles les avait aidés à gérer leur charge de travail et à faire évoluer leur communauté vers un projet plus sain et actif.

Photo par Jez Nicholson (CC BY-SA 2.0)

Dans un premier temps, il y a des recherches à faire pour déterminer quels projets doivent avancer. Autrement dit, à quoi ressemble un « projet à succès », aussi bien en termes de financement et de modèles de gouvernance, que dans l’équilibre à trouver entre mainteneurs, contributeurs et usagers ! La réponse peut varier en fonction des différents types de projets et de leur ampleur.

Encourager les standards communs dans les projets open source

Bien que GitHub soit en train de devenir une plateforme standard pour la collaboration sur le code, de nombreux aspects des projets open source ne sont pas encore standardisés, notamment l’ampleur et la richesse de la documentation, des licences et des guides de contribution, ainsi que le style de code et le formatage.
Encourager l’adoption de standards de projets pourrait faciliter, pour les mainteneurs, la gestion des contributions, tout en réduisant pour les contributeurs les obstacles à la participation.

Parmi les exemples de standardisation croissante, on trouve le code de conduite, qui est un règlement détaillant les attentes en termes d’attitude et de communication.
Ces dernières années, des codes de conduite ont été adoptés par un nombre croissant de communautés de projets, notamment Node.js, Django et Ruby. Bien que le processus d’adoption ait pu donner lieu à d’intenses débats au sein de certaines communautés, leur prolifération révèle un intérêt croissant pour la responsabilisation du comportement des communautés.

Augmenter le nombre de contributeurs et contributrices open source

Comme nous l’avons évoqué dans un chapitre précédent de ce rapport, l’industrie du logiciel est florissante, avec un nombre croissant de nouveaux développeurs mais aussi d’autres talents variés : il y a du travail à faire pour encourager ces nouveaux arrivants à contribuer à l’open source. Augmenter le nombre de contributeurs permet aux projets open source d’être plus durables, car davantage de personnes participent à leur développement. Permettre à davantage de personnes de contribuer à l’open source accroît également l’empathie et la communication entre les « utilisateurs » de l’open source et les projets dont ils dépendent.

« Your First PR » (« votre première PR », PR pour Pull Request, NdT) est un exemple d’initiative, développée par la programmeuse Charlotte Spencer, qui aide les nouveaux venus à effectuer leur première contribution à l’open source. « First Timers Only » (Réservé aux débutants) et « Make a Pull Request » (Faites une pull request) sont deux autres exemples de ressources populaires qui introduisent les nouveaux venus à l’open source. Certains projets open source utilisent également des étiquettes telles que « first bug » ou « contributor friendly » pour signaler les problèmes susceptibles d’être résolus par des contributeurs moins expérimentés. Il serait également bénéfique d’encourager les contributions à l’open source autres que le code, comme la rédaction de documentation technique, la gestion des tâches et des flux de travail, ou la création d’un site internet pour le projet.

En plus de l’augmentation de la proportion de techniciens talentueux contribuant à l’open source existe la possibilité de puiser dans un groupe de contributeurs plus large. Faire en sorte que les non-anglophones se sentent bienvenus dans les communautés open source, par exemple, pourrait rendre la technologie plus accessible à travers le monde. Et comme beaucoup de recruteurs utilisent les travaux open source comme un portfolio au moment d’embaucher un développeur, une communauté open source plus diverse encouragerait l’apparition d’un personnel technique globalement plus inclusif.

Améliorer les relations entre projets et acteurs extérieurs

Les entreprises sont une pièce incontournable de l’écosystème open source, et leur rôle ne fait que gagner en importance à mesure que davantage d’entre elles adoptent les logiciels open source. Faciliter la collaboration entre entreprises et projets, ainsi qu’aider les entreprises à comprendre les besoins des communautés open source, pourrait débloquer le soutien des entreprises susceptibles de devenir mécènes ou promoteurs de l’open source.

Selon l’étude annuelle des entreprises open source réalisée par Black Duck, seulement 27 % des entreprises ont un règlement formel concernant les contributions de leurs employés à l’open source. Clarifier la possibilité ou non pour les employés de contribuer à l’open source sur leur temps de travail, et les encourager à le faire, pourrait grandement améliorer le soutien des entreprises aux projets open source.

En 2014, un groupement d’entreprises a fondé le TODO Group, pour partager les bonnes pratiques autour de la participation corporative à l’open source. Parmi les membres de ce groupe, on trouve Box, Facebook, Dropbox, Twitter et Stripe. En mars 2016, le TODO Group a annoncé qu’il serait hébergé par la Fondation Linux en tant que projet collaboratif.

Les entreprises peuvent également fournir un soutien financier aux projets, mais il est parfois difficile pour elles de trouver comment formaliser leur mécénat. Créer des budgets dédiés au mécénat en direction des équipes d’ingénieurs ou des employés, ou encore créer des documents permettant aux projets de « facturer » plus facilement leurs services aux entreprises, sont autant d’initiatives qui pourraient augmenter les contributions financières à l’open source.

Poul-Henning Kamp, par exemple, travaille sur un projet open source nommé Varnish, utilisé par un dixième des sites les plus visités d’internet, notamment Facebook, Twitter, Tumblr, The New York Times et The Guardian. Pour financer ce travail, il a créé la Varnish Moral License pour faciliter la sponsorisation du projet par les entreprises.

Même si en pratique la relation est un mécénat, Poul Henning utilise une terminologie familière aux entreprises, avec des termes tels que « facturation » et « licences », pour réduire les obstacles à la participation.

Augmenter le soutien aux compétences diverses et aux fonctions hors-codage

Dans un passé pas si lointain, les startups de logiciels étaient fortement centrées sur les compétences techniques. Les autres rôles, comme le marketing et le design, étaient considérés comme secondaires par rapport au code. Aujourd’hui, avec la création et la consommation rapide de logiciels, cette conception ne tient plus. Les startups sont en concurrence pour capter l’attention de leurs clients. L’identité de la marque est devenue l’un des principaux facteurs de différenciation.

Ces cinq dernières années ont été celles de l’essor du développeur full stack (polyvalent) : des développeurs plus généralistes que spécialisés, capables de travailler sur plusieurs domaines d’un logiciel complexe, et qui sont susceptibles d’avoir des compétences dans la conception et la production. Les équipes de développement sont plus soudées, elles utilisent les méthodes agiles avec des approches de conception d’architecture logicielle (où le livrable est élaboré en faisant des navettes entre les équipes de techniciens, designers et commerciaux), plutôt qu’une approche en cascade (où chaque équipe apporte sa pièce à l’édifice avant de la transmettre au groupe de travail suivant).

Les projets open source ont connu peu d’évolutions de ce genre, malgré notre dépendance croissante à leurs logiciels. On comprend aisément que le code soit au cœur d’un projet open source, il est en quelque sorte le « produit final » ou le livrable. Les fonctions relatives à la gestion de la communauté, à la documentation, ou à la promotion du projet, qui sont la marque d’une organisation saine et durable, sont moins valorisées. Il en découle que les projets sont déséquilibrés. Beaucoup de choses pourraient être entreprises pour financer et soutenir les contributions autres que le code, des dons en nature pour payer les serveurs par exemple, ou des avantages comme une assurance maladie. Disposer de soutiens de ce type permettrait de réduire notablement la charge des développeurs.




Des routes et des ponts (16) – vers de meilleures stratégies

Aujourd’hui menu allégé (après les agapes), avec un bref chapitre de Des routes et des ponts par Nadia Eghbal, ouvrage dont tous les chapitres précédents sont .
Il s’agit cette fois-ci de dresser la liste des principes qui devraient gouverner le soutien durable aux projets et infrastructures open source.

Traduction Framalang :  Penguin, goofy, xi, Lumi, xXx, Mika

Élaborer des stratégies d’assistance efficaces

Même si les gens sont de plus en plus intéressés par les efforts pour soutenir les infrastructures numériques, les initiatives actuelles sont encore récentes, faites pour des cas particuliers ou fournissent seulement un support partiel (comme le partage d’avantages fiscaux par des organisations à but non lucratif avec des groupes extérieurs à celles-ci).

Le développement de stratégies de soutien efficaces demande une compréhension fine de la culture open source qui caractérise une très grande partie de notre infrastructure numérique, mais aussi de reconnaître que beaucoup de choses ont changé dans les cinq dernières années, y compris la définition même de l’open source.

L’argent seul ne suffira pas à répondre aux problèmes d’un projet d’infrastructure en difficulté, parce que l’open source s’épanouit grâce aux ressources humaines et non financières. Il existe beaucoup de façons d’accroître les ressources humaines, comme distribuer la charge de travail parmi davantage de contributeurs ou encourager les entreprises à faire publier en open source une partie du travail de leurs employés. Une stratégie de soutien efficace doit inclure plusieurs façons de générer du temps et des ressources au-delà du financement direct du développement. Elle doit partir du principe que l’approche open source n’est pas défectueuse en elle-même, mais manque simplement de ressources.

Soutenir les infrastructures nécessite d’intégrer le concept d’intendance en lieu et place du concept de contrôle. Comme nous l’avons vu, les infrastructures numériques ne ressemblent pas aux infrastructures physiques. Elles sont réparties entre de multiples acteurs et organisations, avec des projets de toute forme et de toute taille, et il est difficile de prédire quels projets deviendront un succès ou qui y contribuera sur le long terme.

Photo par Frédéric Bisson (CC BY 2.0)

 

Avec cela en tête, voici quelques clés pour élaborer une stratégie d’assistance efficace :

Adopter la décentralisation, plutôt que s’y opposer

Les ressources de l’open source sont destinées à être partagées, c’est en partie ce qui leur donne autant d’impact.
Utiliser la force que donne l’aspect communautaire comme un levier, plutôt que de recentraliser l’autorité.

Travailler étroitement avec les communautés informatiques existantes.

Les communautés informatiques sont actives, soudées et savent se faire entendre. Faites appel à elles plutôt que de prendre une décision en aparté. Les voix les plus sonores des communautés agissent comme un signal de danger quand un problème nécessite d’être soulevé.

Envisager une approche globale du soutien aux projets

Les projets ont besoin de bien plus que du code ou de l’argent, parfois même ils n’ont besoin ni de l’un ni de l’autre. Le soutien sur le long terme est davantage une question de temps accordé que d’argent. La revue de code, la documentation technique, les tests de code, la soutien de la communauté, et la promotion du projet constituent un ensemble de ressources importantes.

Aider les mainteneurs de projets à anticiper

Aujourd’hui, les efforts pour soutenir l’infrastructure numérique ont tendance a être uniquement de la réactivité liée aux circonstances ponctuelles. En plus des projets existants, il existe sûrement de nouveau projets qui ont besoin d’être lancés et accompagnés.
Pour les projets existants, les mainteneurs trouveront un grand avantage à pouvoir planifier en vue des trois à cinq ans à venir, et pas seulement pour six mois ou un an.

Voir les opportunités, pas seulement les risques

Soutenir l’open source de nos jours, cela ne consiste pas uniquement à éviter les scénarios catastrophes (par exemple les failles de sécurité), mais plutôt à donner les moyens à davantage de personnes de réaliser davantage de choses. Ce concept est une caractéristique essentielle de la culture open source actuelle, et permet aussi de mettre en place un soutien pérenne. Tenez compte dans votre stratégie de la façon dont vous pourriez accueillir davantage de personnes d’horizons, de compétences et de talents différents, plutôt que de limiter l’activité pour favoriser les personnes qui participent déjà.

David Heinemeier Hansson, le créateur de Ruby on Rails, compare l’open source à un récif de corail :

« C’est un milieu plus fragile que vous ne le pensez, et il est difficile de sous-estimer la beauté qui est involontairement en jeu. Marchez avec précaution. »

Photo par Wicker Paradise – (CC-BY 2.0)




Des routes et des ponts (15) – les institutions et l’open source

Voici le plus long des chapitres de Des routes et des ponts de Nadia Ehgbal que nous traduisons pour vous semaine après semaine (si vous avez raté les épisodes précédents). Il s’agit cette fois-ci des institutions (ici nord-américaines) qui par diverses formes de mécénat, contribuent au développement et au maintien des projets d’infrastructure numérique open source parce qu’elles y trouvent leur intérêt. Pas sûr qu’en Europe et en France ces passerelles et ces coopérations bien comprises entre entreprises et open source soient aussi habituelles…

Traduction Framalang :  Opsylac, Luc, jums, xi, serici, lyn, mika, AFS, Goofy

Les efforts institutionnels pour financer les infrastructures numériques

Il existe des institutions qui s’efforcent d’organiser collectivement les projets open source et aider à leur financement. Il peut s’agir de fondations indépendantes liées aux logiciels, ou d’entreprises de logiciels elles-mêmes qui apportent leur soutien.

Soutien administratif et mécénat financier

Plusieurs fondations fournissent un soutien organisationnel, comme le mécénat financier, aux projets open source : en d’autres termes, la prise en charge des tâches autres que le code, dont beaucoup de développeurs se passent volontiers. L’Apache Software Foundation, constituée en 1999, a été créée en partie pour soutenir le développement du serveur Apache HTTP, qui dessert environ 55 % de la totalité des sites internet dans le monde.

Depuis lors, la fondation Apache est devenue un foyer d’ancrage pour plus de 350 projets open source. Elle se structure comme une communauté décentralisée de développeurs, sans aucun employé à plein temps et avec presque 3000 bénévoles. Elle propose de multiples services aux projets qu’elle héberge, consistant principalement en un soutien organisationnel, juridique et de développement. En 2011, Apache avait un budget annuel de plus de 500 000 $, issu essentiellement de subventions et de donations.

Le Software Freedom Conservancy, fondée en 2006, fournit également des services administratifs non-lucratifs à plus de 30 projets libres et open source. Parmi les projets que cette fondation soutient, on retrouve notamment Git, le système de contrôle de versions dont nous avons parlé plus haut et sur lequel GitHub a bâti sa plateforme, et Twisted, une librairie Python déjà citée précédemment.

On trouve encore d’autres fondations fournissant un soutien organisationnel, par exemple The Eclipse Foundation et Software in the Public Interest. La Fondation Linux et la Fondation Mozilla soutiennent également des projets open source externes de diverses façons (dont nous parlerons plus loin dans ce chapitre), bien que ce ne soit pas le but principal de leur mission.

Il est important de noter que ces fondations fournissent une aide juridique et administrative, mais rarement financière. Ainsi, être sponsorisé par Apache ou par le Software Freedom Conservancy ne suffit pas en soi à financer un projet ; les fondations ne font que faciliter le traitement des dons et la gestion du projet.

Un autre point important à noter, c’est que ces initiatives soutiennent le logiciel libre et open source d’un point de vue philosophique, mais ne se concentrent pas spécifiquement sur ses infrastructures. Par exemple, OpenTripPlanner, projet soutenu par le Software Freedom Conservancy, est un logiciel pour planifier les voyages : même son code est open source, il s’agit d’une application destinée aux consommateurs, pas d’une infrastructure.

DSC06985
La coopération est nécessaire pour construire et maintenir une infrastructure – photo par An en Alain (licence CC By 2.0)

Créer une fondation pour aider un projet

Certains projets sont suffisamment importants pour être gérés à travers leurs propres fondations. Python, Node.js, Django et jQuery sont tous adossés à des fondations.

Il y a deux conditions fondamentales à remplir pour qu’une fondation fonctionne : accéder au statut d’exemption fiscale et trouver des financements.

Réussir à accéder au statut 501(c), la loi américaine qui définit les organismes sans but lucratif, peut s’avérer difficile pour ces projets, à cause du manque de sensibilisation autour de la technologie open source et de la tendance à voir l’open source comme une activité non-caritative. En 2013, une controverse a révélé que l’IRS (Internal Revenue Service, service des impôts américain) avait dressé une liste de groupes postulant au statut d’exemption fiscale qui nécessiteraient davantage de surveillance : l’open source en faisait partie. Malheureusement, ces contraintes ne facilitent pas l’institutionnalisation de ces projets.

Par exemple, Russell Keith-Magee, qui était jusqu’à une époque récente président de la Django Software Foundation, a expliqué que la fondation ne pouvait pas directement financer le développement logiciel de Django, sans prendre le risque de perdre son statut 501(c). La fondation soutient plutôt le développement via des activités communautaires.

En juin 2014, la Fondation Yorba, qui a créé des logiciels de productivité qui tournent sous Linux, s’est vu refuser le statut 501(c) après avoir attendu la décision pendant presque quatre ans et demi. Jim Nelson, son directeur exécutif, a été particulièrement inquiété par le raisonnement de l’IRS : parce que leur logiciel pouvait potentiellement être utilisé par des entités commerciales, le travail de Yorba ne pouvait pas être considéré comme caritatif. Une lettre de l’IRS explique :

« Se contenter de publier sous une licence open source tous usages ne signifie pas que les pauvres et les moins privilégiés utiliseront effectivement les outils. […] On ne peut pas savoir qui utilise les outils, et encore moins quel genre de contenus sont créés avec ces outils. »

Nelson a pointé les failles de ce raisonnement dans un billet de blog, comparant la situation à celle d’autres biens publics :

« Il y a une organisation caritative ici à San Francisco qui plante des arbres pour le bénéfice de tous. Si l’un de leurs arbres… rafraîchit les clients d’un café pendant qu’ils profitent de leur expresso, cela signifie-t-il que l’organisation qui plante des arbres n’est plus caritative ? »

Les projets qui accèdent au statut 501(c) ont tendance à insister sur l’importance de la communauté, comme la Python Software Foundation, dont l’objet est de « promouvoir, protéger et faire progresser le langage de programmation Python, ainsi que de soutenir et faciliter la croissance d’une communauté diversifiée et internationale de programmeurs Python ».

En parallèle, certains projets candidatent pour devenir une association de commerce au sens du statut 501(c)(6). La Fondation jQuery en est un exemple, se décrivant comme « une association de commerce à but non-lucratif pour développeurs web, financée par ses membres ». La Fondation Linux est également une association de commerce.

Le deuxième aspect de la formalisation de la gouvernance d’un projet à travers une fondation est la recherche de la source de financement adéquate. Certaines fondations sont financées par des donations individuelles, mais ont proportionnellement de petits budgets.

La Django Software Foundation, par exemple, gère Django, le plus populaire des frameworks web écrits en Python, utilisé par des entreprises comme Instagram et Pinterest. La Fondation est dirigée par des bénévoles, et reçoit moins de 60 000 $ de donations par an. L’année dernière, la Django Software Foundation a reçu une subvention ponctuelle de la part de la Fondation Mozilla.

Parmi les autres sources habituelles de financement on trouve les entreprises mécènes. En effet, les entreprises privées sont bien placées pour financer ces projets logiciels, puisqu’elles les utilisent elles-mêmes. La Fondation Linux est l’un de ces cas particuliers qui rencontrent le succès, et ce grâce la valeur fondamentale du noyau Linux pour les activités de quasiment toutes les entreprises. La Fondation Linux dispose de 30 millions de dollars d’un capital géré sur une base annuelle, alimenté par des entreprises privées comme IBM, Intel, Oracle et Samsung – et ce chiffre continue d’augmenter.

Créer une fondation pour soutenir un projet est une bonne idée pour les projets d’infrastructure très conséquents. Mais cette solution est moins appropriée pour de plus petits projets, en raison de la quantité de travail, des ressources, et du soutien constant des entreprises, nécessaires pour créer une organisation durable.

Node.js est un exemple récent d’utilisation réussie d’une fondation pour soutenir un gros projet. Node.js est un framework JavaScript, développé en 2009 par Ryan Dahl et différents autres développeurs employés par Joyent, une entreprise privée du secteur logiciel. Ce framework est devenu extrêmement populaire, mais a commencé à souffrir de contraintes de gouvernance liées à l’encadrement par Joyent, que certaines personnes estimaient incapable de représenter pleinement la communauté enthousiaste et en pleine croissance de Node.js.

En 2014, un groupe de contributeurs de Node.js menaça de forker le projet. Joyent essaya de gérer ces problèmes de gouvernance en créant un conseil d’administration pour le projet, mais la scission eut finalement lieu, le nouveau fork prenant le nom d’io.js. En février 2015 fut annoncée l’intention de créer une organisation 501(c) (6) en vue d’extraire Node.js de la mainmise de Joyent. Les communautés Node.js et io.js votèrent pour travailler ensemble sous l’égide de cette nouvelle entité, appelée la Fondation Node.js. La Fondation Node.js, structurée suivant les conseils de la Fondation Linux, dispose d’un certain nombre d’entreprises mécènes qui contribuent financièrement à son budget, notamment IBM, Microsoft et payPal. Ces sponsors pensent retirer une certaine influence de leur soutien au développement d’un projet logiciel populaire qui fait avancer le web, et ils ont des ressources à mettre à disposition.

Montage d'une yourte, photo par Armel (CC BY SA 2.0)
Montage d’une yourte, photo par Armel (CC BY SA 2.0)

 

Un autre exemple prometteur est Ruby Together, une organisation initiée par plusieurs développeurs Ruby pour soutenir des projets d’infrastructure Ruby. Ruby Together est structuré en tant qu’association commerciale, dans laquelle chaque donateur, entreprise ou individu, investit de l’argent pour financer le travail à temps plein de développeurs chargés d’améliorer le cœur de l’infrastructure Ruby. Les donateurs élisent un comité de direction bénévole, qui aide à décider chaque mois sur quels projets les membres de Ruby Together devraient travailler.

Ruby Together fut conçue par deux développeurs et finance leur travail de  : André Arko et David Radcliffe. Aujourd’hui, en avril 2016, est également rémunéré le travail de quatre autres mainteneurs d’infrastructure. Le budget mensuel en mars 2016 était d’un peu plus de 18 000 dollars par mois, couvert entièrement par des dons. La création de Ruby Together fut annoncée en mars 2015 et reste un projet récent, mais pourrait bien servir de base à un modèle davantage orienté vers la communauté pour financer la création d’autres projets d’infrastructure.

Programmes d’entreprises

Les éditeurs de logiciels soutiennent les projets d’infrastructure de différentes manières.

En tant que bénéficiaires des projets d’infrastructures, ils contribuent en faisant remonter des dysfonctionnements et des bugs, en proposant ou soumettant de nouvelles fonctionnalités ou par d’autres moyens. Certaines entreprises encouragent leurs employés à contribuer à des projets d’une importance critique sur leur temps de travail. De nombreux employés contribuent ainsi de manière significative à des projets open source extérieurs à l’entreprise. Pour certains employés, travailler sur de l’open source fait clairement partie de leur travail. L’allocation de temps de travail de leurs salariés est une des plus importantes façons de contribuer à l’open source pour les entreprises.

Les grandes entreprises comme Google ou Facebook adhèrent avec enthousiasme à l’open source, de façon à inspirer confiance et renforcer leur influence ; elles sont de fait les seuls acteurs institutionnels assez importants qui peuvent assumer son coût sans avoir besoin d’un retour financier sur investissement. Les projets open source aident à renforcer l’influence d’une entreprise, que ce soit en publiant son propre projet open source ou en embauchant des développeurs de premier plan pour qu’ils travaillent à plein temps sur un projet open source.

Ces pratiques ne sont pas limitées aux entreprises purement logicielles. Walmart, par exemple, qui est un soutien majeur de l’open source, a investi plus de deux millions de dollars dans un projet open source nommé hapi. Eran Hammer, développeur senior à Walmart Labs, s’est empressé de préciser que « l’open source, ce n’est pas du caritatif » et que les ressources d’ingénierie gratuites sont proportionnelles à la taille des entreprises qui utilisent hapi. Dion Almaer, l’ancien vice-président en ingénierie de Walmart Labs, a remarqué que leur engagement envers l’open source les aidait à recruter, à construire une solide culture d’entreprise, et à gagner « une série d’effets de levier ».

En termes de soutien direct au maintien du projet, il arrive que des entreprises embauchent une personne pour travailler à plein temps à la maintenance d’un projet open source. Les entreprises donnent aussi occasionnellement à des campagnes de financement participatif pour un projet particulier. Par exemple, récemment, une campagne sur Kickstarter pour financer un travail essentiel sur Django a reçu 32 650 £ (environ 40 000 €) ; Tom Christie, l’organisateur de la campagne, a déclaré que 80 % du total venait d’entreprises. Cependant, ces efforts sont toujours consacrés à des projets  spécifiques et les infrastructures numériques ne sont pas encore vues communément comme une question de responsabilité sociale par les entreprises de logiciel à but lucratif. Cela laisse encore beaucoup de marge aux actions de défense et promotion.

L’un des programmes d’entreprise les plus connus est le Summer of Code de Google (été de programmation, souvent nommé GSoC), déjà mentionné dans ce livre, qui offre de l’argent à des étudiant⋅e⋅s pour travailler sur des projets open source pendant un été. Les étudiant⋅e⋅s sont associé⋅e⋅s à des mentors qui vont les aider à se familiariser avec le projet. Le Summer of Code est maintenu par le bureau des programmes open source de Google, et il a financé des milliers d’étudiant⋅e⋅s.

Le but du Summer of Code est de donner à des étudiants la possibilité d’écrire du code pour des projets open source, non de financer les projets eux-mêmes.

L’an dernier, Stripe, une entreprise de traitement des paiements, a annoncé une « retraite  open source », offrant un salaire mensuel d’un maximum de 7500 dollars pour une session de trois mois dans les locaux de Stripe. À l’origine, l’entreprise voulait uniquement offrir deux bourses, mais après avoir reçu 120 candidatures, le programme a été ouvert à quatre bénéficiaires.

Ces derniers ont été enchantés par cette expérience. L’un d’entre eux, Andrey Petrov, continue de maintenir la bibliothèque Python urllib3 dont nous avons déjà parlé, et qui est largement utilisée dans l’écosystème Python.

À propos de cette expérience, Andrey a écrit :

« La publication et la contribution au code open source vont continuer que je sois payé pour ou non, mais le processus sera lent et non ciblé. Ce qui n’est pas un problème, car c’est ainsi que l’open source a toujours fonctionné. Mais on n’est pas obligé d’en rester là. […] 

Si vous êtes une entreprise liée à la technologie, allouez s’il vous plaît un budget pour du financement et des bourses dans le domaine de l’open source. Distribuez-le sur Gittip [Note : Gittip est maintenant dénommé Gratipay. Le produit a été quelque peu modifié depuis la publication originelle du billet d’Andrew] si vous voulez, ou faites ce qu’a fait Stripe et financez des sprints ambitieux pour atteindre des objectifs de haute valeur. 

Considérez ceci comme une demande solennelle  de parrainage : s’il vous plaît, aidez au financement du développement d’urllib3. »

La retraite open source de Stripe peut servir de modèle aux programmes de soutien. Stripe a décidé de reconduire le programme pour une deuxième année consécutive en 2015. Malgré la popularité de leur programme et la chaude réception qu’il a reçue chez les développeurs et développeuses, cette pratique n’est toujours pas répandue dans les autres entreprises.

Les entreprises montrent un intérêt croissant pour l’open source, et personne ne peut prédire au juste ce que cela donnera sur le long terme. Les entreprises pourraient régler le problème du manque de support à long terme en consacrant des ressources humaines et un budget aux projets open source. Des programmes de bourse formalisés pourraient permettre de mettre en contact des entreprises avec des développeurs open source ayant besoin d’un soutien à plein temps. Alors que les équipes de contributeurs à un projet étaient souvent composées d’une diversité de développeurs venant de partout, peut-être seront-elles bientôt composées par un groupe d’employés d’une même entreprise. Les infrastructures numériques deviendront peut-être une série de « jardins clos », chacun d’entre eux étant techniquement ouvert et bénéficiant d’un soutien solide, mais en réalité, grâce à ses ressources illimitées, une seule entreprise et de ses employés en assureront le soutien.

Mais si on pousse la logique jusqu’au bout, ce n’est pas de très bon augure pour l’innovation. Jeff Lindsay, un architecte logiciel qui a contribué à mettre en place l’équipe de Twilio, une entreprise  performante de solutions de communication dans le cloud, livrait  l’an dernier ses réflexions dans une émission :

« À Twilio, on est incité à améliorer le fonctionnement de Twilio, à Amazon on est incité à améliorer le fonctionnement d’Amazon. Mais qui est incité à mieux les faire fonctionner ensemble et à offrir plus de possibilités aux usagers en combinant les deux ? Il n’y a personne qui soit vraiment incité à faire ça. »

Timothy Fuzz, un ingénieur système, ajoute :

« Pour Bruce Schneier, cette situation tient du servage. Nous vivons dans un monde où Google est une cité-état, où Apple est une cité-état et… si je me contente de continuer à utiliser les produits Google, si je reste confiné dans l’environnement Google, tout me paraît bénéfique. Mais il est quasi impossible de vivre dans un monde où je change d’environnement : c’est très pénible, vous tombez sur des bugs, et aucune de ces entreprises ne cherche vraiment à vous aider. Nous sommes dans ce monde bizarre, mais si vous regardez du côté des cités-états, l’un des problèmes majeurs c’est le commerce inter-étatique : si on doit payer des droits de douane parce qu’on cherche à exporter quelque chose d’Austin pour le vendre à Dallas, ce n’est pas un bon modèle économique. On pâtit de l’absence d’innovation et de partage des idées. On en est là, aujourd’hui. »

Bien que l’argument du « servage » se réfère généralement aux produits d’une entreprise, comme l’addiction à l’iPhone ou à Android, il pourrait être tout aussi pertinent pour les projets open source parrainés. Les améliorations prioritaires seront toujours celles qui bénéficient directement à l’entreprise qui paie le développeur. Cette remarque ne relève pas de la malveillance ou de la conspiration : simplement, être payé par une entreprise pour travailler à un projet qui ne fait pas directement partie de ses affaires est une contrainte à prendre en compte.

Mais personne, pas plus Google que la Fondation Linux ou qu’un groupe de développeurs indépendants, ne peut contrôler l’origine d’un bon projet open source. Les nouveaux projets de valeur peuvent germer n’importe où, et quand ils rendent un service de qualité aux autres développeurs, ils sont largement adoptés. C’est une bonne chose et cela alimente l’innovation.

Aide spécifique de fondation

Deux fondations ont récemment fait part de leur décision de financer plus spécifiquement l’infrastructure numérique : la Fondation Linux et la Fondation Mozilla.

Après la découverte de la faille Heartbleed, la Fondation Linux a annoncé qu’elle mettait en place l’Initiative pour les infrastructures essentielles (Core Infrastructure Initiative, CII) pour éviter que ce genre de problème ne se reproduise. Jim Zemlin, le directeur-général de la Fondation Linux, a réuni près de 4 millions de dollars en promesses de dons provenant de treize entreprises privées, dont Amazon Web Services, IBM et Microsoft, pour financer des projets liés à la sécurité des infrastructures pour les trois ans à venir. La Fondation Linux s’occupe également d’obtenir des financements gouvernementaux, y compris de la Maison-Blanche.

La CII est officiellement un projet de la fondation Linux. Depuis sa création en avril 2014, la CII a sponsorisé du travail de développement d’un certain nombre de projets, dont OpenSSL, NTP, GnuPG (un système de chiffrement des communications) et OpenSSH (un ensemble de protocoles relatifs à la sécurité). La CII se concentre en priorité sur une partie de l’infrastructure numérique : les projets relatifs à la sécurité.

Au mois d’octobre 2015, Mitchell Baker, la présidente de la Fondation Mozilla, a annoncé la création du Programme de soutien à l’open source de Mozilla (Mozilla Open Source Support Program, MOSS) et a promis de consacrer un million de dollars au financement de logiciels libres et open source. Selon Baker, ce programme aura deux volets : un volet « rétribution » pour les projets qu’utilise Mozilla et un volet « contribution » pour les projets libres et open source en général. Grâce aux suggestions de la communauté, Mozilla a sélectionné neuf projets pour la première série de bourses. Ils se disent également prêts à financer des audits de sécurité pour les projets open source importants.

Enfin, certaines fondations contribuent ponctuellement à des projets de développement logiciel. Par exemple, la Python Software Foundation propose aux individus et aux associations des bourses modestes destinées pour la plupart aux actions pédagogiques et de sensibilisation.

Autres acteurs institutionnels

Il existe plusieurs autres acteurs qui apportent diverses formes de soutien aux infrastructures numériques : Github, le capital-risque et le monde universitaire. Si Facebook est un « utilitaire social » et Google un « utilitaire de recherche », tous deux régulant de facto les corps dans leur domaine respectif – alors Github a une chance de devenir « l’utilitaire open source ». Son modèle économique l’empêche de devenir un mastodonte financier (contrairement à Facebook ou Google dont le modèle est basé sur la publicité, alors que Github se monétise par l’hébergement de code pour les clients professionnels, et par l’hébergement individuel de code privé), mais Github est toujours un endroit où aujourd’hui encore l’open source est créée et maintenue.

github
GitHub s’adresse aux entreprises aussi – Image par Evan (licence CC BY 2.0)

Github s’est doté de grandes aspirations avec une levée de fonds de capital-risque de 350 millions de dollars, même si l’entreprise était déjà rentable. Si Github assume pleinement son rôle d’administrateur du code open source, l’organisation peut avoir une énorme influence sur le soutien apporté à ces projets. Par exemple, elle peut créer de meilleurs outils de gestion de projets open source, défendre certaines catégories de licences, ou aider les gestionnaires de projets à gérer efficacement leurs communautés.

Github a subi de grosses pressions venant des développeurs qui gèrent certains projets, ces pressions incluent une lettre ouverte collective intitulée « Cher Github », principalement issue de la communauté Javascript. Cette lettre explique : « Beaucoup sont frustrés. Certains parmi nous qui déploient des projets très populaires sur Github se sentent totalement ignoré par vous ». La lettre inclut une liste de requêtes pour l’amélioration de produits, qui pourrait les aider à gérer plus efficacement leurs projets.

Github se confronte de plus en plus à des difficultés largement documentées dans les médias. Auparavant, l’entreprise était connue pour sa hiérarchie horizontale, sans aucun manager ni directive venant d’en haut. Les employés de Github avaient aussi la liberté de choisir de travailler sur les projets qu’ils souhaitaient. Ces dernières années, tandis que Github s’est développée pour atteindre presque 500 employés, l’entreprise a réorienté sa stratégie vers une orientation plus commerciale en recrutant des équipes de vente et des dirigeants, insérés dans un système hiérarchique plus traditionnel. Cette transition d’une culture décentralisée vers plus de centralité s’est faite dans la douleur chez Github : au moins 10 dirigeants ont quitté l’organisation durant les quelques mois de l’hiver 2015-2016, ces départs incluant l’ingénieur en chef, le directeur des affaires financières, le directeur stratégique et le directeur des ressources humaines. En raison de ces conflits internes, Github n’a toujours pas pris position publiquement pour jouer un rôle de promoteur de l’open source et assumer un leadership à même de résoudre les questions pressantes autour de l’open source, mais le potentiel est bel et bien là.

Pour le capital-risque, abordé précédemment, il y a un enjeu particulier dans l’avenir des infrastructures numériques. Comme les outils des développeurs aident les entreprises du secteur technologique à créer plus rapidement et plus efficacement, meilleurs sont les outils, meilleures sont les startups, meilleure sera la rentabilité du capital-risque. Néanmoins, l’infrastructure, d’un point de vue capitaliste, n’est en rien limitée à l’open source mais plus largement focalisée sur les plateformes qui aident d’autres personnes à créer. C’est pour cela que les investissements dans Github ou npm, qui sont des plateformes qui aident à diffuser du code source, ont un sens, mais tout aussi bien les investissements dans Slack, une plateforme de travail collaboratif que les développeurs peuvent utiliser pour construire des applications en ligne de commande connectées à la plateforme (à ce propos, le capital-risque a constitué un fonds de 80 millions dédié au support de projets de développement qui utilisent Slack). Même si le capital-risque apprécie les mécaniques sous-jacentes de l’infrastructure, il est limité dans ses catégories d’actifs : un capitaliste ne peut pas investir dans un projet sans modèle économique.

Enfin, les institutions universitaires ont joué un rôle historique éminent dans le soutien aux infrastructures numériques, tout particulièrement le développement de nouveaux projets. Par exemple, LLVM, un projet de compilateur pour les langages C et C++, a démarré en tant que projet de recherche au sein de l’Université de l’Illinois, à Urbana-Champaign. Il est maintenant utilisé par les outils de développement de Mac OS X et iOS d’Apple, mais aussi dans le kit de développement de la Playstation 4 de Sony.

Un autre exemple, R, un langage de programmation répandu dans la statistique assistée par ordinateur et l’analyse de données, a été d’abord écrit par Robert Gentleman et Ross Ihaka à l’Université d’Auckland. R n’est pas uniquement utilisé par des entreprises logicielles comme Facebook ou Google, mais aussi par la Bank of America, l’Agence américaine des produits alimentaires et médicamenteux et le Service météorologique national américain, entre autres.

Quelques universités emploient également des programmeurs qui ont alors la liberté de travailler à des projets open source. Par exemple, le protocole d’heure réseau ou NTP (Network Time Protocol) utilisé pour synchroniser le temps via Intrenet, fut d’abord développé par David Mills, maintenant professeur émérite de l’université du Delaware — le projet continuant à être maintenu par un groupe de volontaires conduit par Harlan Stenn. Bash, l’outil de développement dont nous parlions dans un chapitre précédent, est actuellement maintenu par Chet Ramsay, qui est employé par le département des technologies de l’information de l’université Case Western.

Les institutions universitaires ont le potentiel pour jouer un rôle important dans le soutien de nouveaux projets, parce que cela coïncide avec leurs missions et types de donation, mais elles peuvent aussi manquer de la réactivité nécessaire pour attirer les nouveaux programmeurs open source. NumFOCUS est un exemple d’une fondation 501(c)(3) qui soutient les logiciels scientifiques open source à travers des donations et  parrainages financiers. Le modèle de la fondation externe peut aider à fournir le soutien dont les logiciels scientifiques ont besoin dans un contexte d’environnement universitaire. Les fondations Alfred P. Sloan et Gordon & Betty Moore expérimentent aussi des manières de connecter les institutions universitaires avec les mainteneurs de logiciels d’analyse des données, dans le but de soutenir un écosystème ouvert et durable.




Des routes et des ponts (14) – synthèse sur les difficultés de financement

Au cours des deux derniers chapitres (si vous avez manqué des chapitres, c’est par ici) Nadia Eghbal nous a décrit les solutions existantes pour financer les projets open source et leurs contributeurs : mécénat, crowdfunding, utilisation payante d’un logiciel ou d’un service ; elle a également montré les difficultés et les limites de chaque mode de financement.

Dans ce bref chapitre, l’autrice poursuit sa recherche sur les financements en faisant un point synthétique sur les causes systémiques des difficultés de financement des projets open source.

Traduction Framalang : Sphinx, Penguin, Opsylac, Luc, dominix, lyn., goofy

Pourquoi ces projets sont-ils si difficiles à financer ?

Aujourd’hui, le travail sur les infrastructures numériques est effectué par des développeurs freelance ou ayant un « job alimentaire », leur temps libre est consacré aux projets open source mais le reste du temps ils font un travail rémunéré sans rapport avec ces projets. Même si c’est un moyen réaliste pour financer son quotidien, cela ne permet pas d’apprécier à sa juste valeur l’apport social de ces projets.

Étonnamment, bien que tout le monde soit d’accord pour reconnaître qu’il y a un problème (qu’on le qualifie de « burnout du bénévole », de mauvaise gestion de la communauté ou de manque de financement suffisant), la discussion ne dépasse pas le stade de maigres solutions à court-terme comme les « pourboires » ou le crowdfunding.

Discutez avec des développeurs qui ont trouvé un moyen de gagner leur vie, et vous entendrez le mot « chanceux » à tout bout de champ : chanceux d’avoir été embauché par une entreprise, chanceux d’avoir eu de la notoriété et des dons, chanceux d’être tombé sur un modèle économique viable, chanceux de ne pas avoir une famille ou un prêt dont s’inquiéter. Tout le monde peut être chanceux. Mais la chance dure quelques mois, peut-être un an ou deux, et puis elle s’épuise.

Pourquoi est-il si difficile de financer les infrastructures numériques ?

Fondamentalement, l’infrastructure numérique a un problème de passagers clandestins. Les ressources sont disponibles gratuitement, et tout le monde les utilise (qu’il s’agisse de développeurs individuels ou de grandes entreprises de logiciels), mais personne n’est encouragé à contribuer en retour, chacun s’imaginant qu’un autre finira par le faire. S’il est laissé à l’abandon, ce problème mènera à une tragédie des communs.
En plus de l’enjeu macroéconomique des communs, il y a plusieurs raisons pour lesquelles le financement des infrastructures numériques est particulièrement compliqué. Ces raisons ont déjà été abordées au cours de cette étude, mais sont toutes résumées ici.

On croit à tort qu’il s’agit d’un « problème résolu ».

Même parmi les acteurs du secteur comme les entreprises de logiciels, la croyance est très répandue que l’open source est déjà correctement financée, ce qui rend d’autant plus difficile la levée de fonds. Certains projets d’infrastructure fonctionnent durablement, soit parce qu’ils disposent d’un modèle économique viable ou de mécènes, soit parce que les coûts de maintenance sont limités. Un public novice pourra également faire le lien entre l’open source et des entreprises telles que Red Hat ou Docker et penser que le problème a été résolu. Mais il faut garder à l’esprit que ces cas sont l’exception et non la règle.

Il manque une prise de conscience et une compréhension culturelle de ce problème.

En dehors de la communauté open source, tout le monde, ou presque, ignore les problèmes de financement de ces projets d’infrastructure, et le sujet est perçu comme plutôt aride et technique. Les développeurs qui ont besoin de soutien ont tendance à se concentrer principalement sur la technique et sont mal à l’aise lorsqu’il s’agit de défendre l’aspect financier de leur travail. Au bout du compte, on ne parvient pas à trouver l’élan qui pourrait modifier cette situation en panne.

Les infrastructures numériques sont enracinées dans l’open source, dont la culture du bénévolat n’encourage pas à parler d’argent.

Même si cette attitude a fait de l’open source ce qu’elle est aujourd’hui, elle crée également un tabou qui rend difficile pour les développeurs l’évocation de leurs besoins, car ils se sentent coupables ou ont peur de passer pour des personnes qui n’auraient pas l’esprit d’équipe. La nature hautement décentralisée et démocratique de l’Open source rend également difficile la coordination et le financement d’acteurs institutionnels qui pourraient défendre leurs intérêts.

5682524083_faeb5c2927_z
I want you to open source! photo par J. Albert Bowden II (CC BY 2.0)

 

Les infrastructures numériques sont hautement décentralisées, contrairement aux infrastructures physiques.

Contrairement à un projet de construction de pont, il n’est pas toujours évident de savoir quels projets seront utiles avant qu’ils n’aient déjà décollé. Ils ne peuvent pas être planifiés à l’avance par un organisme centralisé. Et à l’autre bout du cycle de vie, certains projets sont destinés à tomber en désuétude à mesure que d’autres solutions, meilleures, prendront leur place. L’infrastructure numérique est constituée de centaines de projets, grands ou petits, réalisés par des individus, des groupes ou des entreprises ; en faire l’inventaire serait un travail de titan.

 

« Il est difficile de trouver des financements… pour le développeur moyen (comme moi), certains sont totalement hors de portée. [Kickstarter] ne marche que si tu deviens viral, ou si tu embauches quelqu’un pour faire tout ce qui est marketing/design/promotion… Transformer un projet en entreprise c’est génial aussi mais… ce sont des choses qui t’éloignent du développement (qui est la partie qui m’intéresse). Si je voulais obtenir une subvention, je ne saurais même pas par où commencer. »

– Kyle Kemp, développeur freelance et contributeur open source.