Des routes et des ponts (12) – en quête de modèle économique

Dans notre projet de traduction de l’ouvrage de Nadia Eghbal Roads and Bridges (tous les épisodes déjà traduits), nous abordons aujourd’hui une section importante consacrée aux modes de financement de ce qu’elle appelle l’infrastructure numérique et qui est comme l’épine dorsale de du monde informatique.

Elle donne ici un aperçu avec quelques exemples significatifs des trois principales voies explorées avec des succès variables par les développeurs et les entreprises : l’incitation par des récompenses, la monétisation par des services et le recours à des licences open source hybrides, en partie payantes…

Des modèles économiques pour les infrastructures numériques

Traduction Framalang : Piup, xi, Penguin, Bidouille, Lumibd, Opsylac, goofy

Certains aspects des infrastructures numériques peuvent fonctionner dans un contexte concurrentiel. Les bases de données et les services d’hébergement, par exemple, sont souvent des affaires profitables, bien financées, parce qu’elles peuvent faire payer l’accès. Tout comme l’accès à l’eau ou à l’électricité, l’accès à un serveur ou à une base de données peut être mesuré, facturé, et fermé si les honoraires ne sont pas réglés.

Heroku (mentionné au début de ce rapport) et Amazon Web Services sont deux exemples notables de plateformes qui vendent des services d’infrastructure numérique à des développeurs logiciels contre une redevance (à noter qu’aucun des deux n’est un projet open source). Des projets open source similaires, à ce niveau d’infrastructure, tels que OpenStack (une plate-forme concurrente d’Amazon Web Services) ou MySQL (une base de données), ont trouvé leurs assises dans des entreprises. OpenStack est financé par un consortium d’entreprises, et MySQL a été racheté par Oracle.

Une partie de ce qui rend ces services financièrement attractifs, c’est l’absence de « bruit ». Pour un seul logiciel, un développeur utilise parfois 20 bibliothèques différentes, avec chacune des fonctions différentes, mais il n’a besoin que d’une seule base de données. En conséquence, les projets à succès ont plus de chances d’obtenir l’attention et le soin dont ils ont besoin.

Il existe une autre façon utile de cerner les infrastructures que l’on peut facturer : s’il y a un risque immédiat de défaillance, alors il y a probablement un modèle économique. En d’autres termes, un serveur peut subir des interruptions de service inattendues, tout comme l’électricité peut sauter à l’improviste, mais un langage de programmation ne « casse » ni n’a des périodes d’indisponibilités de cette même façon, parce qu’il s’agit d’un système d’information.

Pour ce genre de projets open source, le modèle économique a tendance à se focaliser sur la recherche de services ou d’assistance facturables. Cela fonctionne pour les projets qui bénéficient d’un usage significatif par les entreprises, en particulier quand il s’agit d’un problème techniquement complexe, ou lorsqu’une entreprise a besoin qu’une fonction soit développée.

Récompenses

bountysource
Logo de Bountysource

À petite échelle, des gens ou des entreprises promettent parfois des « récompenses » d’ordre pécuniaire pour l’atteinte de certains objectifs de développement.
Par exemple, IBM demande régulièrement de nouvelles fonctionnalités pour divers projets par le biais d’un site web appelé Bountysource, offrant jusqu’à 5 000 $ par tâche. Bountysource est une plateforme populaire pour trouver et proposer des récompenses ; elle compte plus de 26 000 membres. 120 récompenses aident à régler les problèmes précédemment mentionnés liés aux simples dons à un projet. Comme les récompenses sont clairement liées à un résultat, l’argent va être utilisé. En revanche, les récompenses peuvent avoir des effets pervers pour l’incitation à contribuer à un projet.
Les récompenses peuvent dicter quel travail sera ou ne sera pas effectué, et parfois ce travail n’est pas en phase avec les priorités d’un projet. Il peut aussi introduire du bruit dans le système : par exemple, une entreprise peut offrir une forte récompense pour une fonctionnalité que les propriétaires du projet ne considèrent pas comme importante.

Du côté des contributeurs, des personnes extérieures sans connaissances sur un projet peuvent y participer seulement pour obtenir la récompense, puis le quitter. Ou bien elles peuvent bâcler le travail requis, parce qu’elles essaient d’obtenir des récompenses. Enfin, les récompenses peuvent être une façon appropriée de financer de nouvelles fonctionnalités ou des problèmes importants, mais sont moins pratiques lorsqu’il s’agit de financer des opérations continues, comme le service client ou la maintenance.

Jeff Atwood, le créateur de Stack Overflow, a remarqué les problèmes suivants avec les programmes de récompenses, en particulier en ce qui concerne la sécurité :

L’un des effets pervers de cette tendance à attribuer des récompenses pour les rapports de bugs est que cela n’attire pas seulement de véritables programmeurs intéressés par la sécurité, mais aussi tous les gens intéressés par l’argent facile. Nous avons reçu trop de rapports de bugs de sécurité « sérieux » qui n’avaient qu’une importance très faible. Et nous devons les traiter, parce qu’ils sont « sérieux », n’est-ce pas ? Malheureusement, beaucoup d’entre eux ne représentent qu’un gaspillage de temps… Ce genre d’incitation me semble mauvais. Même si je sais que la sécurité est extrêmement importante, je vois ces interactions avec de plus en plus d’inquiétude parce qu’elles me créent beaucoup de travail et que le retour sur investissement est très faible.

Services

24746427684_9a2f00a705_z
Photo par Rich Bowen (CC BY 2.0)

À une plus vaste échelle, un des exemples bien connus et les plus souvent cités de modèle économique open source, c’est Red Hat, l’entreprise dont nous avons déjà parlé, qui propose une assistance, des sessions de formation et autres services à des entreprises qui utilisent Linux. Red Hat a été fondée en 1993, il s’agit d’une entreprise cotée en bourse avec un chiffre d’affaires déclaré de 2 milliards de dollars par an.

Bien que Red Hat ait connu un succès fantastique d’un point de vue financier, nombreux sont ceux qui soulignent qu’il s’agit d’une anomalie qui n’aura pas de lendemains. Red Hat a bénéficié de l’avantage du premier arrivé dans son domaine technologique. Matt Asay, un journaliste spécialisé en open source, a remarqué que Red Hat utilise un ensemble unique de licences et brevets pour protéger ses parts de marché. Asay, qui auparavant était un fervent défenseur des entreprises open source, est maintenant persuadé que certaines licences propriétaires sont nécessaires pour faire sérieusement des affaires. Matthew Aslet du 451 Group, un organisme de recherche, a découvert lui aussi que la plupart des entreprises open source qui réussissent utilisent en fait un type ou un autre de licence commerciale.

Docker, déjà mentionné plus haut, est un projet open source qui aide les applications à fonctionner efficacement. C’est l’exemple le plus récent d’entreprise qui s’inspire de ce modèle. Docker a levé 180 millions de dollars en capital-risque auprès d’investisseurs, avec une valorisation d’un milliard de dollars de la part d’investisseurs privés. Comme sa part de marché s’est accrue, Docker a commencé à proposer des services d’assistance au niveau des entreprises. Mais sans solides revenus, Docker pourrait n’être qu’un exemple de plus de capital-risque qui fait un investissement dans une entreprise d’infrastructure leader sur son marché, mais qui réalise des pertes.

À petite échelle, beaucoup de développeurs proposent des services de consultants pour pouvoir financer leur travail. Hoodie est un framework poids plume qui repose sur Node et qui a réussi dans les services de consultants.

Hoodie lui-même est un projet open source. Plusieurs mainteneurs gagnent leur vie grâce à la boutique de l’entreprise, Neighbourhoodie, qui propose des services de développement logiciel. Bien que Neighbourhoodie se spécialise dans le framework de Hoodie, ce dernier est encore un projet plutôt jeune, de sorte que certaines parties de son travail proviennent de pojets qui ne sont pas lié à Hoodie. Dans le cas de Hoodie, le modèle de services choisi est censé payer le salaire de plusieurs mainteneurs, plutôt que de viser une stratégie d’entreprise de l’échelle de Red Hat.

Le conseil est une option viable pour les développeurs indépendants, s’il y a suffisamment de gens qui utilisent le projet qui sont d’accord et ont assez d’argent pour payer de l’aide supplémentaire. Mais à petite échelle, cela peut aussi les empêcher d’améliorer le projet lui-même, puisque les deux personnes au plus qui le maintiennent passent désormais leur temps à développer leur affaire et à fournir des services qui peuvent ou non être en accord avec les besoins du projet en termes de maintenance.

Aspirer à une activité de consultant peut aussi entrer en contradiction avec l’objectif de rendre le produit facile à utiliser et à appréhender, ce qui est bien dans l’esprit de l’open source. Twisted, la bibliothèque Python déjà citée, a mentionné un témoignage plein d’humour de l’un de ses utilisateurs, une entreprise nommée Mailman : « Les gars, vous avez un gros problème, parce que c’était vraiment trop facile ! Comment vous comptez vous faire un paquet d’argent juste avec du conseil ? 🙂 »

En fin de compte, le « modèle économique » pour un projet open source n’est pas très différent du simple travail indépendant.

Licences payantes

Certains développeurs ont l’impression que mettre les projets sous licence serait une solution au moins partielle aux problèmes de financement de l’open source. Si les projets open source sont fortement utilisés, pourquoi ne pas les facturer ? Ces « licences payantes » ne sont techniquement pas des licences open source, selon la définition de l’open source Initiative. Il s’agit plutôt d’initiatives qui tentent d’apporter un équilibre entre le besoin très concret de travail rémunéré et le désir de rendre le code accessible au public. Ce type de code peut être appelé « à source visible » ou «  à source disponible ». Fair Source, par exemple, se décrit lui-même comme «  [offrant] certains des avantages de l’open source tout en préservant la possibilité de faire payer pour le logiciel. »

La licence Fair Source fut créée en novembre 2015 par une entreprise appelée Sourcegraph pour répondre au besoin de licence payante. Les termes de la licence ont été rédigés par Heather Meeker, un juriste qui a également travaillé dans l’équipe principale de la Mozilla Public License v2.0. Avec la licence Fair Source, on peut librement consulter, télécharger, exécuter et modifier le code, jusqu’à un certain nombre d’utilisateurs par organisation. Une fois cette limite dépassée, l’organisation doit payer un forfait de licence, dont le montant est déterminé par l’éditeur. En d’autres termes, le code Fair Source est gratuit pour un usage personnel et pour les PME, mais fournit une base légale pour facturer les cas de plus gros usages commerciaux.

L’annonce par Sourcegraph de la création de la licence Fair Source, qu’ils utilisent maintenant eux-mêmes, a provoqué un débat animé sur la monétisation de l’open source. (Il est à noter qu’un mouvement similaire autour du « shareware », logiciel propriétaire gratuit, avait émergé avec un certain succès populaire dans les années 1980).
Mike Perham, l’un des mainteneurs de Sidekiq, un outil populaire pour le développement en Ruby, a aussi récemment suggéré aux contributeurs et contributrices open source d’utiliser une «  licence duale » pour monétiser leur travail, faisant payer les entreprises l’accès à une licence MIT permissive plutôt qu’une licence AGPL plus restrictive qui impose l’attribution. Sa théorie est qu’en faisant d’AGPL la licence par défaut, « les entreprises vont payer pour l’éviter. »
Pour justifier cette idée, Perham a rappelé à son public :

«  Souvenez-vous : logiciel open source ne signifie pas logiciel gratuit. Ce n’est pas parce que l’on peut consulter la source sur GitHub que tout le monde peut l’utiliser et en faire n’importe quoi. Il n’y a aucune raison pour laquelle vous ne pourriez pas donner l’accès à votre code mais aussi faire payer pour son utilisation. Tant que vous possédez le code, vous avez le droit d’y attribuer la licence que vous voulez.
…[La] réalité, c’est que la plupart des petits projets open source dépendent d’une seule personne qui fait 95 % du travail. Si c’est votre cas, soyez reconnaissants envers les gens qui vous aident gratuitement mais ne vous sentez pas coupable de garder 100 % du revenu. »

Faire payer les entreprises offre une autre possibilité aux développeurs et développeuses qui souhaitent poursuivre leur travail, en particulier s’il n’y a qu’une ou deux personnes pour maintenir un projet actif. Cependant, tous les projets ne peuvent pas faire payer pour le travail fourni, en particulier les projets plus vieux, ou les projets d’infrastructure qui ressemblent plus à des biens publics qu’à des produits de consommation, comme les langages de programmation.

Même si les licences payantes peuvent fonctionner pour certains scénarios, ce modèle est aussi pour beaucoup en opposition avec l’énorme valeur sociale offerte par l’open source, qui suggère que lorsque le logiciel est libre, l’innovation suit.

L’objectif ne devrait pas être le retour à une société qui repose sur les logiciels fermés, où le progrès et la créativité sont limités, mais de soutenir de façon durable un écosystème public dans lequel le logiciel peut être créé et distribué librement.




Pourquoi Framasoft n’ira plus prendre le thé au ministère de l’Éducation Nationale

Cet article vise à clarifier la position de Framasoft, sollicitée à plusieurs reprises par le Ministère de l’Éducation Nationale ces derniers mois. Malgré notre indignation, il ne s’agit pas de claquer la porte, mais au contraire d’en ouvrir d’autres vers des acteurs qui nous semblent plus sincères dans leur choix du libre et ne souhaitent pas se cacher derrière une « neutralité et égalité de traitement » complètement biaisée par l’entrisme de Google, Apple ou Microsoft au sein de l’institution.

Pour commencer

Une technologie n’est pas neutre, et encore moins celui ou celle qui fait des choix technologiques. Contrairement à l’affirmation de la Ministre de l’Éducation Mme Najat Vallaud-Belkacem, une institution publique ne peut pas être « neutre technologiquement », ou alors elle assume son incompétence technique (ce qui serait grave). En fait, la position de la ministre est un sophisme déjà bien ancien ; c’est celui du Gorgias de Platon qui explique que la rhétorique étant une technique, il n’y en a pas de bon ou de mauvais usage, elle ne serait qu’un moyen.

Or, lui oppose Socrate, aucune technique n’est neutre : le principe d’efficacité suppose déjà d’opérer des choix, y compris économiques, pour utiliser une technique plutôt qu’une autre ; la possession d’une technique est déjà en soi une position de pouvoir ; enfin, rappelons l’analyse qu’en faisait Jacques Ellul : la technique est un système autonome qui impose des usages à l’homme qui en retour en devient addict. Même s’il est consternant de rappeler de tels fondamentaux à ceux qui nous gouvernent, tout choix technologique suppose donc une forme d’aliénation. En matière de logiciels, censés servir de supports dans l’Éducation Nationale pour la diffusion et la production de connaissances pour les enfants, il est donc plus qu’évident que choisir un système plutôt qu’un autre relève d’une stratégie réfléchie et partisane.

Le tweet confondant neutralité logicielle et choix politique.
Le tweet confondant neutralité logicielle et choix politique.

Un système d’exploitation n’est pas semblable à un autre, il suffit pour cela de comparer les deux ou trois principaux OS du marché (privateur) et les milliers de distributions GNU/Linux, pour comprendre de quel côté s’affichent la créativité et l’innovation. Pour les logiciels en général, le constat est le même : choisir entre des logiciels libres et des logiciels privateurs implique une position claire qui devrait être expliquée. Or, au moins depuis 1997, l’entrisme de Microsoft dans les organes de l’Éducation Nationale a abouti à des partenariats et des accords-cadres qui finirent par imposer les produits de cette firme dans les moindres recoins, comme s’il était naturel d’utiliser des solutions privatrices pour conditionner les pratiques d’enseignement, les apprentissages et in fine tous les usages numériques. Et ne parlons pas des coûts que ces marchés publics engendrent, même si les solutions retenues le sont souvent, au moins pour commencer, à « prix cassé ».

Depuis quelque temps, au moins depuis le lancement de la première vague de son projet Degooglisons Internet, Framasoft a fait un choix stratégique important : se tourner vers l’éducation populaire, avec non seulement ses principes, mais aussi ses dynamiques propres, ses structures solidaires et les valeurs qu’elle partage. Nous ne pensions pas que ce choix pouvait nous éloigner, même conceptuellement, des structures de l’Éducation Nationale pour qui, comme chacun le sait, nous avons un attachement historique. Et pourtant si… Une rétrospective succincte sur les relations entre Microsoft et l’Éducation Nationale nous a non seulement donné le tournis mais a aussi occasionné un éclair de lucidité : si, malgré treize années d’(h)activisme, l’Éducation Nationale n’a pas bougé d’un iota sa préférence pour les solutions privatrices et a même radicalisé sa position récemment en signant un énième partenariat avec Microsoft, alors nous utiliserions une partie des dons, de notre énergie et du temps bénévole et salarié en pure perte dans l’espoir qu’il y ait enfin une position officielle et des actes concrets en faveur des logiciels libres. Finalement, nous en sommes à la fois indignés et confortés dans nos choix.

Extrait de l'accord-Cadre MS-EN novembre 2015
Extrait de l’accord-Cadre MS-EN novembre 2015

L’Éducation Nationale et Microsoft, une (trop) longue histoire

En France, les rapports qu’entretient le secteur de l’enseignement public avec Microsoft sont assez anciens. On peut remonter à la fin des années 1990 où eurent lieu les premiers atermoiements à l’heure des choix entre des solutions toutes faites, clés en main, vendues par la société Microsoft, et des solutions de logiciels libres, nécessitant certes des efforts de développement mais offrant à n’en pas douter, des possibilités créatrices et une autonomie du service public face aux monopoles économiques. Une succession de choix délétères nous conduisent aujourd’hui à dresser un tableau bien négatif.

Dans un article paru dans Le Monde du 01/10/1997, quelques mois après la réception médiatisée de Bill Gates par René Monory, alors président du Sénat, des chercheurs de l’Inria et une professeure au CNAM dénonçaient la mainmise de Microsoft sur les solutions logicielles retenues par l’Éducation Nationale au détriment des logiciels libres censés constituer autant d’alternatives fiables au profit de l’autonomie de l’État face aux monopoles américains. Les mots ne sont pas tendres :

(…) Microsoft n’est pas la seule solution, ni la meilleure, ni la moins chère. La communauté internationale des informaticiens développe depuis longtemps des logiciels, dits libres, qui sont gratuits, de grande qualité, à la disposition de tous, et certainement beaucoup mieux adaptés aux objectifs, aux besoins et aux ressources de l’école. Ces logiciels sont largement préférés par les chercheurs, qui les utilisent couramment dans les contextes les plus divers, et jusque dans la navette spatiale. (…) On peut d’ailleurs, de façon plus générale, s’étonner de ce que l’administration, et en particulier l’Éducation Nationale, préfère acheter (et imposer à ses partenaires) des logiciels américains, plutôt que d’utiliser des logiciels d’origine largement européenne, gratuits et de meilleure qualité, qui préserveraient notre indépendance technologique.

L’année suivante, en octobre 1998, le Ministère de l’Éducation Nationale signe avec l’AFUL un accord-cadre pour l’exploitation, le développement et l’expertise de solutions libres dans les établissements. Le Ministère organise même en juillet 1999 une Université d’été « La contribution des logiciels et ressources libres à l’amélioration de l’environnement de travail des enseignants et des élèves sur les réseaux ».

Microsoft : Do you need a backdoor ?
Microsoft : Do you need a backdoor ?

D’autres témoignages mettent en lumière des tensions entre logiciels libres et logiciels privateurs dans les décisions d’équipement et dans les intentions stratégiques de l’Éducation Nationale au tout début des années 2000. En revanche, en décembre 2003, l’accord-cadre1 Microsoft et le Ministère de l’Éducation Nationale change radicalement la donne et propose des solutions clés en main intégrant trois aspects :

  • tous les établissements de l’Éducation Nationale sont concernés, des écoles primaires à l’enseignement supérieur ;
  • le développement des solutions porte à la fois sur les systèmes d’exploitation et la bureautique, c’est-à-dire l’essentiel des usages ;
  • la vente des logiciels se fait avec plus de 50% de remise, c’est-à-dire avec des prix résolument tirés vers le bas.

Depuis lors, des avenants à cet accord-cadre sont régulièrement signés. Comme si cela ne suffisait pas, certaines institutions exercent leur autonomie et établissent de leur côté des partenariats « en surplus », comme l’Université Paris Descartes le 9 juillet 2009, ou encore les Villes, comme Mulhouse qui signe un partenariat Microsoft dans le cadre de « plans numériques pour l’école », même si le budget est assez faible comparé au marché du Ministère de l’Éducation.

Il serait faux de prétendre que la société civile ne s’est pas insurgée face à ces accords et à l’entrisme de la société Microsoft dans l’enseignement. On ne compte plus les communiqués de l’April (souvent conjoints avec d’autres associations du Libre) dénonçant ces pratiques. Bien que des efforts financiers (discutables) aient été faits en faveur des logiciels libres dans l’Éducation Nationale, il n’en demeure pas moins que les pratiques d’enseignement et l’environnement logiciel des enfants et des étudiants sont soumis à la microsoftisation des esprits, voire une Gafamisation car la firme Microsoft n’est pas la seule à signer des partenariats dans ce secteur. Le problème ? Il réside surtout dans le coût cognitif des outils logiciels qui, sous couvert d’apprentissage numérique, enferme les pratiques dans des modèles privateurs : « Les enfants qui ont grandi avec Microsoft, utiliseront Microsoft ».

dm_011_miniature
Et si c’était MacDonald’s qui rentrait dans les cantines scolaires…? Les habitudes malsaines peuvent se prendre dès le plus jeune âge.

On ne saurait achever ce tableau sans mentionner le plus récent partenariat Microsoft-EN signé en novembre 2015 et vécu comme une véritable trahison par, entre autres, beaucoup d’acteurs du libre. Il a en effet été signé juste après la grande consultation nationale pour le Projet de Loi Numérique porté par la ministre Axelle Lemaire. La consultation a fait ressortir un véritable plébiscite en faveur du logiciel libre dans les administrations publiques et des amendements ont été discutés dans ce sens, même si le Sénat a finalement enterré l’idée. Il n’en demeure pas moins que les défenseurs du logiciel libre ont cru déceler chez nombre d’élus une oreille attentive, surtout du point de vue de la souveraineté numérique de l’État. Pourtant, la ministre Najat Vallaud-Belkacem a finalement décidé de montrer à quel point l’Éducation Nationale ne saurait être réceptive à l’usage des logiciels libre en signant ce partenariat, qui constitue, selon l’analyse par l’April des termes de l’accord, une « mise sous tutelle de l’informatique à l’école » par Microsoft.

Entre libre-washing et méthodes douteuses

Pour être complète, l’analyse doit cependant rester honnête : il existe, dans les institutions de l’Éducation Nationale des projets de production de ressources libres. On peut citer par exemple le projet EOLE (Ensemble Ouvert Libre Évolutif), une distribution GNU/Linux basée sur Ubuntu, issue du Pôle de compétence logiciel libre, une équipe du Ministère de l’Éducation Nationale située au rectorat de l’académie de Dijon. On peut mentionner le projet Open Sankoré, un projet de développement de tableau interactif au départ destiné à la coopération auprès de la Délégation Interministérielle à l’Éducation Numérique en Afrique (DIENA), repris par la nouvelle Direction du numérique pour l’éducation (DNE) du Ministère de l’EN, créée en 2014. En ce qui concerne l’information et la formation des personnels, on peut souligner certaines initiatives locales comme le site Logiciels libres et enseignement de la DANE (Délégation Académique au Numérique Éducatif) de l’académie de Versailles. D’autres projets sont parfois maladroits comme la liste de « logiciels libres et gratuits » de l’académie de Strasbourg, qui mélange allègrement des logiciels libres et des logiciels privateurs… pourvus qu’ils soient gratuits.

Les initiatives comme celles que nous venons de recenser se comptent néanmoins sur les doigts des deux mains. En pratique, l’environnement des salles informatiques des lycées et collèges reste aux couleurs Microsoft et les tablettes (réputées inutiles) distribuées çà et là par villes et départements, sont en majorité produites par la firme à la pomme2. Les enseignants, eux, n’ayant que très rarement voix au chapitre, s’épuisent souvent à des initiatives en classe fréquemment isolées bien que créatives et efficaces. Au contraire, les inspecteurs de l’Éducation Nationale sont depuis longtemps amenés à faire la promotion des logiciels privateurs quand ils ne sont pas carrément convoqués chez Microsoft.

Convocation Inspecteurs de l'EN chez Microsoft
Convocation Inspecteurs de l’EN chez Microsoft

L’interprétation balance entre deux possibilités. Soit l’Éducation Nationale est composée exclusivement de personnels incohérents prêts à promouvoir le logiciel libre partout mais ne faisant qu’utiliser des suites Microsoft. Soit des projets libristes au sein de l’Éducation Nationale persistent à exister, composés de personnels volontaires et motivés, mais ne s’affichent que pour mieux mettre en tension les solutions libres et les solutions propriétaires. Dès lors, comme on peut s’attendre à ce que le seul projet EOLE ne puisse assurer toute une migration de tous les postes de l’EN à un système d’exploitation libre, il est logique de voir débouler Microsoft et autres sociétés affiliées présentant des solutions clés en main et économiques. Qu’a-t-on besoin désormais de conserver des développeurs dans la fonction publique puisque tout est pris en charge en externalisant les compétences et les connaissances ? Pour que cela ne se voie pas trop, on peut effectivement s’empresser de mettre en avant les quelques deniers concédés pour des solutions libres, parfois portées par des sociétés à qui on ne laisse finalement aucune chance, telle RyXéo qui proposait la suite Abulédu.

Finalement, on peut en effet se poser la question : le libre ne serait-il pas devenu un alibi, voire une caution bien mal payée et soutenue au plus juste, pour légitimer des solutions privatrices aux coûts exorbitants ? Les décideurs, DSI et autres experts, ne préfèrent-ils pas se reposer sur un contrat Microsoft plutôt que sur le management de développeurs et de projets créatifs ? Les solutions les plus chères sont surtout les plus faciles.

Plus faciles, mais aussi plus douteuses ! On pourra en effet se pencher à l’envi sur les relations discutables entre certains cadres de Microsoft France et leurs postes occupés aux plus hautes fonctions de l’État, comme le montrait le Canard Enchaîné du 30 décembre 2015. Framasoft se fait depuis longtemps l’écho des manœuvres de Microsoft sans que cela ne soulève la moindre indignation chez les décideurs successifs au Ministère3. On peut citer, pêle-mêle :

Cette publicité est un vrai tweet Microsoft. Oui. Cliquez sur l'image pour lire l'article de l'APRIL à ce sujet.
Cette publicité est un vrai tweet Microsoft. Oui.
Cliquez sur l’image pour lire l’article de l’APRIL à ce sujet.

 

Du temps et de l’énergie en pure perte

« Vous n’avez qu’à proposer », c’est en substance la réponse balourde par touittes interposés de Najat Vallaud-Belkacem aux libristes qui dénonçaient le récent accord-cadre signé entre Microsoft et le Ministère. Car effectivement, c’est bien la stratégie à l’œuvre : alors que le logiciel libre suppose non seulement une implication forte des décideurs publics pour en adopter les usages, son efficience repose également sur le partage et la contribution. Tant qu’on réfléchit en termes de pure consommation et de fournisseur de services, le logiciel libre n’a aucune chance. Il ne saurait être adopté par une administration qui n’est pas prête à développer elle-même (ou à faire développer) pour ses besoins des logiciels libres et pertinents, pas plus qu’à accompagner leur déploiement dans des milieux qui ne sont plus habitués qu’à des produits privateurs prêts à consommer.

Au lieu de cela, les décideurs s’efforcent d’oublier les contreparties du logiciel libre, caricaturent les désavantages organisationnels des solutions libres et légitiment la Microsoft-providence pour qui la seule contrepartie à l’usage de ses logiciels et leur « adaptation », c’est de l’argent… public. Les conséquences en termes de hausses de tarifs des mises à jour, de sécurité, de souveraineté numérique et de fiabilité, par contre, sont des sujets laissés vulgairement aux « informaticiens », réduits à un débat de spécialistes dont les décideurs ne font visiblement pas partie, à l’instar du Ministère de la défense lui aussi aux prises avec Microsoft.

Comme habituellement il manque tout de même une expertise d’ordre éthique, et pour peu que des compétences libristes soient nécessaires pour participer au libre-washing institutionnel, c’est vers les associations que certains membres de l’Éducation Nationale se tournent. Framasoft a bien souvent été démarchée soit au niveau local pour intervenir dans des écoles / collèges / lycées afin d’y sensibiliser au Libre, soit pour collaborer à des projets très pertinents, parfois même avec des possibilités de financement à la clé. Ceci depuis les débuts de l’association qui se présente elle-même comme issue du milieu éducatif.

Témoignage usage de Framapad à l'école
Témoignage : usage de Framapad à l’école

Depuis plus de dix ans Framasoft intervient sur des projets concrets et montre par l’exemple que les libristes sont depuis longtemps à la fois forces de proposition et acteurs de terrain, et n’ont rien à prouver à ceux qui leur reprocheraient de se contenter de dénoncer sans agir. Depuis deux décennies des associations comme l’April ont impulsé des actions, pas seulement revendicatrices mais aussi des conseils argumentés, de même que l’AFUL (mentionnée plus haut). Las… le constat est sans appel : l’Éducation Nationale a non seulement continué à multiplier les relations contractuelles avec des firmes comme Microsoft, barrant la route aux solutions libres, mais elle a radicalisé sa position en novembre 2015 en un ultime pied de nez à ces impertinentes communautés libristes.

Nous ne serons pas revanchards, mais il faut tout de même souligner que lorsque des institutions publiques démarchent des associations composées de membres bénévoles, les tâches demandées sont littéralement considérées comme un dû, voire avec des obligations de rendement. Cette tendance à amalgamer la soi-disant gratuité du logiciel libre et la soi-disant gratuité du temps bénévole des libristes, qu’il s’agisse de développement ou d’organisation, est particulièrement détestable.

Discuter au lieu de faire

brick-in-the-wall

À quelles demandes avons-nous le plus souvent répondu ? Pour l’essentiel, il s’agit surtout de réunions, de demandes d’expertises dont les résultats apparaissent dans des rapports, de participation plus ou moins convaincante (quand il s’agit parfois de figurer comme caution) à des comités divers, des conférences… On peut discuter de la pertinence de certaines de ces sollicitations tant les temporalités de la réflexion et des discours n’ont jamais été en phase avec les usages et l’évolution des pratiques numériques.

Le discours de Framasoft a évolué en même temps que grandissait la déception face au décalage entre de timides engagements en faveur du logiciel libre et des faits attestant qu’à l’évidence le marché logiciel de l’Éducation Nationale était structuré au bénéfice des logiques privatrices. Nous en sommes venus à considérer que…

  • si, en treize ans de sensibilisation des enseignants et des décideurs, aucune décision publique n’a jamais assumé de préférence pour le logiciel libre ;
  • si, en treize ans, le discours institutionnel s’est même radicalisé en défaveur du Libre : en 2003, le libre n’est « pas souhaitable » ; en 2013 le libre et les formats ouverts pourraient causer des « difficultés juridiques » ; en 2016, le libre ne pourra jamais être prioritaire malgré le plébiscite populaire4

…une association comme Framasoft ne peut raisonnablement continuer à utiliser l’argent de ses donateurs pour dépenser du temps bénévole et salarié dans des projets dont les objectifs ne correspondent pas aux siens, à savoir la promotion et la diffusion du Libre.

Par contre, faire la nique à Microsoft en proposant du Serious Gaming éducatif, ça c'est concret !
Par contre, faire la nique à Microsoft en proposant du Serious Gaming éducatif, ça c’est concret !

L’éducation populaire : pas de promesses, des actes

Framasoft s’est engagée depuis quelque temps déjà dans une stratégie d’éducation populaire. Elle repose sur les piliers suivants :

  • social : le mouvement du logiciel libre est un mouvement populaire où tout utilisateur est créateur (de code, de valeur, de connaissance…) ;
  • technique : par le logiciel libre et son développement communautaire, le peuple peut retrouver son autonomie numérique et retrouver savoirs et compétences qui lui permettront de s’émanciper ;
  • solidaire : le logiciel libre se partage, mais aussi les compétences, les connaissances et même les ressources. Le projet CHATONS démontre bien qu’il est possible de renouer avec des chaînes de confiance en mobilisant des structures au plus proche des utilisateurs, surtout si ces derniers manquent de compétences et/ou d’infrastructures.

Quelles que soient les positions institutionnelles, nous sommes persuadés qu’en collaborant avec de petites ou grandes structures de l’économie sociale et solidaire (ESS), avec le monde culturel en général, nous touchons bien plus d’individus. Cela sera également bien plus efficace qu’en participant à des projets avec le Ministère de l’Éducation Nationale, qui se révèlent n’avoir au final qu’une portée limitée. Par ailleurs, nous sommes aussi convaincus que c’est là le meilleur moyen de toucher une grande variété de publics, ceux-là mêmes qui s’indigneront des pratiques privatrices de l’Éducation Nationale.

Néanmoins, il est vraiment temps d’agir, car même le secteur de l’ESS commence à se faire « libre-washer » et noyauter par Microsoft : par exemple la SocialGoodWeek a pour partenaires MS et Facebook ; ou ADB Solidatech qui équipe des milliers d’ordinateurs pour associations avec des produits MS à prix cassés.

Page SocialGoodWeek, sponsors
Page SocialGoodWeek, sponsors

Ce positionnement du « faire, faire sans eux, faire malgré eux » nous a naturellement amenés à développer notre projet Degooglisons Internet. Mais au-delà, nous préférons effectivement entrer en relation directe avec des enseignants éclairés qui, plutôt que de perdre de l’énergie à convaincre la pyramide hiérarchique kafkaïenne, s’efforcent de créer des projets concrets dans leurs (minces) espaces de libertés. Et pour cela aussi le projet Degooglisons Internet fait mouche.

Nous continuerons d’entretenir des relations de proximité et peut-être même d’établir des projets communs avec les associations qui, déjà, font un travail formidable dans le secteur de l’Éducation Nationale, y compris avec ses institutions, telles AbulEdu, Sésamath et bien d’autres. Il s’agit là de relations naturelles, logiques et même souhaitables pour l’avancement du Libre. Fermons-nous définitivement la porte à l’Éducation Nationale ? Non… nous inversons simplement les rôles.

Pour autant, il est évident que nous imposons implicitement des conditions : les instances de l’Éducation Nationale doivent considérer que le logiciel libre n’est pas un produit mais que l’adopter, en plus de garantir une souveraineté numérique, implique d’en structurer les usages, de participer à son développement et de généraliser les compétences en logiciels libres. Dans un système déjà noyauté (y compris financièrement) par les produits Microsoft, la tâche sera rude, très rude, car le coût cognitif est déjà cher payé, dissimulé derrière le paravent brumeux du droit des marchés publics (même si en la matière des procédures négociées peuvent très bien être adaptées au logiciel libre). Ce n’est pas (plus) notre rôle de redresser la barre ou de cautionner malgré nous plus d’une décennie de mauvaises décisions pernicieuses.

Si l’Éducation Nationale décide finalement et officiellement de prendre le bon chemin, avec force décrets et positions de principe, alors, ni partisans ni vindicatifs, nous l’accueillerons volontiers à nos côtés car « la route est longue, mais la voie est libre… ».

— L’association Framasoft

Par contre, si c'est juste pour prendre le thé... merci de se référer à l'erreur 418.
En revanche, si c’est juste pour prendre le thé… merci de se référer à l’erreur 418.


  1. Voir aussi sur education.gouv.fr. Autre lien sur web.archive.org.
  2. Mais pas toujours. Microsoft cible aussi quelques prospects juteux avec les établissements « privés » sous contrat avec l’EN, qui bénéficient d’une plus grande autonomie décisionnelle en matière de numérique. Ainsi on trouve de véritables tableaux de chasse sur le site de Microsoft France. Exemple : Pour les élèves du collège Saint Régis-Saint Michel du Puy-en-Velay (43), « Windows 8, c’est génial ! ».
  3. Certes, on pourrait aussi ajouter que, bien qu’il soit le plus familier, Microsoft n’est pas le seul acteur dans la place: Google est membre fondateur de la « Grande École du Numérique » et Apple s’incruste aussi à l’école avec ses tablettes.
  4. On pourra aussi noter le rôle joué par l’AFDEL et Syntec Numérique dans cette dernière décision, mais aussi, de manière générale, par les lobbies dans les couloirs de l’Assemblée et du Sénat. Ceci n’est pas un scoop.



Des routes et des ponts (11) – Les défis de la maintenance

Dans ce onzième chapitre de son ouvrage Des routes et des ponts que l’équipe Framalang vous traduit semaine après semaine (si vous avez raté le début), Nadia Eghbal aborde le problème endémique des infrastructures numériques open source, leur manque de ressources humaines pérennes : entre ceux qui s’y consacrent à corps perdu et s’arrêtent au bord du burnout, les entreprises qui profitent des ressources sans jamais contribuer en retour, ceux qui se lancent ingénument dans le développement sans notion bien nette de sécurité, ceux qui ne peuvent contribuer que sur un temps libre limité… Des témoignages sur ces situations et d’autres encore ont été recueillis dans ce chapitre.

Comme le souligne l’autrice, cette situation bancale a pour conséquence un coût important en termes d’argent et de sécurité pour l’ensemble de l’industrie numérique qui puise abondamment dans l’infrastructure numérique open source.

 

Négliger les infrastructures a un coût caché

Traduction Framalang : Piup, jums, Penguin, serici, xi, Asta, Diane, glissière de sécurité, Luc, goofy, lyn

Comme nous l’avons vu, l’infrastructure numérique est un constituant essentiel du monde actuel. Notre société repose sur les logiciels, et ces logiciels s’appuient de plus en plus sur une infrastructure qui utilise des méthodologies open source. Dans la mesure où nous prenons peu d’initiatives pour comprendre et pérenniser notre infrastructure numérique, que mettons-nous en péril ?
Ne pas réinvestir dans l’infrastructure numérique présente des dangers que l’on peut classer en deux catégories : les coûts directs et les coûts indirects.

Les coûts directs

Les coûts directs sont les bogues non détectés et les vulnérabilités de sécurité qui peuvent être exploitées à des fins malveillantes, ou qui mènent à des interruptions imprévues dans le fonctionnement des logiciels. Ces coûts sont fortement ressentis et causent des problèmes qui doivent être résolus immédiatement.

Les coûts indirects

Les coûts indirects se traduisent par exemple par la perte de main-d’œuvre qualifiée, ainsi qu’une croissance faible et peu d’innovation. Même si ces coûts ne sont pas immédiatement perceptibles, ils représentent une valeur sociale difficile à évaluer.

Bogues, failles de sécurité et interruptions du service

L’introduction de ce rapport relatait les détails de la faille de sécurité Heartbleed, qui a été découverte en avril 2014 dans une bibliothèque logicielle appelée OpenSSL. Du fait de son usage généralisé, notamment pour le fonctionnement de nombreux sites web majeurs, Heartbleed a largement attiré l’attention du public sur le problème des failles de sécurité des logiciels.

En septembre 2014, une autre faille majeure a été découverte dans un autre outil essentiel appelé Bash. Bash est inclus dans des systèmes d’exploitation populaires tels que Linux et Mac OS, ce qui fait qu’il est installé sur 70 % des machines connectées à internet.

L’ensemble de bugs de sécurité, surnommés « ShellShock », peuvent être exploités pour permettre un accès non autorisé à un système informatique. Les vulnérabilités étaient restées non-détectées pendant au moins une décennie. Bash a été créé à l’origine par un développeur appelé Brian Fox en 1987, mais depuis 1992 il est maintenu par un seul développeur, Chet Ramey, qui travaille comme architecte technique senior à la Case Western University dans l’Ohio.

Un autre projet, OpenSSH, fournit une suite d’outils de sécurité dont l’usage est largement répandu sur internet. Des développeurs ont trouvé de multiples failles dans son code qui ont pu être prises en charge et corrigées, y compris celle de juillet 2015, qui permettait aux attaquants de dépasser le nombre maximal d’essais sur les mots de passe, et celle de janvier 2016, qui laissait fuiter les clefs de sécurité privées.

L’un des aspects du problème est que beaucoup de projets sont des outils anciens, développés au départ par un ou plusieurs développeurs passionnés, qui ont par la suite manqué de ressources pour gérer le succès de leur projet. Avec le temps, les contributions diminuent et les acteurs restants se lassent et s’en vont, mais pour autant le projet est toujours activement utilisé, avec seulement une ou deux personnes tâchant de le maintenir en vie.

Un autre problème croissant dans le paysage des logiciels actuel, où l’on voit tant de jeunes développeurs inexpérimentés, c’est que les concepts de sécurisation ne sont pas enseignés ou pas considérés comme prioritaires. Les nouveaux développeurs veulent simplement écrire du code qui marche. Ils ne savent pas faire un logiciel sécurisé, ou pensent à tort que le code public qu’ils utilisent dans la sécurité de leurs programmes a été vérifiée. Même les bonnes pratiques de divulgation sécurisée ou de gestion des failles ne sont généralement pas enseignées ni comprises. La sécurité ne devient un enjeu que lorsque le code d’un développeur a été compromis.

Christopher Allen a coécrit la première version du protocole de transfert sécurisé TLS (Transport Layer Security), dont les versions successives sont devenues un standard utilisé quasiment universellement en ligne, y compris sur des sites comme Google, Facebook ou YouTube. Bien que le protocole soit devenu un standard, Christophe parle ainsi de ses origines :

« En tant que co-auteur de TLS, je n’aurais pas prédit que 15 ans plus tard la moitié d’Internet utiliserait une implémentation de TLS maintenue par un ingénieur à quart-temps. C’est ce manque de maintenance qui a conduit au bug tristement célèbre de Heartbleed. Je raconte aujourd’hui cette anecdote à mes collègues qui travaillent sur les crypto-monnaies pour les avertir que leur chiffrage, ultra moderne aujourd’hui, pourrait  être ’dépassé’ dans 10 ans et subir le même sort, le projet n’étant plus aussi passionnant, et leur travail acharné risquerait d’être compromis. »

En définitive, la stabilité de nos logiciels repose sur la bonne volonté et la coopération de centaines de développeurs, ce qui représente un risque significatif. La fragilité de notre infrastructure numérique a récemment été démontrée par un développeur nommé Azer Koçulu.
Azer, un développeur Node.js, hébergeait un certain nombre de bibliothèques sur un gestionnaire de paquets nommé npm. Après un conflit avec npm sur la propriété intellectuelle d’un de ses projets, Azer, mécontent de l’issue du conflit, décida de supprimer toutes les publications qu’il avait pu faire sur npm.

L’une de ces bibliothèques, left-pad, avait été réutilisée dans des centaines d’autres projets. Même s’il ne s’agissait que de quelques lignes de code, en supprimant le projet left-pad, Azer a « cassé » les algorithmes d’innombrables protocoles logiciels développés par d’autres. La décision d’Azer a provoqué tant de problèmes que npm a pris la décision sans précédent de republier sa bibliothèque, contre la volonté d’Azer, afin de restaurer les fonctionnalités offertes par le reste de l’écosystème.

Npm a aussi revu sa politique pour qu’il soit plus difficile pour les développeurs de retirer leurs bibliothèques sans avertissement, reconnaissant ainsi que les actions d’un individu peuvent en affecter négativement beaucoup d’autres.

Les logiciels ne reçoivent pas la maintenance nécessaire dont ils ont besoin

Construire une infrastructure numérique de façon désorganisée implique que tout logiciel sera construit plus lentement et moins efficacement. L’histoire de l’infrastructure Python en fournit un bon exemple.

L’un des importants projets d’infrastructure pour les développeurs Python se nomme Setuptools. Setuptools fournit un ensemble d’outils qui rendent le développement en Python plus simple et plus standardisé.
Setuptools a été écrit en 2004, par le développeur PJ Eby. Pendant les quatre années qui ont suivi, l’outil a été largement adopté. Néanmoins, Setuptools était difficile à installer et à utiliser, et Eby était très peu réceptif aux contributions et aux corrections apportées par d’autres, car il voulait, en tant que concepteur, avoir le dernier mot sur Setuptools. En 2008, un groupe de développeurs conduits par Tarek Ziade a décidé de forker le projet pour obliger Eby à faire des améliorations. Ils ont appelé le nouveau projet « Distribute ». En 2013, les deux projets ont fusionné dans Setuptools.
Ce long désaccord a néanmoins souligné à la fois l’état douteux des outils de l’infrastructure de Python, et la difficulté de mettre en œuvre des améliorations, notamment parce que personne ne se consacrait aux problèmes de la communauté ni ne désirait s’en occuper.

Les outils de Python ont commencé à s’améliorer quand le groupe de travail Python Packaging Authority (PyPA) s’est formé pour se consacrer spécifiquement à définir de meilleurs standards pour le paquetage. Un développeur, Donald Stufft, fit des outils de paquetage Python le cœur de son travail et fut engagé par HP (devenu HPE) en mai 2015 pour poursuivre son travail (son parcours sera évoqué plus tard dans ce rapport).

Un autre exemple intéressant est celui de RubyGems.org, un site web utilisé par la plupart des développeurs Ruby pour héberger leurs bibliothèques Ruby. Ruby a été utilisé pour bâtir des sites web majeurs comme Twitter, AirBnB, YellowPages et GitHub lui-même. En 2013, une faille de sécurité de RubyGems.org a été découverte, mais elle ne fut pas réparée avant plusieurs jours, parce que RubyGems.org était entièrement maintenue par des bénévoles. Les bénévoles pensaient régler le problème le week-end, mais pendant ce temps, quelqu’un d’autre a découvert la faille et a piraté le serveur de RubyGems.org. Après l’attaque, les serveurs ont dû être entièrement reconfigurés. Plusieurs bénévoles ont pris sur leur temps de travail, et certains ont même pris des jours de congé, afin de remettre RubyGems.org en état de marche le plus vite possible.

Comme RubyGems.org est un élément d’infrastructure critique, la faille de sécurité affectait par rebond beaucoup de développeurs et d’entreprises. L’incident a mis en lumière le fait qu’un travail fondé uniquement sur la base du volontariat limitait les garanties de sécurité et de fiabilité que l’on pouvait offrir sur une infrastructure logicielle importante. Des dizaines de développeurs se mobilisèrent de façon « bénévole » pendant l’incident parce que le problème affectait directement leur emploi salarié.

Malheureusement, aucun d’entre eux n’avait l’expérience requise pour être utile, et aucun d’entre eux n’a continué à offrir son aide une fois les serveurs réparés. En 2015, une organisation nommée Ruby Together a été formée pour aider à financer la maintenance et le développement de l’infrastructure Ruby, entre autres RubyGems.org, en sollicitant des entreprises comme sponsors.

La perte de main-d’œuvre qualifiée

Comme dans beaucoup de communautés de bénévoles, le « burnout » est commun parmi les contributeurs open source, qui se retrouvent à répondre aux requêtes d’utilisateurs individuels ou d’entreprises, pour un travail sans compensation. Beaucoup de développeurs ont des anecdotes où des entreprises les sollicitaient pour du travail gratuit. Daniel Roy Greenfield, développeur Django et Python, a écrit :

« J’ai personnellement eu des demandes pour du travail non-payé (les discussions pour payer le travail n’aboutissent jamais) par des entreprises à haut profit, grandes ou petites, pour [mes projets]. Si je ne réponds pas dans les temps convenus, si je n’accepte pas une pull request merdique, on va me mettre une étiquette de connard. Il n’y a rien de pire que d’être face à des développeurs du noyau Python/PyPA travaillant pour Redhat [sic], qui exigent de toi un travail non payé tout en critiquant ce qu’ils considèrent comme les insuffisances de ton projet, pour te pourrir ta journée et plomber ta foi en l’open source. »

(Red Hat est une multinationale du logiciel avec un revenu annuel excédant les 2 milliards d’euros, qui vend des logiciels open source à des clients d’entreprise. Du fait de la nature de leur entreprise, les employés de Red Hat utilisent et contribuent à de nombreux projets open source : en un sens, Red Hat est devenu la tête d’affiche de l’open source dans le monde de l’entreprise. Nous reparlerons de son succès financier plus tard dans ce rapport).

Read the Docs, service d’hébergement de documentation technique précédemment mentionné, annonce explicitement sur son site qu’il ne s’occupe pas de l’installation personnalisée dans les entreprises ou chez les particuliers.

L’un des mainteneurs, Eric Holscher, va jusqu’à faire ce commentaire :
« Je suis à peu près sûr que Read the Docs n’a aucun intérêt à être open source, vu que les utilisateurs privés ne contribuent jamais en retour, et se contentent de demander une assistance gratuite. »
Maquess, le contributeur OpenSSL, a tenu un discours acerbe à propos des requêtes récurrentes sur ses posts qui parlent de financement :

« C’est à vous que je pense, entreprises du Fortune 1000. Vous qui incluez OpenSSL dans vos firewall/dispositifs/cloud/produits financiers ou de sécurité, tous ces produits que vous vendez à profit, ou que vous utilisez pour vos infrastructures et communications internes. Vous qui n’avez pas besoin de financer une équipe interne de programmeurs pour se débattre avec du code crypté, puis qui nous harcelez pour obtenir une assistance gratuite quand vous réalisez que vous êtes incapables de l’utiliser. Vous qui n’avez jamais levé le petit doigt pour contribuer à la communauté open source qui vous a fait ce cadeau. Les concernés se reconnaîtront. Certains développeurs choisissent d’arrêter de maintenir leurs projets parce qu’ils n’ont plus assez de temps à y consacrer, et espèrent que quelqu’un d’autre prendra le relais. Pendant ce temps, les entreprises, les gouvernements et les individus dépendent de ces bibliothèques pour leur bon fonctionnement, inconscients des enjeux sous-jacents. »

David Michael Ross, ingénieur manager dans une agence web, a écrit au sujet de son expérience :

« Pour moi, c’est là que le bât blesse.  […] On sait qu’on a créé quelque chose gratuitement, par passion, et on voit ce flux infini de personnes qui crient « plus ! encore plus ! » et qui se mettent en colère quand on ne traite pas leur cas particulier.
Il y avait mon numéro de téléphone sur l’un de mes sites personnels pour que mes amis puissent me joindre. Je l’ai enlevé au bout d’une semaine parce que des gens m’appelaient à toute heure de la journée pour de l’assistance sur les plugins, alors qu’il y a un forum consacré à ça. Il n’y a rien de fondamentalement méchant là-dedans, c’est juste que c’est usant. On se met à avoir peur de vérifier ses mails ou de répondre au téléphone. »

Ryan Bigg, qui écrit de la documentation technique pour le framework Ruby on Rails, a annoncé en novembre 2015 qu’il renonçait à tout travail open source :

« Je n’ai plus le temps ni l’énergie de m’investir dans l’open source. Je ne retire strictement aucun revenu de mon travail open source, ce qui veut dire que le travail que je fais là, c’est du temps que je pourrais consacrer à des activités perso, ou à écrire. Ce n’est pas justifié d’attendre de moi que je travaille encore, en dehors de mon emploi salarié, sans que je sois honnêtement rétribué pour ça (en temps ou en argent). C’est aussi une recette qui a de bonnes chances de me conduire au burnout ou de me rendre juste globalement aigri.

Par ailleurs, la perte de main-d’œuvre qualifiée dans l’open source, ce n’est pas seulement les contributeurs qui démissionnent, c’est aussi ceux qui n’ont jamais contribué du tout. »

Il existe très peu de statistiques sur la démographie des contributeurs open source, ce qui est déjà révélateur en soi. Une analyse récente de GitHub a révélé que seulement 5,4% des contributeurs open source étaient des femmes, qui occupent pourtant environ 15 à 20% des postes techniques dans l’ensemble des entreprises de logiciels.

L’une des raisons qui font que les contributeurs open source sont un groupe remarquablement plus homogène que le secteur de la technologie dans son ensemble, c’est qu’ils ont besoin de temps et d’argent pour apporter dans un premier temps des contributions significatives. Ces contraintes empêchent des contributeurs par ailleurs qualifiés d’entrer dans cet espace.
David Maclver, créateur de Hypothésis, une bibliothèque Python qui sert à tester des applications logicielles, explique pourquoi il a pu passer autant de temps sur le projet :

« J’ai pu le faire seulement parce que j’avais le temps et l’argent pour le faire. J’avais le temps parce que j’étais obsessionnel, je n’avais personne à charge, et je n’avais pas d’emploi. Je pouvais me permettre de ne pas avoir d’emploi parce que j’avais de l’argent. J’avais de l’argent parce que pendant la dernière moitié de l’année passée, je touchais un salaire deux fois plus élevé que d’habitude, en dépensant deux fois moins que d’habitude, et je traversais une dépression qui me rendait trop borderline pour avoir envie de dépenser mon argent dans quoi que ce soit d’intéressant. Ce ne sont pas des conditions qu’on peut raisonnablement exiger de quelqu’un. […] Est-ce qu’on pourrait produire un logiciel de qualité en moins de temps que ça, en ne travaillant que sur du temps libre ? J’en doute. »

6196938171_447ee71493_z
Photo par hiroo yamagata (CC BY 2.0)

Cory Benfield, un développeur pour les fonctions de base de Python, écrit :

« De manière générale, les personnes qui ne sont pas des hommes cisgenres, hétérosexuels, blancs, de classe moyenne, et anglophones sont moins susceptibles de pouvoir assumer les risques financiers accrus associés à l’absence d’emploi stable. Cela signifie que ces personnes ont vraiment besoin d’un salaire régulier pour pouvoir contribuer le plus efficacement possible. Et nous avons besoin de leur contribution : des équipes diversifiées font un meilleur travail que des équipes homogènes. »

Charlotte Spencer, qui contribue au framework logiciel Hoodie et au système de bases de données PouchDB, fait écho à cette opinion :

« Toutes mes contributions sont purement bénévoles. Je n’en retire pas d’argent, même si j’aimerais beaucoup pouvoir. J’ai demandé à des vétérans de l’open source s’ils étaient payés et ce n’est pas le cas, ce qui m’a découragé d’essayer quoi que ce soit (si ces gens-là ne sont pas payés, pourquoi le serais-je ?). J’y consacre la plus grande partie de mon temps libre, mais j’essaie d’en faire moins parce que ça envahissait trop ma vie. »

Jessica Lord, développeuse, a contribué activement à l’open source tout en travaillant à Code for America, une organisation à but non-lucratif qui soutient la technologie dans le secteur public. Urbaniste de formation, elle insiste sur le fait qu’elle n’avait « pas de diplôme en informatique, pas d’expérience formelle en programmation, mais un portfolio GitHub ».

Ses contributions régulières attirèrent l’attention de la plate-forme GitHub elle-même, pour qui elle travaille désormais. Cependant, Jessica note qu’elle a pu contribuer à l’open source grâce à un concours de circonstances « particulier » : elle a accepté une baisse de salaire pour travailler à Code for America, utilisé toutes ses économies, travaillé « presque non-stop » sur des projets open source, et bénéficié d’une communauté de soutiens.

À propos du manque de diversité dans l’open source, Jessica écrit:

« La valeur des savoirs communs ne peut être surestimée. Nous devons faire mieux. Nous avons besoin des idées de tout le monde. C’est le but que nous devrions chercher à atteindre. Il est nécessaire que l’open source soit ouvert à tous. Pas seulement aux privilégiés ou même aux seuls développeurs. »

Ce dernier point soulevé par Jessica Lord est révélateur : permettre à des profils plus divers de participer à l’open source peut aider à pérenniser l’open source en elle-même. D’un point de vue fonctionnel, la grande majorité des contributeurs open source sont des développeurs, mais beaucoup d’autres rôles sont nécessaires pour gérer les projets d’ampleur, comme la rédaction, la gestion de projet ou la communication. Les projets open source ne sont pas différents des autres types d’organisations, y compris les startups où l’on a besoin de personnes se chargeant de l’administration, du marketing, du design, etc., qui sont autant de fonctions nécessaires au fonctionnement de base d’une structure. C’est en partie parce que la culture open source repose principalement sur les développeurs que la pérennité financière est si rarement l’objet de discussions et d’actions concrètes.

Enfin, l’homogénéité des contributeurs open source impacte les efforts en faveur de la diversité dans le monde de la technologie au sens large, puisque l’open source est étroitement lié à l’embauche. En effet, comme nous l’avons remarqué plus haut, beaucoup d’employeurs utilisent les contributions open source, notamment les profils GitHub, pour découvrir leurs futurs employés potentiels ou pour vérifier les qualifications d’un candidat. Les employeurs qui se fient ainsi essentiellement aux preuves de contributions open source ne recrutent que parmi un vivier de candidats extrêmement restreint.

Ashe Dryden, dans un essai important intitulé L’Éthique du travail non payé et la Communauté OSS, expliquait :

« Juger que quelqu’un est un bon programmeur en se basant uniquement sur le code qu’il rend disponible publiquement, c’est exclure bien plus que les gens marginaux. C’est aussi exclure quiconque n’est pas autorisé à publier son code publiquement pour des raisons de licence ou de sécurité. Cela concerne également un grand nombre de travailleurs freelance ou de contractuels qui, pour des raisons légales, n’ont pas le droit de revendiquer publiquement leur participation à un projet (par exemple s’ils ont signé un accord de confidentialité). Dans une industrie où on lutte pour dénicher assez de talents, pourquoi limitons-nous artificiellement le spectre des candidats ? » (source)

Comment atténuer ou éviter certains des coûts qui s’imposent aux personnes qui participent à l’élaboration d’infrastructures numériques aujourd’hui ? Pour commencer, nous analyserons comment les projets d’infrastructure sont actuellement financés.




Des routes et des ponts (10) – Les enjeux de la démocratisation de l’open source

L’open source est de plus en plus populaire et répandu parmi les développeurs. Grâce à des plate-formes comme GitHub, qui ont standardisé la manière de contribuer à un projet, l’open source est devenu plus accessible, au point de devenir une norme. Mais cette nouvelle configuration n’est pas sans poser certains problèmes.

Dans ce nouveau chapitre de son ouvrage Des Routes et des ponts (traduit chapitre après chapitre par l’équipe Framalang), Nadia Eghbal s’intéresse aux enjeux de la standardisation et de la démocratisation de l’open source – notamment à l’inflation parfois anarchique du nombre de projets et de contributeurs : pour elle, l’enjeu est d’éviter que l’écosystème numérique ne se transforme en un fragile château de cartes.

open-source-chateau-de-cartes
Photo de fdecomite / CC BY 2.0

Pourquoi les problèmes de support des infrastructures numériques sont de plus en plus pressants

Traduction Framalang : goudron, Penguin, serici, goofy, Rozmador, xi, Lumibd, teromene, xi, Opsylac, et 3 anonymes.

L’open source, grâce à ses points forts cités plus tôt dans ce rapport, est rapidement en train de devenir un standard pour les projets d’infrastructure numérique et dans le développement logiciel en général. Black Duck, une entreprise qui aide ses clients à gérer des programmes open source, dirige une enquête annuelle qui interroge les entreprises sur leur utilisation de l’open source. (Cette enquête est l’un des rares projets de banque de données qui existe sur le sujet.) Dans leur étude de 2015, 78% des 1300 entreprises interrogées déclarent que les logiciels qu’elles ont créés pour leurs clients sont construits grâce à l’open source, soit presque le double du chiffre de 2010.

L’open source a vu sa popularité s’accroître de manière impressionnante ces cinq dernières années, pas seulement grâce à ses avantages évidents pour les développeurs et les consommateurs, mais également grâce à de nouveaux outils qui rendent la collaboration plus facile. Pour comprendre pourquoi les infrastructures numériques rencontrent des problèmes de support grandissants, nous devons comprendre la manière dont le développement de logiciels open source prolifère.

Github, un espace standardisé pour collaborer sur du code

On n’insistera jamais trop sur le rôle clé de GitHub dans la diffusion de l’open source auprès d’une audience grand public. L’open source a beau exister depuis près de 30 ans, jusqu’en 2008, contribuer à des projets open source n’était pas si facile. Le développeur motivé devait d’abord découvrir qui était le mainteneur du projet, trouver une manière de le contacter, puis proposer ses changements en utilisant le format choisi par le mainteneur (par exemple une liste courriel ou un forum). GitHub a standardisé ces méthodes de communication : les mainteneurs sont listés de façon transparente sur la page du projet, et les discussions sur les changements proposés ont lieu sur la plate-forme GitHub.

GitHub a aussi créé un vocabulaire qui est désormais standard parmi les contributeurs à l’open source, tels que la « pull request » (où un développeur soumet à l’examen de ses pairs une modification à un projet), et changé le sens du terme « fork » (historiquement, créer une copie d’un projet et le modifier pour le transformer en un nouveau projet) [littéralement « fork » signifie « bifurcation », Ndt.]. Avant GitHub, forker un projet revenait à dire qu’il y avait un différend irréconciliable au sujet de la direction qu’un projet devrait prendre. Forker était considéré comme une action grave : si un groupe de développeurs décidait de forker un projet, cela signifiait qu’il se scindait en deux factions idéologiques. Forker était aussi utilisé pour développer un nouveau projet qui pouvait avoir une utilisation radicalement différente du projet initial.

Ce type de « fork de projet » existe toujours, mais GitHub a décidé d’utiliser le terme « fork » pour encourager à davantage d’activité sur sa plate-forme. Un fork GitHub, contrairement à un fork de projet, est une copie temporaire d’un projet sur laquelle on effectue des modifications, et qui est généralement re-fusionnée au projet. Le fork en tant que pratique quotidienne sur GitHub a ajouté une connotation positive, légère au terme : c’est l’idée de prendre l’idée de quelqu’un et de l’améliorer.

GitHub a aussi aidé à standardiser l’utilisation d’un système de contrôle de version appelé Git. Les systèmes de contrôle de versions sont un outil qui permet de garder une trace de chaque contribution apportée sur un morceau de code précis. Par exemple, si le Développeur 1 et le Développeur 2 corrigent différentes parties du même code en même temps, enregistrer chaque changement dans un système de contrôle de version permet de faire en sorte que leurs changements n’entrent pas en conflit. Il existe plusieurs systèmes de contrôle de versions, par exemple Apache Subversion et Concurrent Versions System (CVS). Avant GitHub, Git était un système de contrôle de version assez méconnu. En 2010, Subversion était utilisé dans 60% des projets logiciels, contre 11%pour Git.

C’est Linus Torvalds, le créateur de Linux, qui a conçu Git en 2005. Son intention était de mettre à disposition un outil à la fois plus efficace et plus rapide, qui permette de gérer de multiples contributions apportées par de nombreux participants. Git était vraiment différent des systèmes de contrôle de version précédents, et donc pas forcément facile à adopter, mais son workflow décentralisé a résolu un vrai problème pour les développeurs.

 

graphique-1
GitHub a fourni une interface utilisateur intuitive pour les projets open source qui utilisent Git, ce qui rend l’apprentissage plus facile pour les développeurs. Plus les développeurs utilisent GitHub, plus cela les incite à continuer d’utiliser Git. Aujourd’hui, en 2016, Git est utilisé par 38% des projets de logiciels, tandis que la part de Subversion est tombée à 47%. Bien que Subversion soit encore le système de contrôle de version le plus populaire, son usage décline. L’adoption généralisée de Git rend plus facile pour un développeur la démarche de se joindre à un projet sur GitHub, car la méthode pour faire des modifications et pour les communiquer est la même sur tous les projets. Apprendre à contribuer sur un seul des projets vous permet d’acquérir les compétences pour contribuer à des centaines d’autres. Ce n’était pas le cas avant GitHub, où des systèmes de contrôle de versions différents étaient utilisés pour chaque projet.

Enfin, GitHub a créé un espace sociabilité, qui permet de discuter et de tisser des liens au-delà de la stricte collaboration sur du code. La plate-forme est devenue de facto une sorte de communauté pour les développeurs, qui l’utilisent pour communiquer ensemble et exposer leur travail. Ils peuvent y démontrer leur influence et présenter un portfolio de leur travail comme jamais auparavant.

Les usages de GitHub sont un reflet de son ascension vertigineuse. En 2011 il n’y avait que 2 millions de dépôts (« repository »). Aujourd’hui, GitHub a 14 millions d’utilisateurs et plus de 35 millions de dépôts (ce qui inclut aussi les dépôts forkés, le compte des dépôts uniques est plutôt aux environs de 17 millions.) Brian Doll, de chez GitHub, a noté qu’il a fallu 4 ans pour atteindre le million de dépôts, mais que passer de neuf millions à dix millions n’a pris que 48 jours.

En comparaison, SourceForge, la plate-forme qui était la plus populaire pour héberger du code open source avant l’apparition de GitHub, avait 150 000 projets en 2008. Environ 18 000 projets étaient actifs.

Stack Overflow, un espace standard pour s’entraider sur du code

L’une des autres plate-formes importantes de l’open source est Stack Overflow, un site de question/réponse populaire parmi les développeurs, créé en 2008 par Jeff Atwood (développeur déjà mentionné précédemment) et par le blogueur Joel Spolsky. En Avril 2014, Stack Overflow avait plus de 4 millions d’utilisateurs enregistrés et plus de 11 millions de questions résolues (à noter qu’il n’est pas nécessaire de s’enregistrer pour voir les questions ou leurs réponses).

Stack Overflow est devenu de facto une plate-forme d’entraide pour les développeurs, qui peuvent poser des questions de programmation, trouver des réponses à des problèmes de code spécifiques, ou juste échanger des conseils sur la meilleure façon de créer un aspect précis d’un logiciel. On pourrait définir la plate-forme comme un « support client » participatif pour les développeurs à travers le monde. Même si Stack Overflow n’est pas un endroit où l’on écrit directement du code, c’est un outil de collaboration essentiel pour les développeurs individuels, qui facilite grandement la résolution de problèmes et permet de coder plus efficacement. Cela signifie qu’un développeur individuel est capable de produire plus, en moins de temps, ce qui améliore le rendement global. Stack Overflow a également permis à certains utilisateurs d’apprendre de nouveaux concepts de développement (ou même de s’initier au code tout court), et a rendu le codage plus facile et plus accessible à tous.

Tendances macro dans un paysage en mutation constante

La popularité hors-normes de l’open source a amené à des changements significatifs dans la manière dont les développeurs d’aujourd’hui parlent, pensent et collaborent sur des logiciels.

Premièrement, les attentes et exigences en termes de licences ont changé, reflétant un monde qui considère désormais l’open source comme une norme, et pas l’exception : un triomphe sur l’univers propriétaire des années 1980. Les politiques de GitHub et de Stack Overflow reflètent toutes deux cette réalité.

Dès le départ, Stack Overflow a choisi d’utiliser une licence Creative Commons appelée CC-BY-SA pour tous les contenus postés sur son site. La licence était cependant limitante, car elle requérait des utilisateurs qu’ils mentionnent l’auteur de chaque morceau de code qu’ils utilisaient, et qu’ils placent leurs propres contributions sous la même licence.

Beaucoup d’utilisateurs choisissaient d’ignorer la licence ou n’étaient même pas au courant de ses restrictions, mais pour les développeurs travaillant avec des contraintes plus strictes (par exemple dans le cadre d’une entreprise), elle rendait Stack Overflow compliqué à utiliser. S’ils postaient une question demandant de l’aide sur leur code, et qu’une personne extérieure réglait le problème, alors légalement, ils devaient attribuer le code à cette personne.

En conséquence, les dirigeants de Stack Overflow ont annoncé leur volonté de déplacer toutes les nouvelles contributions de code sous la Licence MIT, qui est une licence open source comportant moins de restrictions. En Avril 2016, ils débattent encore activement et sollicitent des retours de leur communauté pour déterminer le meilleur moyen de mettre en œuvre un système plus permissif. Cette démarche est un encouragement à la fois pour la popularité de Stack Overflow et pour la prolifération de l’open source en général. Qu’un développeur travaillant dans une grosse entreprise de logiciel puisse légalement inclure le code d’une personne complètement extérieure dans un produit pour lequel il est rémunéré est en effet un accomplissement pour l’open source.

A l’inverse, GitHub fit initialement le choix de ne pas attribuer de licence par défaut aux projets postés sur sa plateforme, peut-être par crainte que cela ne freine son adoption par les utilisateurs et sa croissance. Ainsi, les projets postés sur GitHub accordent le droit de consulter et de forker le projet, mais sont à part ça sous copyright, sauf si le développeur spécifie qu’il s’agit d’une licence open source.

En 2013, GitHub décida enfin de prendre davantage position sur la question des licences, avec notamment la création et la promotion d’un micro-site, choosealicense.com (« choisissez-une-licence »), pour aider les utilisateurs à choisir une licence pour leur projet. Ils encouragent aussi désormais leurs utilisateurs à choisir une licence parmi une liste d’options au moment de créer un nouveau « repository » (dépôt).

Ce qui est intéressant, cependant, c’est que la plupart des développeurs ne se préoccupaient pas de la question des licences : soit ignoraient que leurs projets « open source » n’étaient pas légalement protégés, soit ils s’en fichaient. Une étude informelle réalisée en 2013 par le Software Freedom Law Center (Centre du Droit de la Liberté des Logiciels) sur un échantillon de 1,6 million de dépôts GitHub révéla que seuls 15% d’entre eux avaient spécifié une licence. Aussi, les entretiens avec des développeurs réalisés pour ce rapport suggèrent que beaucoup se fichent de spécifier une licence, ou se disent que si quelqu’un demande, ils pourront toujours en ajouter une plus tard.

Ce manque d’intérêt pour les licences a amené James Governor, cofondateur de la firme d’analyse de développeurs Red Monk, à constater en 2012 que « les jeunes dévs aujourd’hui font du POSS – Post open source software. Envoie chier les licences et la gestion, contribue juste à GitHub » [en anglais « commit to GitHub » signifie littéralement « s’engager dans GitHub » mais fait également référence à la commande « commit » qui permet de valider les modifications apportées à un projet, NdT.]. En d’autres termes, faire de l’information ouverte par défaut est devenu une telle évidence culturelle aujourd’hui que les développeurs ne s’imaginent plus faire les choses autrement – un contexte bien différent de celui des rebelles politisés du logiciel libre des années 1980. Ce retournement des valeurs, quoi qu’inspirant au niveau global, peut cependant amener à des complications légales pour les individus quand leurs projets gagnent en popularité ou sont utilisés à des fins commerciales.

Mais, en rendant le travail collaboratif sur le code aussi facile et standardisé, l’open source se retrouve aux prises avec une série d’externalités perverses.

L’open source a rendu le codage plus facile et plus accessible au monde. Cette accessibilité accrue, à son tour, a engendré une nouvelle catégorie de développeurs, moins expérimentés, mais qui savent comment utiliser les composants préfabriqués par d’autres pour construire ce dont ils ont besoin.

En 2012, Jeff Atwood, cofondateur de Stack Overflow, rédigea un article de blog intitulé ironiquement « Pitié n’apprenez pas à coder », où il se plaint de la mode des stages et des écoles de code. Tout en se félicitant du désir des personnes non-techniciennes de comprendre le code d’un point de vue conceptuel, Atwood met en garde contre l’idée qu’« introduire parmi la main-d’œuvre ces codeurs naïfs, novices, voire même-pas-vraiment-sûrs-d’aimer-ce-truc-de-programmeur, ait vraiment des effets positifs pour le monde ».

Dans ces circonstances, le modèle de développement de l’open source change de visage. Avant l’ascension de GitHub, il y avait moins de projets open source. Les développeurs étaient donc un groupe plus petit, mais en moyenne plus expérimenté : ceux qui utilisaient du code partagé par d’autres étaient susceptibles d’être également ceux qui contribuent en retour.

Aujourd’hui, l’intense développement de l’éducation au code implique que de nombreux développeurs inexpérimentés inondent le marché. Cette dernière génération de développeurs novices emprunte du code libre pour écrire ce dont elle a besoin, mais elle est rarement capable, en retour, d’apporter des contributions substantielles aux projets. Beaucoup sont également habitués à se considérer comme des « utilisateurs » de projets open source, davantage que comme les membres d’une communauté. Les outils open source étant désormais plus standardisés et faciles à utiliser, il est bien plus simple aujourd’hui pour un néophyte de débarquer sur un forum GitHub et d’y faire un commentaire désobligeant ou une requête exigeante – ce qui épuise et exaspère les mainteneurs.

Cette évolution démographique a aussi conduit à un réseau de logiciels bien plus fragmenté, avec de nombreux développeurs qui publient de nouveaux projets et qui créent un réseau embrouillé d’interdépendances. Se qualifiant lui-même de « développeur-pie en rémission » [« pie » est un surnom pour les développeurs-opportunistes, d’après le nom de l’oiseau, la pie réputée voleuse, NdT], Drew Hamlett a écrit en janvier 2016 un post de blog devenu très populaire intitulé « Le triste état du développement web ». L’article traite de l’évolution du développement web, se référant spécifiquement à l’écosystème Node.js :

« Les gens qui sont restés dans la communauté Node ont sans aucun doute créé l’écosystème le plus techniquement compliqué [sic] qui ait jamais existé. Personne n’arrive à y créer une bibliothèque qui fasse quoi que ce soit. Chaque projet qui émerge est encore plus ambitieux que le précédent… mais personne ne construit rien qui fonctionne concrètement. Je ne comprends vraiment pas. La seule explication que j’ai trouvée, c’est que les gens sont juste continuellement en train d’écrire et de réécrire en boucle des applis Node.js. »

Aujourd’hui, il y a tellement de projets qui s’élaborent et se publient qu’il est tout simplement impossible pour chacun d’eux de développer une communauté suffisamment importante et viable, avec des contributeurs réguliers qui discuteraient avec passion des modifications à apporter lors de débats approfondis sur des listes courriels. Au lieu de cela, beaucoup de projets sont maintenus par une ou deux personnes seulement, alors même que la demande des utilisateurs pour ces projets peut excéder le travail nécessaire à leur simple maintenance.

GitHub a rendu simples la création et la contribution à de nouveaux projets. Cela a été une bénédiction pour l’écosystème open source, car les projets se développent plus rapidement. Mais cela peut aussi parfois tourner à la malédiction pour les mainteneurs de projets, car davantage de personnes peuvent facilement signaler des problèmes ou réclamer de nouvelles fonctionnalités, sans pour autant contribuer elles-mêmes en retour. Ces interactions superficielles ne font qu’alourdir la charge de travail des mainteneurs, dont on attend qu’ils répondent à une quantité croissante de requêtes.

Il ne serait pas déraisonnable d’affirmer qu’un monde « post-open source » implique une réflexion non seulement autour des licences, ainsi que James Governor l’exprimait dans son commentaire originel, mais aussi autour du processus de développement lui-même.

Noah Kantrowitz, développeur Python de longue date et membre de la Python Software Foundation, a résumé ce changement dans un post de blog souvent cité :

« Dans les débuts du mouvement open source, il y avait assez peu de projets, et en général, la plupart des gens qui utilisaient un projet y contribuaient en retour d’une façon ou d’une autre. Ces deux choses ont changé à un point difficilement mesurable.
[…] Alors même que nous allons de plus en plus vers des outils de niche, il devient difficile de justifier l’investissement en temps requis pour devenir contributeur. « Combler son propre besoin » est toujours une excellente motivation, mais il est difficile de construire un écosystème là-dessus.
L’autre problème est le déséquilibre de plus en plus important entre producteurs et consommateurs. Avant, cela s’équilibrait à peu près. Tout le monde investissait du temps et des efforts dans les Communs et tout le monde en récoltait les bénéfices. Ces temps-ci, très peu de personnes font cet effort et la grande majorité ne fait que bénéficier du travail de ceux qui s’impliquent.
Ce déséquilibre s’est tellement enraciné qu’il est presque impensable pour une entreprise de rendre (en temps ou en argent) ne serait-ce qu’une petite fraction de la valeur qu’elle dérive des Communs. »

Cela ne veut pas dire qu’il n’existe plus de grands projets open source avec des communautés de contributeurs fortes (Node.js, dont on parlera plus tard dans ce rapport, est un exemple de projet qui est parvenu à ce statut.) Cela signifie qu’à côté de ces réussites, il y a une nouvelle catégorie de projets qui est défavorisée par les normes et les attentes actuelles de l’open source, et que le comportement qui dérive de ces nouvelles normes affecte même des projets plus gros et plus anciens.

Hynek Schlawack, Fellow de la Python Software Foundation et contributeur sur des projets d’infrastructure Python, exprime ses craintes au sujet d’un futur où il y aurait une demande plus forte, mais seulement une poignée de contributeurs solides :

« Ce qui me frustre le plus, c’est que nous n’avons jamais eu autant de développeurs Python et aussi peu de contributions de haute qualité. […] Dès que des développeurs clefs comme Armin Ronacher ralentissent leur travail, la communauté toute entière le ressent aussitôt. Le jour où Paul Kehrer arrête de travailler sur PyCA, on est très mal. Si Hawkowl arrête son travail de portage, Twisted ne sera jamais sur Python 3 et Git.
La communauté est en train de se faire saigner par des personnes qui créent plus de travail qu’elles n’en fournissent. […] En ce moment, tout le monde bénéficie de ce qui a été construit mais la situation se détériore à cause du manque de financements et de contributions. Ça m’inquiète, parce Python est peut-être très populaire en ce moment mais une fois que les conséquences se feront sentir, les opportunistes partiront aussi vite qu’ils étaient arrivés. »

Pour la plupart des développeurs, il n’y a guère que 5 ans peut-être que l’open source est devenu populaire. La large communauté des concepteurs de logiciel débat rarement de la pérennité à long terme de l’open source, et n’a parfois même pas conscience du problème. Avec l’explosion du nombre de nouveaux développeurs qui utilisent du code partagé sans contribuer en retour, nous construisons des palaces sur une infrastructure en ruines.




Des routes et des ponts (9) – l’argent et l’open source

Nadia Eghbal a déjà évoqué plusieurs fois les liens entre l’argent et l’open source (si vous avez manqué des épisodes). Elle y revient dans ce chapitre, en insistant sur les questions fondamentales que pose l’argent aux communautés open source ainsi qu’à leurs membres.

Question de nature quasi-philosophique : l’open source peut-il perdre son âme à cause de l’argent ? Question de gouvernance : qui va décider de l’utilisation des fonds ? Et pour finir question éthique et politique : jusqu’à où peut-on, doit-on accepter les requêtes des financeurs ?

La relation compliquée de l’open source avec l’argent

Traduction Framalang : goudron, Penguin, serici, goofy, Rozmador, xi, Lumibd, teromene, xi, Diane, et 3 anonymes

eye-banknote

L’argent est un sujet tabou dans les projets open source, et ce depuis les premiers jours du mouvement du logiciel libre qui émergea en réponse directe aux pratiques commerciales des logiciels propriétaires. Dans le contexte du mouvement du logiciel libre, l’aversion pour l’argent est tout à fait compréhensible. L’argent est ce qui permettait de commercialiser les logiciels dans les années 1980 et il a fallu des décennies pour revenir sur cet état d’esprit et promouvoir les avantages liés à l’élaboration de logiciels qui soient libres d’utilisation, de distribution et de modification. Même si de nos jours, nous prenons les logiciels libres pour acquis, dans les années 1980, c’était une véritable contre-culture, un état d’esprit révolutionnaire.

Au sein même des communautés open source, il existe une croyance répandue selon laquelle l’argent est de nature à corrompre l’open source. Et en effet, le nombre de projets nés d’un « travail-passion » est assez incroyable. Aujourd’hui, le développement de logiciel est considéré comme un domaine lucratif, dont les écoles de programmation appâtent leurs futurs étudiants avec des promesses de premiers salaires en dollars à six chiffres. Par contraste, il y a quelque chose de pur et d’admirable dans le fait de créer un logiciel simplement pour le plaisir.

D’un point de vue plus pratique, les projets open source se créent traditionnellement autour d’un besoin réel et identifiable. Quelqu’un estime qu’un projet pourrait être mieux fait, décide de le forker, effectue des améliorations, puis les diffuse pour qu’on en fasse usage. Le pragmatisme est au cœur de la culture open source, comme le prouve sa scission stratégique avec le mouvement du logiciel libre à la fin des années 1990. Certains contributeurs open source craignent, peut-être avec raison, que l’argent n’introduise un développement « artificiel » du système, avec des développeurs qui lancent de nouveaux projets simplement pour acquérir des financements, plutôt que pour répondre à un besoin réel.

David Heinemeier Hansson (aussi connu sous le pseudo de DHH), qui a créé le framework populaire Ruby on Rails, mettait en garde en 2013 contre les mélanges entre open source et argent :

Si l’open source est une incroyable force pour la qualité et pour la communauté, c’est précisément parce qu’elle n’a pas été définie en termes de marché. Dans le cadre du marché, la plupart des projets open source n’auraient jamais eu leur chance.

Prenez Ruby on Rails. […] C’est une réalisation colossale pour l’humanité ! Des milliers de gens, collaborant pendant une décennie entière pour produire une structure et un écosystème incroyablement aboutis, disponibles pour tous gratuitement. Prenez une seconde pour méditer sur l’ampleur de cette réussite. Pas seulement pour Rails, évidemment, mais pour de nombreux autres projets open source, encore plus grands, avec une filiation plus longue et encore plus de succès.

C’est en considérant ce fantastique succès, dû aux règles de vie d’une communauté, que nous devrions être extraordinairement prudents avant de laisser les lois du marché corrompre l’écosystème.

Structurellement, le meilleur atout de l’open source : son penchant pour la démocratie, est aussi sa faiblesse. Beaucoup de projets open source ne sont rien de plus qu’un dépôt numérique public où est stocké du code auquel un groupe de gens contribue régulièrement : l’équivalent d’une association officieuse sur un campus universitaire. Il n’y a pas de structure légale et il n’y a pas de propriétaire ou de chef clairement défini. Les  « mainteneurs » ou les contributeurs principaux émergent souvent de facto, en fonction de qui a créé le projet, ou de qui y a investi beaucoup de temps ou d’efforts. Cependant, même dans ces cas-là, dans certains projets on répugne à introduire une hiérarchie favorisant clairement un contributeur par rapport à un autre.

En avril 2008, Jeff Atwood, un développeur .NET bien connu et dont nous avons déjà parlé, a annoncé qu’il donnait 5 000 $ au projet open source : ScrewTurn Wiki. ScrewTurn Wiki est un projet de wiki développé par Dario Solara, un autre développeur .NET, et maintenu par des volontaires. Atwood a dit à Dario que le don était « sans condition » : Solara pouvait utiliser l’argent de la manière qu’il jugerait la plus utile au projet.
Plusieurs mois plus tard, Atwood demanda à Solara comment il avait décidé de dépenser l’argent. Solara lui répondit que l’argent de la donation était « encore intact. Ce n’est pas facile de l’utiliser… Que suggères-tu ? » Atwood a écrit que cette réponse l’avait « terriblement déçu ».

La nature décentralisée du monde open source en a fait ce qu’il est : des logiciels produits de façon participative, que n’importe qui peut élaborer, partager, et améliorer. Mais quand vient le moment de discuter des besoins organisationnels, ou de la viabilité, il peut être difficile de prendre des décisions faisant autorité.

Ces transitions vers une viabilité à long terme peuvent êtres interminables et douloureuses. Un des exemples les plus connus est le noyau Linux, un projet open source utilisé dans de nombreux systèmes d’exploitation à travers le monde, parmi lesquels Android et Chrome OS. Il a été créé en 1991 par Linus Torvalds, un étudiant en informatique .
Au fur et à mesure que le noyau Linux gagnait en popularité, Linus rechignait à discuter de l’organisation du développement du projet, préférant tout gérer tout seul.  L’inquiétude et aussi la colère à l’égard de Torvalds grandirent chez les développeurs du projet, déclenchant de « vraies grosses disputes » selon Torvalds. Le conflit a atteint son apogée en 2002, on évoqua même un possible schisme.

Torvalds attribua ces conflits internes à un manque d’organisation, plutôt qu’à un quelconque problème technique :

Nous avons eu de vraies grosses disputes aux alentours de 2002, quand j’appliquais des correctifs à droite à gauche, et que les choses ne fonctionnaient vraiment pas. C’était très douloureux pour tout le monde, et également beaucoup pour moi. Personne n’aime vraiment les critiques, et il y avait beaucoup de critiques virulentes, et comme ce n’était pas un problème strictement technique, on ne pouvait pas juste montrer un correctif et dire :  « Hé, regardez, ce patch améliore les performances de 15% » ou quoique ce soit de ce genre. Il n’y avait pas de solution technique. La solution a été d’utiliser de meilleurs outils, et d’avoir une organisation du travail qui nous permette de mieux distribuer les tâches.

La Fondation Linux a été créée en 2007 pour aider à protéger et à maintenir Linux et ses projets associés. Torvalds ne pilote pas la Fondation Linux lui-même, il a préféré recevoir un salaire régulier en tant que « Compagnon Linux », et travailler sur ses projets en tant qu’ingénieur.

Malgré le fait que le logiciel open source soit admirablement ancré dans une culture du volontariat et de la collaboration relativement peu touchée par des motivations extérieures, la réalité est que notre économie et notre société, depuis les sociétés multimillionnaires jusqu’aux sites web gouvernementaux, dépendent de l’open source.

Dans l’ensemble, c’est probablement une évolution positive pour la société. Cela signifie que les logiciels ne sont plus limités à un développement privé et propriétaire, comme cela a été le cas pendant des dizaines d’années. Le fait que le gouvernement des États-Unis, ou un réseau social possédant des milliards d’utilisateurs, intègrent des logiciels construits par une communauté, annonce un futur optimiste pour la démocratie.

De plus, de nombreux projets fonctionnent très bien de manière communautaire lorsqu’ils sont d’une des deux tailles extrêmes possibles, c’est-à-dire soit des petits projets qui ne demandent pas de maintenance significative (comme dans l’exemple de Arash Payan et Appirater), soit de très gros projets qui reçoivent un soutien important de la part d’entreprises (comme Linux).

Cependant, beaucoup de projets sont coincés quelque part entre les deux : assez grands pour avoir besoin d’une maintenance significative, mais pas d’une taille suffisante pour que des entreprises déclarent leur offrir un soutien. Ces projets sont ceux dont l’histoire passe inaperçue, ceux dont on ne parle pas. Des deux côtés, on dit aux développeurs de ces projets « moyens » qu’ils sont le problème : du côté des « petits projets », on pense qu’ils devraient simplement mieux s’organiser et du côté des « gros projets », on pense que si leur projet était « assez bon », il aurait déjà reçu l’attention des soutiens institutionnels.

Il existe aussi des intérêts politiques autour de la question du soutien financier qui rendent encore plus difficile la prospection d’une source de financement fiable. On peut imaginer qu’une entreprise seule ne souhaite pas sponsoriser le développement d’un travail qui pourrait également bénéficier à son concurrent, qui lui n’aurait rien payé. Un mécène privé peut exiger des privilèges spécifiques qui menacent la neutralité d’un projet. Par exemple, dans les projets en lien avec la sécurité, le fait d’exiger d’être le seul à qui sont révélées les potentielles failles (c’est-à-dire payer pour être le seul à connaître les failles de sécurité plutôt que de les rendre publiques) est un type de requête controversé. Des gouvernements peuvent également avoir des raisons politiques pour financer le développement d’un projet en particulier, ou pour demander des faveurs spéciales comme une « backdoor » (une porte dérobée, c’est-à-dire un accès secret qui permet d’outrepasser les authentifications de sécurité), même si le projet est utilisé dans le monde entier.

Les récents démêlés légaux entre le FBI et Apple sont un bon révélateur des tensions qui existent entre technologie et gouvernement, au-delà même des projets open source.
Le FBI a, de manière répétée, et à l’aide d’assignations en justice, demandé l’aide d’Apple pour déverrouiller des téléphones afin d’aider à résoudre des enquêtes criminelles. Apple a toujours refusé ces requêtes. En février 2016, le FBI a demandé l’aide d’Apple pour déverrouiller le téléphone d’un des tireurs d’une attaque terroriste récente à San Bernardino, en Californie. Apple a également refusé de les aider, et a publié une lettre sur son site, déclarant :

Tout en croyant que les intentions du FBI sont bonnes, nous pensons qu’il serait mauvais pour le gouvernement de nous forcer à ajouter une « backdoor » dans nos produits. Et finalement, nous avons peur que cette demande mette en danger les libertés que notre gouvernement est censé protéger.

 

En mars 2016, le FBI a trouvé une tierce partie pour l’aider à déverrouiller l’iPhone et a laissé tomber l’affaire.

Une des plus grandes forces de l’open source est que le code est considéré comme un bien public, et beaucoup de projets prennent la gestion de ces projets au sérieux.  Il est important à titre personnel, pour beaucoup de développeurs de projets, que personne ne puisse prendre seul le contrôle d’une chose que le public utilise et dont il bénéficie. Toutefois, cet engagement à rester neutre a un prix, puisque beaucoup de ressources disponibles pour les développeurs de nos jours (comme les capitaux-risques ou les donations d’entreprises) attendent en contrepartie d’influer sur le projet ou des retours sur investissement.

Le logiciel open source est créé et utilisé de nos jours à une vitesse jamais vue auparavant. Beaucoup de projets open source sont en train d’expérimenter la difficile transition d’une création désintéressée à une infrastructure publique essentielle.
Ces dépendances toujours plus nombreuses signifient que nous avons pour responsabilité partagée de garantir à ces projets le soutien dont ils ont besoin.

eye-larger-banknote
Crédits pour les 2 images Eelke (CC BY 2.0)




Des routes et des ponts (8) – ce qui motive les contributeurs

Participer à l’open source est souvent une activité bénévole donc non rémunérée mais qui peut parfois devenir chronophage et difficilement compatible avec une autre activité ou un emploi. Nadia Eghbal, dans ce nouveau chapitre nous donne à voir aujourd’hui les trois motivations principales des contributeurs de l’open source.

motivation_phboukobza
Image de Cécile Delannoy, Photo Philippe Boubovska CC-BY 2.0

Pourquoi les gens continuent-ils de contribuer à ces projets, alors qu’ils ne sont pas payés pour cela ?

Traduction Framalang : Adélie, goofy, xi, woof, Diane, Asta, Rozmador, Lumibd, Piup, teromene, mika, lyn. et deux anonymes
De nombreuses infrastructures numériques sont entretenues par des contributeurs individuels ou par une communauté de contributeurs. Dans la plupart des cas, ces contributeurs ne sont pas directement rémunérés pour ce travail. En réalité, ils contribuent pour des raisons propres aux communautés open source, pour se construire une réputation, par exemple, ou dans un esprit de service public. Ce chapitre explorera certaines de ces motivations plus en détail.

Contribuer à l’open source pour se construire une réputation.

Se construire une réputation est peut-être la motivation la plus concrète pour contribuer à un projet open source. Pour les développeurs, rédacteurs techniques et autres, ces projets sont une occasion de faire leurs preuves en public, et leur offrent une chance de participer à quelque chose de grand et d’utile.
Dans le cadre d’un programme appelé Google Summer of Code (l’été du code de Google), Google propose des bourses d’été à des étudiants développeurs pour qu’ils contribuent à des projets open source populaires. Le programme fonctionne bien, parce que les développeurs sont des étudiants, novices dans le domaine de l’informatique et avides de démontrer leurs talents.
Les développeurs, en particulier, tirent profit de leurs expériences de contribution à l’open source pour se constituer un portfolio. De plus, en contribuant à des projets populaires dotés de communautés actives, un développeur a des chances de se construire une réputation en devenant « connu ».

GitHub, site web déjà cité, est une plateforme populaire pour l’élaboration collaborative de code. Quand un développeur contribue à un projet public de logiciel, ses contributions apparaissent sur son profil. Le profil GitHub d’un développeur peut faire office de portfolio pour des sociétés de logiciels, mais seules les contributions effectuées pour des projets publics (c’est-à-dire open source) sont visibles par tous.

Cependant, les motivations basées sur la réputation ne sont pas dénuées de risques, surtout parmi les jeunes développeurs. Un développeur dont la carrière est encore naissante peut contribuer à un projet open source dans le seul but de trouver un employeur, puis arrêter de contribuer une fois cet objectif atteint. De plus, un développeur cherchant uniquement à se construire un portfolio risque de proposer des contributions de moindre qualité, qui ne seront pas acceptées et qui pourront même ralentir le processus de développement du projet. Enfin, si le but d’une contribution publique de la part d’un développeur est de se construire une réputation, alors ce développeur sera tenté de contribuer uniquement aux projets les plus populaires et attractifs (une extension du « syndrome de la pie » déjà évoqué), et de ce fait, les projets plus anciens auront du mal à trouver de nouveaux contributeurs.

Le projet est devenu très populaire de manière inattendue, et son développeur se sent obligé d’en assurer le suivi.

Des entreprises, des particuliers ou des organisations peuvent devenir dépendants d’un projet open source populaire. En d’autres termes, le code est utilisé dans des logiciels opérationnels, écrits et déployés par d’autres, ces logiciels peuvent servir pour un tas de choses : achats en ligne ou soins médicaux. En raison de la complexité du réseau de dépendances (dont beaucoup ne sont même pas connues de l’auteur du projet, puisqu’il ne peut pas savoir exactement qui utilise son code), la personne qui maintient le projet peut se sentir moralement obligée de continuer à l’entretenir.
Arash Payan, le développeur d’Appirater mentionné au début de ce rapport, a publié son projet en 2009. Au sujet de sa décision de continuer à maintenir le projet, il déclare :

« Ce n’est pas quelque chose de très excitant, mais il y a tellement de gens qui utilisent le projet (qui en dépendent, même ?) pour leurs applications, que je me sens obligé d’en prendre soin correctement. Personnellement, j’ai quitté iOS, donc maintenir une bibliothèque iOS n’est pas exactement la première chose que je veux faire de mon temps libre. »

Payan estime que maintenir le projet à jour lui prend 1 à 2 heures par mois maximum, donc cela ne le dérange pas.
Mais certains projets devenus populaires de façon inattendue prennent plus de temps à maintenir. Andrey Petrov est un développeur indépendant qui a écrit une bibliothèque Python appelée urllib3. Sa publication en 2008 fut une avancée majeure pour la bibliothèque standard déjà existante, et elle est devenue populaire parmi les développeurs Python. Aujourd’hui, tous les utilisateurs de Python en dépendent.
Andrey a rendu le projet open source dans l’espoir que d’autres gens soutiendraient son développement et sa maintenance. Il est développeur indépendant ; bien qu’il apprécie de maintenir urllib3, il ne peut s’en occuper que pendant son temps libre puisqu’il n’est pas payé pour ce travail. Cory Benfield, qui est employé par la Hewlett Packard Enterprise pour aider à maintenir des bibliothèques Python d’importance critique (que HPE utilise et dont HPE dépend), est désormais affecté à la maintenance de urllib3 dans le cadre de son travail ; cela a allégé la charge de travail d’Andrey.

Le projet est une passion plus qu’un travail

Eric Holsher est l’un des créateurs de Read the Docs, une plateforme qui héberge de la documentation sur des logiciels. La documentation est l’équivalent d’un mode d’emploi. De même qu’on a besoin d’un mode d’emploi pour monter un meuble, un développeur a besoin de documentation pour savoir comment implémenter un projet. Sans la documentation adéquate, il serait difficile pour un développeur de savoir par où commencer.
Read the Docs fournit de la documentation pour 18 000 logiciels, y compris pour des entreprises clientes, et compte plus de 15 millions de pages consultées chaque mois.
Bien qu’il génère des revenus grâce à de grosses sociétés clientes, le projet Read the Docs est toujours majoritairement financé par les dons de ses utilisateurs. Le coût des serveurs est quant à lui couvert grâce au mécénat de l’entreprise Rackspace.
Eric et son cofondateur, Anthony Johnson, s’occupent de la maintenance du projet et n’en tirent pas de revenus réguliers bien qu’ils s’y consacrent à temps plein. Une subvention ponctuelle de 48 000 $ de la Fondation Mozilla, reçue en décembre 2015, les aidera à court terme à couvrir leurs salaires. Ils expérimentent actuellement un modèle publicitaire (qui ne piste pas ses utilisateurs) qui rendrait le modèle viable.
Eric remarque que la difficulté ne réside pas uniquement dans le travail de développement, mais aussi dans les fonctions extérieures au code, comme le support client, qui nécessite qu’un mainteneur soit d’astreinte chaque week-end en cas de problème. Pour expliquer pourquoi il continuait de maintenir le projet, Eric l’a qualifié de « travail-passion ».

« Soit les humains sont irrationnels, soit ils ne sont pas intéressés seulement par l’argent. Il y a clairement une autre motivation pour moi dans ce cas. C’est un travail-passion. Si je le voulais, je pourrais clore ce projet demain et ne plus jamais y revenir, mais je travaille dessus depuis 5 ans et je n’ai aucune envie que ça se termine. »

Eric est motivé pour travailler sur Read the Docs parce qu’il perçoit la valeur que cela crée pour les autres. Pour beaucoup de mainteneurs de projets, cet impact sur autrui est la première motivation, parce qu’ils peuvent directement constater l’effet positif que leur travail a sur la vie d’autres personnes. En ce sens, l’open source a beaucoup de points communs avec le secteur à but non-lucratif. Cependant, tout comme dans le secteur à but non-lucratif, cette mentalité de « travail-passion » peut augmenter la difficulté qu’ont les communautés open source à aborder le sujet qui fâche : comment pérenniser des projets qui nécessitent davantage de ressources et d’attention que ce que les contributeurs actuels peuvent fournir ?




Des routes et des ponts (7) – pour une infrastructure durable

Une question épineuse pour les projets libres et open source est leur maintenance à long terme, et bien évidemment les ressources, tant financières qu’humaines, que l’on peut y consacrer. Tel est le sujet qu’aborde ce nouveau chapitre de l’ouvrage de Nadia Eghbal Des routes et des ponts que le groupe Framalang vous traduit semaine après semaine (si vous avez raté les épisodes précédents)

Elle examine ici une série de cas de figures en fonction de l’origine de l’origine projet.

Comment les projets d’infrastructure numérique sont-ils gérés et maintenus ?

TraductionFramalang : Diane, Penguin, Asta, Rozmador, Lumibd, jum-s, goofy, salade, AFS, Théo

Nous avons établi que les infrastructures numériques sont aussi nécessaires à la société moderne que le sont les infrastructures physiques. Bien qu’elles ne soient pas sujettes aux coûts élevés et aux obstacles politiques auxquels sont confrontées ces dernières, leur nature décentralisée les rend cependant plus difficiles à cerner. Sans une autorité centrale, comment les projets open source trouvent-ils les ressources dont ils ont besoin ?

En un mot, la réponse est différente pour chaque projet. Cependant, on peut identifier plusieurs lieux d’où ces projets peuvent  émaner : au sein d’une entreprise, via une startup, de développeurs individuels ou collaborant en communauté.

Au sein d’une entreprise

Parfois, le projet commence au sein d’une entreprise. Voici quelques exemples qui illustrent par quels moyens variés un projet open source peut être soutenu par les ressources d’une entreprise :

Go, le nouveau langage de programmation évoqué précédemment, a été développé au sein de Google en 2007 par les ingénieurs Robert Griesemer, Rob Pike, et Ken Thompson, pour qui la création de Go était une expérimentation. Go est open source et accepte les contributions de la communauté dans son ensemble. Cependant, ses principaux mainteneurs sont employés à plein temps par Google pour travailler sur le langage.

React est une nouvelle bibliothèque JavaScript dont la popularité grandit de jour en jour.
React a été créée par Jordan Walke, ingénieur logiciel chez Facebook, pour un usage interne sur le fil d’actualités Facebook. Un employé d’Instagram (qui est une filiale de Facebook) a également souhaité utiliser React, et finalement, React a été placée en open source, deux ans après son développement initial.
Facebook a dédié une équipe d’ingénieurs à la maintenance du projet, mais React accepte aussi les contributions de la communauté publique des développeurs.

Swift, le langage de programmation utilisé pour iOS, OS X et les autres projets d’Apple, est un exemple de projet qui n’a été placé en open source que récemment. Swift a été développé par Apple en interne pendant quatre ans et publié en tant que langage propriétaire en 2014. Les développeurs pouvaient utiliser Swift pour écrire des programmes pour les appareils d’Apple, mais ne pouvaient pas contribuer au développement du cœur du langage. En 2015, Swift a été rendu open source sous la licence Apache 2.0.

Pour une entreprise, les incitations à maintenir un projet open source sont nombreuses. Ouvrir un projet au public peut signifier moins de travail pour l’entreprise, grâce essentiellement aux améliorations de la collaboration de masse.
Cela stimule la bonne volonté et l’intérêt des développeurs, qui peuvent alors être incités à utiliser d’autres ressources de l’entreprise pour construire leurs projets.

Disposer d’une communauté active de programmeurs crée un vivier de talents à recruter. Et parfois, l’ouverture du code d’un projet aide une entreprise à renforcer sa base d’utilisateurs et sa marque, ou même à l’emporter sur la concurrence. Plus une entreprise peut capter de parts de marché, même à travers des outils qu’elle distribue gratuitement, plus elle devient influente. Ce n’est pas très différent du concept commercial de « produit d’appel ».

Même quand un projet est créé en interne, s’il est open source, alors il peut être librement utilisé ou modifié selon les termes d’une licence libre, et n’est pas considéré comme relevant de la propriété intellectuelle de l’entreprise au sens traditionnel du terme. De nombreux projets d’entreprise utilisent des licences libres standard qui sont considérées comme acceptables par la communauté des développeurs telles que les licences Apache 2.0 ou BSD. Cependant, dans certains cas, les entreprises ajoutent leurs propres clauses. La licence de React, par exemple, comporte une clause additionnelle qui pourrait potentiellement créer des conflits de revendications de brevet avec les utilisateurs de React.

En conséquence, certaines entreprises et individus sont réticents à utiliser React, et cette décision est fréquemment décrite comme un exemple de conflit avec les principes de l’open source.

Via une startup

Certains projets d’infrastructures empruntent la voie traditionnelle de la startup, ce qui inclut des financements en capital-risque. Voici quelques exemples :
Docker, qui est peut-être l’exemple contemporain le plus connu, aide les applications logicielles à fonctionner à l’intérieur d’un conteneur. (Les conteneurs procurent un environnement propre et ordonné pour les applications logicielles, ce qui permet de les faire fonctionner plus facilement partout). Docker est né en tant que projet interne chez dotCloud, une société de Plate-forme en tant que service (ou PaaS, pour  platform as a service en anglais), mais le projet est devenu si populaire que ses fondateurs ont décidé d’en faire la principale activité de l’entreprise. Le projet Docker a été placé en open source en 2013. Docker a collecté 180 millions de dollars, avec une valeur estimée à plus d’1 milliard de dollars.

Leur modèle économique repose sur du support technique, des projets privés et des services. Les revenus de Docker pour l’année 2014 ne dépassaient pas 10 millions de dollars.

Npm est un gestionnaire de paquets sorti en 2010 pour aider les développeurs de Node.js à partager et à gérer leurs projets. Npm a collecté près de 11 millions de dollars de financements depuis 2014 de la part de True Ventures et de Bessemer Ventures, entre autres. Leur modèle économique se concentre sur des fonctionnalités payantes en faveur de la vie privée et de la sécurité.

Meteor est un framework JavaScript publié pour la première fois en 2012. Il a bénéficié d’un programme d’incubation au sein de Y Combinator, un prestigieux accélérateur de startups qui a également été l’incubateur d’entreprises comme AirBnB et Dropbox. À ce jour, Meteor a reçu plus de 30 millions de dollars de financements de la part de firmes comme Andreessen Horowitz ou Matrix Partners. Le modèle économique de Meteor se base sur une plateforme d’entreprise nommée Galaxy, sortie en Octobre 2015, qui permet de faire fonctionner et de gérer les applications Meteor.

L’approche basée sur le capital-risque est relativement nouvelle, et se développe rapidement.
Lightspeed Venture Partners a constaté qu’entre 2010 et 2015, les sociétés de capital-risque ont investi plus de 4 milliards de dollars dans des entreprises open source, soit dix fois plus que sur les cinq années précédentes.

Le recours aux fonds de capital-risque pour soutenir les projets open source a été accueilli avec scepticisme par les développeurs (et même par certains acteurs du capital-risque eux-mêmes), du fait de l’absence de modèles économiques ou de revenus prévisibles pour justifier les estimations. Steve Klabnik, un mainteneur du langage Rust, explique le soudain intérêt des capital-risqueurs pour le financement de l’open source :

« Je suis un investisseur en capital-risque. J’ai besoin qu’un grand nombre d’entreprises existent pour gagner de l’argent… J’ai besoin que les coûts soient bas et les profits élevés. Pour cela, il me faut un écosystème de logiciels open source en bonne santé. Donc je fais quoi? … Les investisseurs en capital-risque sont en train de prendre conscience de tout ça, et ils commencent à investir dans les infrastructures. […]
Par bien des aspects, le matériel open source est un produit d’appel, pour que tu deviennes accro…puis tu l’utilises pour tout, même pour ton code propriétaire. C’est une très bonne stratégie commerciale, mais cela place GitHub au centre de ce nouvel univers. Donc pour des raisons similaires, a16z a besoin que GitHub soit génial, pour servir de tremplin à chacun des écosystèmes open source qui existeront à l’avenir… Et a16z a suffisamment d’argent pour en «gaspiller » en finançant un projet sur lequel ils ne récupéreront pas de bénéfices directs, parce qu’ils sont suffisamment intelligents pour investir une partie de leurs fonds dans le développement de l’écosystème. »

GitHub, créé en 2008, est une plateforme de partage/stockage de code, disponible en mode public ou privé, doté d’un environnement ergonomique. Il héberge de nombreux projets open source populaires et, surtout, il est devenu l’épicentre culturel de la croissance explosive de l’open source (dont nous parlerons plus loin dans ce rapport).
GitHub n’a reçu aucun capital-risque avant 2012, quatre ans après sa création. Avant cette date, GitHub était une entreprise rentable. Depuis 2012, GitHub a reçu au total 350 millions de dollars de financements en capital-risque.

nickquaranto_cc-by-2-0
Image par Nick Quaranto (CC BY-SA 2.0)

Andreessen Horowitz (alias a16z), la firme d’investissement aux 4 millards de dollars qui a fourni l’essentiel du capital de leur première levée de fonds de 100 millions de dollars, a déclaré qu’il s’agissait là de l’investissement le plus important qu’elle ait jamais fait jusqu’alors.
En d’autres termes, la théorie de Steve Klabnik est que les sociétés de capital-risque qui investissent dans les infrastructures open source promeuvent ces plateformes en tant que « produit d’appel », même quand il n’y a pas de modèle économique viable ou de rentabilité à en tirer, parce que cela permet de faire croître l’ensemble de l’écosystème. Plus GitHub a de ressources, plus l’open source est florissant. Plus l’open source est florissant, et mieux se portent les startups. À lui seul, l’intérêt que portent les sociétés d’investissement à l’open source, particulièrement quand on considère l’absence de véritable retour financier, est une preuve du rôle-clé que joue l’open source dans l’écosystème plus large des startups.
Par ailleurs, il est important de noter que la plateforme GitHub en elle-même n’est pas un projet open source, et n’est donc pas un exemple de capital-risque finançant directement l’open source. GitHub est une plateforme à code propriétaire qui héberge des projets open source. C’est un sujet controversé pour certains contributeurs open source.

 

Par des personnes ou un groupe de personnes

Enfin, de nombreux projets d’infrastructures numériques sont intégralement développés et maintenus par des développeurs indépendants ou des communautés de développeurs. Voici quelques exemples :

Python, un langage de programmation, a été développé et publié par un informaticien, Guido van Rossum, en 1991.
Van Rossum déclarait qu’il « était à la recherche d’un projet de programmation « passe-temps », qui [le] tiendrait occupé pendant la semaine de Noël. »
Le projet a décollé, et Python est désormais considéré comme l’un des langages de programmation les plus populaires de nos jours.

Van Rossum reste le principal auteur de Python (aussi connu parmi les développeurs sous le nom de « dictateur bienveillant à vie » et il est actuellement employé par Dropbox, dont les logiciels reposent fortement sur Python.

Python est en partie géré par la Python Software Foundation (NdT: Fondation du logiciel Python), créée en 2001, qui bénéficie de nombreux sponsors commerciaux, parmi lesquel Intel, HP et Google.

RubyGems est un gestionnaire de paquets qui facilite la distribution de programmes et de bibliothèques associés au langage de programmation Ruby.
C’est une pièce essentielle de l’infrastructure pour tout développeur Ruby. Parmi les sites web utilisant Ruby, on peut citer par exemple Hulu, AirBnB et Bloomberg. RubyGems a été créé en 2003 et est géré par une communauté de développeurs. Certains travaux de développement sont financés par Ruby Together, une fondation qui accepte les dons d’entreprises et de particuliers.

Twisted, une bibliothèque Python, fut créée en 2002 par un programmeur nommé Glyph Lefkowitz. Depuis lors,  son usage s’est largement répandu auprès d’individus et d’organisations, parmi lesquelles Lucasfilm et la NASA.
Twisted continue d’être géré par un groupe de volontaires. Le projet est soutenu par des dons corporatifs/commerciaux et individuels ; Lefkowitz en reste l’architecte principal et gagne sa vie en proposant ses services de consultant.

Comme le montrent tous ces exemples, les projets open source peuvent provenir de pratiquement n’importe où. Ce qui est en général considéré comme une bonne chose. Cela signifie que les projets utiles ont le plus de chances de réussir, car ils évitent d’une part les effets de mode futiles inhérents aux startups, et d’autre part la bureaucratie propre aux gouvernements. La nature décentralisée de l’infrastructure numérique renforce également les valeurs de démocratie et d’ouverture d’Internet, qui permet en principe à chacun de créer le prochain super projet, qu’il soit une entreprise ou un individu.
D’un autre côté, un grand nombre de projets utiles proviendront de développeurs indépendants qui se trouveront tout à coup à la tête d’un projet à succès, et qui devront prendre des décisions cruciales pour son avenir. Une étude de 2015 menée par l’Université fédérale de Minas Gerai au Brésil a examiné 133 des projets les plus activement utilisés sur Github, parmi les langages de programmation, et a découvert que 64 % d’entre eux, presque les deux tiers, dépendaient pour leur survie d’un ou deux développeurs seulement.

Bien qu’il puisse y avoir une longue traîne de contributeurs occasionnels ou ponctuels pour de nombreux projets, les responsabilités principales de la gestion du projet ne reposent que sur un très petit nombre d’individus.

Coordonner des communautés internationales de contributeurs aux avis arrêtés, tout en gérant les attentes d’entreprises classées au Fortune 500 qui utilisent votre projet, voilà des tâches qui seraient des défis pour n’importe qui. Il est impressionnant de constater combien de projets ont déjà été accomplis de cette manière. Ces tâches sont particulièrement difficiles dans un contexte où les développeurs manquent de modèles clairement établis, mais aussi de soutien institutionnel pour mener ce travail à bien. Au cours d’interviews menées pour ce rapport, beaucoup de développeurs se sont plaints en privé qu’ils n’avaient aucune idée de qui ils pouvaient solliciter pour avoir de l’aide, et qu’ils préféreraient « juste coder ».

Pourquoi continuent-ils à le faire ? La suite de ce rapport se concentrera sur pourquoi et comment les contributeurs de l’open source maintiennent des projets à grande échelle, et sur les raisons pour lesquelles c’est important pour nous tous.




Une initiative d’éducation populaire au numérique à Damgan

Damgan est un petit village d’environ 1650 habitants dans le sud du Morbihan, région Bretagne. L’Université Populaire du Numérique de Damgan y est née le 27 septembre 2016, c’est une association qui compte déjà 48 adhérents au bout d’un mois.

Transparence : cet article est une reformulation des réponses que j’ai rédigées avec mon ami Pierre Bleiberg pour un article de Ouest France, mais très largement tronquées à la publication.

université populaire du numérique de damgan

Qu’est ce qui vous a poussé à créer cette Université Populaire du Numérique de Damgan ?

 

jcfrog
Jérôme Choain (photo : kervoyalendamgan.fr)

Je pense qu’il y a urgence. Et depuis longtemps. La révolution numérique est d’ordre culturel, or la population dans sa grande majorité se sent exclue de cette culture. Les ordinateurs, les tablettes, les smartphones sont entrés dans les foyers et beaucoup se sentent démunis face à ce matériel informatique. Bien sûr il y a la nécessité d’apprendre des bases « techniques », mais surtout de se frotter à de nouveaux usages, à une nouvelle façon de faire société dans un monde où nous sommes tous connectés à tous les autres et où chacun, même celui qui se croit déconnecté, a une partie de sa vie stockée quelque part sous forme de 0 et de 1.

Une éducation est nécessaire et ce n’est pas l’état qui peut en être le moteur : comme partout ailleurs, une grande partie des responsables n’ont pas eux-mêmes cette culture. C’est un phénomène transversal qui touche toutes les populations, tous les milieux sociaux, et contrairement à ce que les plus anciens peuvent croire, tous les âges. Les jeunes sont plus à l’aise face à la machine, mais ils ne sont pas pour autant plus cultivés sur le numérique.

Cela fait déjà longtemps qu’on parle de fracture numérique. Je lisais dans un magazine informatique qu’il y a en France entre 8 et 10 millions de Français incapables de naviguer sur le net ou d’envoyer un mail ; c’est aussi handicapant que de ne pas savoir lire. Cette fracture n’a jamais été réduite. Une des raisons est que cette culture porte en elle un modèle de partage et d’horizontalité qui s’oppose violemment à celui de nos sociétés ultra-hiérarchisées. C’est pourquoi je pense que l’effort doit venir de la société civile, que nous devons nous éduquer nous-mêmes dans l’échange.

À qui s’adresse cette association ? Comment organisez-vous les ateliers ?

Nous sommes au tout début de l’aventure, nous ne pouvons pas encore parler d’organisation précise. Nous avons mis en place deux premiers ateliers avec à chaque fois une quarantaine de participants. D’abord un sur les forums car nous avons décidé de nous former sur un outil commun avant toute autre chose (notre forum). S’il n’y a pas d’interaction entre nous, l’objectif est manqué. Nous avons une composante locale, on se rencontre pour créer une sphère de confiance, mais il faut aussi pouvoir se retrouver en ligne en dehors des ateliers.

Nous avons également des listes de diffusion et un blog. Nous ne sommes pas encore présents sur les réseaux sociaux, on va y venir mais ensemble, doucement. Nous pensons créer les comptes en atelier.

La seconde séance a été consacrée aux notions de base de la micro-informatique : les ordinateurs et leurs composants. J’ai également refait l’atelier sur les forums avec d’autres adhérents.

Le public est le plus varié possible. La moyenne d’âge est assez élevée pour l’instant car elle correspond à la population de Damgan, mais nous avons quelques jeunes et espérons bien en trouver d’autres. Et nous avons déjà des personnes qui n’habitent pas Damgan qui participent, d’autres qui sont intéressées. Et je répète que nous accueillons tous les âges, tous les niveaux avec bienveillance.

logo-devise-damgan
Le logo et la devise de l’Université populaire de Damgan (cliquer sur l’image pour accéder au site)

Notre démarche s’appuie sur celle de l’éducation populaire, sur l’échange et le partage de connaissances. Si la grande majorité des premiers adhérents a « besoin d’apprendre », nous espérons bien que demain les mêmes pourront partager à leur tour leurs connaissances et leur expérience. Des adhérents ont déjà proposé des sujets qu’ils pourraient nous présenter dans une section du forum consacrée aux « offres ».

Comment gérez-vous les différents niveaux des participant-e-s ?

C’est la grande difficulté. Avec ces premières rencontres on apprend à se connaître et on débat ensemble de la façon dont on va pouvoir s’organiser. Nous avons eu beaucoup de monde et nous sommes bien conscients qu’il va falloir essayer de faire des ateliers plus petits et plus ciblés. Nous demandons à tous d’être un peu patients et nous remercions nos adhérents d’essuyer les plâtres. Ce qui est sûr c’est que le besoin est réel, les gens sont motivés et je suis certain que nous allons faire de grandes choses.

Faut-il amener son matériel ? Faut-il être « connecté-e » ?

Pour l’instant les gens sont venus en grande majorité avec des portables ou des tablettes. Nous allons certainement devoir consacrer des ateliers différents pour ce qui est de la pratique entre l’ordinateur d’un côté et les tablettes/smartphones de l’autre. Mais cela dépend du sujet. On parle beaucoup de pratique mais nos ambitions sont très larges. Si nous organisons des débats sur les données personnelles, il n’y pas besoin de matériel.

Nous souhaitons également nous mettre au service des gens « déconnectés », inviter ceux qui n’ont ni matériel ni internet, pour par exemple faire avec eux des démarches administratives en ligne. Pour ceux qui veulent venir voir et qui n’ont pas de matériel, c’est évidemment possible. Et pourquoi pas créer des créneaux de « libre accès » pour ceux qui en ont le besoin. Nous verrons, ça dépendra aussi de nos moyens financiers et humains.

Ressentez-vous l’appréhension face à cet univers ?

L’appréhension face au numérique, elle est omniprésente. Pour les plus anxieux, quand les gens viennent c’est déjà qu’ils ont fait un grand pas. Nous avons récemment accueilli une dame qui était totalement perdue et très émue de cette situation. Mais elle va s’accrocher et on va voir avec elle pour démarrer en douceur avec des ateliers très basiques.

Nous savons également qu’il nous faudra aller chercher ceux qui n’osent pas venir.

Nous ferons tout pour dédramatiser et casser cette peur avec un maximum de convivialité et d’entraide.

Avez-vous des objectifs, des projets, un plan pour l’avenir ?

Je ne vois aucune limite à nos projets, il y a tant de choses à faire. Rien n’est planifié mais c’est le fruit d’années de réflexions et d’implication dans le domaine du partage de connaissances et de la passion du numérique. Nous avons choisi de nous lancer avant même de savoir comment on allait faire car cela faisait trop longtemps qu’on y réfléchissait, à un moment on s’est dit que si on attendait de pouvoir embrasser tout le spectre des besoins et des possibilités, d’avoir tout planifié, on ne démarrerait jamais. Alors on a fait le grand saut, et on a confiance en l’avenir !