1

Des routes et des ponts (5) – vers l’open source

Voici un 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 brosse un rapide historique qui permet de distinguer Libre et open source puis établit une liste d’avantages du code dont les sources sont ouvertes et librement modifiables.

Une rapide histoire des logiciels publiquement disponibles et de leurs créateurs

Traduction Framalang : goofy, Julien/Sphinx, jums, xi, woof, Asta, Edgar Lori, jbm, Mika, penguin

Bien que nous ayons utilisé l’expression « free software » pour désigner des logiciels qui ne coûtaient rien à leurs utilisateurs, il faudrait plutôt employer l’expression « logiciel libre ». Cette expression aux riches connotations fait référence en particulier aux propriétés des licences avec lesquelles les logiciels sont publiés. Les partisans du logiciel libre soulignent le fait que « free » doit être compris sous l’angle de la liberté politique et non sous celui de la gratuité. Parfois, c’est le terme espagnol « libre » qui est utilisé pour marquer cette distinction (à la différence de « gratis » qui signifie gratuit).

Pendant les années 1970, lorsque les ordinateurs n’en étaient qu’à leurs balbutiements, les développeurs devaient construire leurs propres ordinateurs et écrire eux-mêmes des logiciels adaptés. Les logiciels n’étaient pas encore standardisés et n’étaient pas considérés comme des produits rentables.

En 1981, IBM a présenté le « IBM PC » pour « Personal Computer » (N.D.T. « ordinateur personnel »), qui a permis au grand public d’accéder au matériel informatique. En quelques années, les ordinateurs construits sur mesure tombèrent en déclin au fur et à mesure que tout le monde adoptait le standard IBM. IBM est ainsi devenu l’ordinateur le plus présent au sein d’un marché fortement fracturé : en 1986, IBM avait conquis plus de la moitié du marché des ordinateurs personnels.

Avec la venue de matériel standardisé est apparue la possibilité de créer des logiciels standardisés. Soudain, tout le monde avait pour objectif de créer un business autour des logiciels. IBM a engagé une société inconnue à l’époque sous le nom de Microsoft pour écrire le système d’exploitation de son nouveau PC. Ce système d’exploitation, MS-DOS, fut publié en 1981. D’autres sociétés lui emboîtèrent le pas, proposant des logiciels sous licences commerciales. Ces licences empêchaient l’utilisateur de copier, modifier ou redistribuer les logiciels.

Il existe encore aujourd’hui de nombreux logiciels propriétaires comme Adobe Photoshop, Microsoft Windows, ou GoToMeeting par exemple. Alors que ces programmes propriétaires peuvent générer du profit pour les entreprises qui créent et distribuent ces produits, leurs restrictions limitent leur portée et leur diffusion. Toute modification apportée au design ou à la conception du programme doit provenir de l’entreprise elle-même. De plus, les logiciels propriétaires sont chers, ils coûtent souvent plusieurs centaines de dollars et n’autorisent l’acheteur dûment identifié à utiliser qu’une seule et unique copie.

Naturellement, certains informaticiens se sont sentis préoccupés par la direction fermée et propriétaire que prenaient les logiciels, estimant que cela nuisait au véritable potentiel du logiciel. Richard Stallman, un programmeur au laboratoire d’intelligence artificielle du MIT, a particulièrement ressenti la nécessité pour le logiciel d’être libre et modifiable.

Au cours des années qui suivirent, comme plusieurs de ses collègues se mettaient à travailler sur des projets de logiciels propriétaires, Stallman a estimé qu’il ne pouvait ignorer la situation plus longtemps. En 1983, il a lancé GNU, un système d’exploitation libre, et ce faisant, a déclenché ce qui est devenu le « mouvement du logiciel libre », qui a galvanisé un groupe de personnes qui croyaient que les logiciels pourraient avoir une plus grande portée et bénéficier à la société si ceux-ci étaient mis à disposition librement. Stallman a fondé plus tard la Free Software Foundation en 1985, afin de soutenir GNU ainsi que d’autres projets de logiciels libres.

Gnou par Benjamin Hollis (CC BY 2.0)
Gnou par Benjamin Hollis (CC BY 2.0)

La Free Software Foundation définit le logiciel libre comme « un logiciel qui donne à l’utilisateur la liberté de le partager, l’étudier et le modifier ». GNU définit quatre libertés associées à de tels logiciels :

Un programme est un logiciel libre si vous, en tant qu’utilisateur de ce programme, avez les quatre libertés essentielles :

  • la liberté d’exécuter le programme comme vous voulez, pour n’importe quel usage (liberté 0) ;
  • la liberté d’étudier le fonctionnement du programme, et de le modifier pour qu’il effectue vos tâches informatiques comme vous le souhaitez (liberté 1) ; l’accès au code source est une condition nécessaire ;
  • la liberté de redistribuer des copies, donc d’aider votre voisin (liberté 2) ;
  • la liberté de distribuer aux autres des copies de vos versions modifiées (liberté 3) ; en faisant cela, vous donnez à toute la communauté une possibilité de profiter de vos changements ; l’accès au code source est une condition nécessaire.

Le mouvement du logiciel libre a été et continue d’être profondément engagé dans la défense d’intérêts sociaux. En 1998, lorsque Netscape libéra le code source de son navigateur populaire, le débat commença à passer de la politique à la technologie.

Certains technologues pensaient que se concentrer sur les bénéfices pratiques des logiciels libres permettrait de diffuser le message associé à un public plus large.

Ils ont par exemple souligné que le logiciel libre était moins cher à créer et qu’il permettait d’obtenir une meilleure qualité car le public pouvait trouver des bogues et contribuer en proposant des correctifs. Ce type de pragmatisme se détachait de l’obligation morale exprimée par Stallman et ses partisans quant à l’obligation de promouvoir le logiciel libre. Ces technologues se sont réunis à Palo Alto pour une séance de discussion stratégique.

Christine Peterson, une spécialiste des nanotechnologies qui était présente suggéra l’expression « open source ».

Peu de temps après, deux personnes qui assistaient aussi à cette rencontre, Bruce Perens et Eric Raymond, créèrent l’Open Source Initiative.

Un logiciel dont le code source est disponible publiquement sera qualifié d’« open source ». C’est un peu comme avoir une voiture et être capable d’ouvrir le capot pour connaître comment elle fonctionne plutôt que d’avoir le moteur verrouillé et inaccessible. Les licences open source incluent toujours des clauses qui permettent au public d’utiliser, de modifier et de redistribuer le code. Sous cet angle, il n’y pas de différence juridique entre les licences libres et les licences open source. En fait, certains font référence à l’open source comme une campagne de publicité pour le logiciel libre.

Cependant, la distinction la plus importante entre ces mouvements reste la culture qu’ils ont fait naître. Le mouvement du logiciel open source s’est écarté des aspects socio-politiques du mouvement du logiciel libre pour se concentrer sur les bénéfices pratiques du développement logiciel et encourager des applications créatives et commerciales plus larges. À ce propos, Stallman a écrit :

« l’open source est une méthodologie de développement ;

le logiciel libre est un mouvement de société. »

Bien que « logiciel libre » et « logiciel open source » soient souvent discutés ensemble, ils sont politiquement distincts, le premier étant plus étroitement lié à l’éthique et le second au pragmatisme (dans la suite de cet ouvrage on utilisera le terme « open source » afin de souligner son rôle essentiel dans l’infrastructure logicielle.) L’open source a ouvert un espace permettant l’émergence de différents styles et façons de développer du logiciel, libérés des complexités éthiques. Une organisation peut rendre son code public, mais n’accepter des changements que de certains contributeurs. Une autre organisation peut exiger que le code soit développé en public et accepter des changements de n’importe qui, de manière à ce que davantage de personnes puissent prendre part au processus. En 1997, Raymond a écrit un essai influent intitulé La cathédrale et le bazar (publié plus tard sous la forme d’un livre, en 1999) qui explore ces divers modes de développement.

Aujourd’hui, l’open source s’est répandue dans le monde du logiciel pour un certain nombre de raisons, liées à la fois à l’efficacité et au coût. C’est aussi comme cela qu’est bâtie une bonne partie de notre infrastructure numérique. Nous avons discuté de la façon dont la disponibilité de ces logiciels a bénéficié à toute la société, mais l’open source a aussi beaucoup apporté à ses créateurs.

L’open source revient moins cher à créer
Avant que les logiciels open source n’existent, les entreprises high-tech considéraient les programmes comme n’importe quel autre produit payant : une équipe d’employés développait le produit en interne puis on le vendait au grand public. Ce qui représentait un modèle économique très clair, mais impliquait aussi des coûts de développement accrus. Les logiciels propriétaires nécessitent une équipe payée à plein temps pour assurer le développement, ce qui inclut des développeurs, des designers, des commerciaux et des juristes. Il est bien moins coûteux de simplement confier le développement à une communauté de développeurs bénévoles qui conçoivent et assurent la maintenance du produit.

L’open source est plus facile à diffuser
On a plus envie d’adopter un logiciel dont l’usage est gratuit et de le modifier, plutôt qu’un logiciel dont la licence coûte des centaines de dollars et qui a été développé dans une boîte noire. Non seulement les développeurs vont vouloir l’utiliser sans frais, mais ils pourraient même inciter leurs amis à l’utiliser eux aussi, ce qui va amplifier sa diffusion.

L’open source est plus ouvert à la personnalisation
Les logiciels open source sont copiables et adaptables aux besoins de chacun, avec différents degrés de permission. Si un développeur veut améliorer un logiciel existant, il ou elle peut copier le projet et le modifier (une pratique appelée « forker » en franglais).

Beaucoup de projets à succès ont commencé comme une modification de logiciels existants, par exemple WordPress (gestionnaire de contenu utilisé par 23% des sites web dans le monde), PostgreSQL (l’une des bases de données parmi les plus populaires et dont l’adoption est croissante dans le monde entier), Ubuntu (un système d’exploitation) et Firefox (un des navigateurs web parmi les plus populaires). Dans le cas de WordPress, le logiciel a été forké depuis un projet existant appelé b2 (aussi connu sous le nom de cafelog). Deux développeurs, Matt Mullenweg et Mike Little, ont décidé qu’ils souhaitaient une meilleure version de b2 et ont donc forké le projet.
Mullenberg a décidé de copier b2, plutôt qu’un autre projet appelé TextPattern, car les licences b2 étaient plus permissives. Son idée d’origine, de 2003, est décrite ci-dessous :

Que faire ? Bon, TextPattern ressemble à tout ce que je rêve d’avoir, mais ça n’a pas l’air d’être sous une licence suffisamment en accord avec mes principes. Heureusement, b2/cafelog est sous GPL [GNU General Public Licence, une licence de logiciel libre], ce qui veut dire que je peux utiliser les lignes de code existantes pour créer un fork/une copie. […]
Ce travail ne sera jamais perdu, car si je disparais de la surface de la Terre dans un an, tout le code que j’aurai écrit sera accessible par tout le monde ; et si quelqu’un d’autre veut continuer le travail, libre à lui.

Si le logiciel était développé dans un environnement fermé et propriétaire, les développeurs n’auraient aucune possibilité de le modifier, à moins de travailler dans l’entreprise propriétaire. S’ils essayaient de réaliser leur propre version qui imite l’original, ils s’exposeraient à des poursuites en lien avec la propriété intellectuelle. Avec les logiciels open source, le développeur peut simplement modifier le logiciel lui-même et le distribuer publiquement, comme l’a fait Mullenweg. Les logiciels open source permettent ainsi une prolifération rapide des idées.

L’open source facilite l’adaptation des employés
Il faut du temps pour étudier une ressource logicielle, qu’il s’agisse d’un nouveau langage de programmation ou d’un nouveau framework. Si toutes les entreprises utilisaient leurs propres outils propriétaires, les développeurs auraient moins envie de changer d’entreprise, parce que leurs compétences techniques ne seraient applicables que sur leur lieu de travail actuel.
Il leur faudrait de nouveau apprendre à utiliser les outils propres à leur nouveau lieu de travail.

Quand les entreprises utilisent la technologie open source, un développeur a un ensemble de compétences réutilisables, ce qui lui donne plus de libertés pour travailler là où il préfère. Par exemple, de nombreuses entreprises utilisent le même langage de programmation Ruby pour leurs logiciels. De plus, si le produit des entreprises lui-même est open source, la production appartient autant au développeur qu’à l’entreprise. Le développeur peut emporter son travail avec lui s’il décide de quitter l’entreprise (alors qu’il pourrait par exemple être au contraire limité par une clause de confidentialité si le le code était propriétaire). Tous ces bénéfices offrent plus de moyens d’actions aux employés par rapport à ce que ces derniers auraient eu avec un logiciel propriétaire. De nos jours, de nombreuses entreprises mettent en avant leur utilisation de logiciels open source comme tactique de recrutement, parce que cette utilisation favorise le développeur.

L’open source est potentiellement plus stable et plus sûre.
Théoriquement, quand un projet de logiciel a de nombreux contributeurs et une communauté florissante, le code devrait être moins vulnérable aux failles de sécurité et aux interruptions de service. En effet, dans ce cas, on devrait avoir plus de personnes révisant le code, cherchant des bugs et résolvant tous les problèmes repérés.
Dans un environnement de logiciel propriétaire au contraire, seule l’équipe en charge du développement du code verra ce dernier. Par exemple, au lieu de 20 personnes pour examiner le code d’Oracle, un projet open source populaire pourrait avoir 2000 volontaires qui recherchent les failles du code (remarquons que cette croyance n’est pas toujours en accord avec la réalité, et a parfois créé le problème inverse : on a pu surestimer le nombre de personnes vérifiant des logiciels open source, alors même qu’en réalité personne n’en prenait la responsabilité. Ceci sera discuté dans une prochaine section).
Le logiciel open source a clairement certains avantages. Comment ces projets s’inscrivent-ils collectivement dans un écosystème plus large ?




Contribuer à l’open source : un voyage autour du monde

José Antonio Rey, membre depuis plusieurs années de la communauté Ubuntu, témoigne de la richesse des échanges dans les communautés open source. Des communautés réunissant des gens que tout pourrait séparer : langue, culture, distance mais qui au contraire se rejoignent autour d’un but commun.

hello-1502369__340

Faire tomber les barrières de la langue et de la distance dans les projets open source

Article original : Open source took me around the world

Par José Antonio Rey

Traduction : Framasky, goofy, audionuma, Brice, AFS

mugshotLes communautés open source ont été parmi les premières à utiliser Internet pour s’affranchir de la distance physique entre les personnes. Internet est un outil incroyable, puisqu’il nous permet de collaborer où que l’on soit. Peu importe que vous déjeuniez au pied de la tour Eiffel ou que vous vous réveilliez sous le soleil de San Francisco, Internet a permis de connecter les personnes de manière plus étroite.

J’habite au Pérou, et j’y ai toujours vécu. J’étudie au Pérou, et Internet m’a permis de découvrir des informations précieuses pour mes projets et ma vie en général. Néanmoins, lorsque j’ai rejoint la communauté Linux, ma vie a radicalement changé.

Une nuit, j’avais des problèmes avec mon écran qui ne fonctionnait pas correctement. Je me suis donc connecté à un canal IRC, et quelqu’un en Espagne m’a aidé à résoudre le problème. Ensuite, j’ai pris une décision que je n’ai jamais regrettée : je me suis connecté pour répondre à des questions posées par d’autres utilisateurs de Linux. Je l’ai fait un temps, me concentrant sur les communautés Ubuntu, et on m’a finalement demandé de rédiger un tutoriel pour la communauté. Je n’y connais pas grand chose, ai-je alors pensé, mais j’ai décidé de le faire quand même. J’ai présenté des trucs et astuces concernant l’utilisation du navigateur Firefox. Ma présentation s’est bien déroulée, même si j’étais plutôt nerveux. Cela m’a amené à rencontrer des gens de la communauté, et deux mois plus tard, je m’envolais vers San Francisco pour mon premier sommet des développeurs Ubuntu. Ce fut le premier de mes nombreux voyages.

plane_travel_world_international

Rejoindre une communauté Linux m’a permis d’améliorer bon nombre de mes compétences, en anglais par exemple. Ma langue maternelle est l’espagnol, le début de l’apprentissage a donc été difficile. La moitié de mes journées était en espagnol, l’autre en anglais. Tous mes logiciels fonctionnaient en anglais, et j’ai commencé à trouver bizarre de lire des traductions en espagnol. Améliorer mon anglais m’a aussi permis de me sentir un peu plus à l’aise lors de conversations avec d’autres personnes. Je commençais à m’impliquer de plus en plus, et j’ai donc fait la connaissance d’un grand nombre de personnes, des États-Unis, d’Australie, d’Inde, du Royaume-Uni, de Colombie, d’Argentine, d’Uruguay et d’autres pays. Le nombre de personnes que j’ai rencontrées est incroyable, et ne cesse d’augmenter. Bien sûr, le décalage horaire est une vraie plaie quand on travaille avec des gens tout autour du monde, mais c’est largement compensé par les avantages liés au fait de connaître ces gens et de travailler avec eux.

Ce passe-temps me permet de travailler sur de beaux projets qui m’intéressent. Et si j’ai un problème avec un logiciel, je peux le réparer moi-même ! Je n’ai pas besoin d’attendre que quelqu’un m’entende et fasse attention à moi. Encore mieux, j’apprends à utiliser de nouveaux outils en faisant cela. Si je suis bloqué ou si je ne sais pas comment régler un problème, la communauté est là pour me donner un coup de main.

En travaillant avec le Conseil des Communautés Locales d’Ubuntu (Ubuntu Local Communities Council), j’ai rendu service à des communautés partout dans le monde et les ai rendues plus autonomes, dans leurs actions de promotion par exemple. Les différences culturelles sont l’une des choses les plus difficiles à gérer dans un projet. Contrairement à ce que pensent certaines personnes, gérer un projet ce n’est pas seulement superviser les choses, parfois nous avons dû mettre fin à des disputes entre participants ou entre équipes. J’ai alors été frappé par cette caractéristique importante de la participation à une communauté en ligne : nous sommes tous des personnes avec des points de vue différents, et notre compréhension des choses et des problèmes peut varier en fonction de notre culture. Cela n’est pas quelque chose qui doit nous effrayer, mais bien une chose que nous devons comprendre. Cela montre à quel point notre monde est grand, comment Internet et les communautés du Libre peuvent nous rapprocher et quelle diversité règne dans notre communauté.

Grâce à Internet, les communautés open source ont le pouvoir de vous mettre en contact avec d’autres personnes à travers le monde, parfois vous les rencontrerez même dans le monde réel. Il existe plusieurs communautés qui organisent des rencontres de développeurs et des conférences. Et, si vous êtes assez actif, vous serez invité à y participer. En ce qui me concerne, les personnes qui développaient les logiciels voulaient connaître mes contributions, j’ai alors pu voyager tout autour du monde afin de les rencontrer pour en discuter.

En rejoignant une communauté open source, vous ne contribuez pas seulement à un logiciel, vous rejoignez un réseau de personnes disséminées à travers le monde qui rendent ce logiciel réalisable. Vous devrez franchir différentes barrières, et tout particulièrement celle de la langue. Mais je peux vous dire que c’est une des plus valorisantes expériences que vous pourrez vivre. Vous deviendrez meilleur dans des domaines variés, acquerrez de nouvelles compétences, en découvrirez d’autres, et cerise sur le gâteau, vous travaillerez avec une formidable équipe de personnes provenant de tous les coins du monde, toutes unies vers un objectif commun. Une fois que vous aurez rejoint une communauté open source, vous comprendrez comment un groupe de personnes travaillant avec le même but peut faire tomber toutes les barrières, même celle de la distance.




Des Routes et des Ponts (2), une introduction

Voici l’introduction du livre Des routes et des ponts de Nadia Eghbal (si vous avez raté le début…) que le groupe Framalang vous traduit au fil des semaines.

Dans cette partie, après avoir exposé la pression croissante de la demande de maintenance, elle retrace un épisode tout à fait emblématique, celui d’Heartbleed, quand il y a quelques années le monde de l’informatique prenait conscience qu’un protocole sensible et universel de sécurité n’était maintenu que par une poignée de développeurs sous-payés.

Vous souhaitez participer à la traduction hebdomadaire ? Rejoignez Framalang ou rendez-vous sur un pad dont l’adresse sera donnée sur Framasphère chaque mardi à 19h… mais si vous passez après vous êtes les bienvenu.e.s aussi !

Introduction

Traduction Framalang : Piup, xi, jums, goofy, Ced, mika, Luc, Laure, Lumibd, goofy, alienspoon, Julien / Sphinx

Tout, dans notre société moderne, des hôpitaux à la bourse en passant par les journaux et les réseaux sociaux, fonctionne grâce à des logiciels. Mais à y regarder de plus près, vous verrez que les fondations de cette infrastructure logicielle menacent de céder sous la demande. Aujourd’hui, presque tous les logiciels sont tributaires de code dit open source : public et gratuit, ce code est créé et maintenu par des communautés de développeurs ou disposant d’autres compétences. Comme les routes ou les ponts que tout le monde peut emprunter à pied ou dans un véhicule, le code open source peut être repris et utilisé par n’importe qui, entreprise ou particulier, pour créer des logiciels. Ce code constitue l’infrastructure numérique de la société d’aujourd’hui, et tout comme l’infrastructure matérielle, elle nécessite une maintenance et un entretien réguliers. Aux États-Unis par exemple, plus de la moitié des dépenses de l’état pour les réseaux routiers et ceux de distribution d’eau est consacrée à leur seule maintenance.

Mais les ressources financières nécessaires pour soutenir cette infrastructure numérique sont bien plus difficiles à obtenir. La maintenance de code open source était relativement abordable à ses débuts, mais de nos jours les financements ne viennent en général que d’entreprises de logiciels, sous forme de mécénat direct ou indirect. Dans la foulée de la révolution de l’ordinateur personnel, au début des années 1980, la plupart des logiciels du commerce étaient propriétaires, et non partagés. Les outils logiciels étaient conçus et utilisés en interne dans chaque entreprise, qui vendait aux clients une licence d’utilisation de ses produits. Beaucoup d’entreprises trouvaient que l’open source était un domaine émergent trop peu fiable pour un usage commercial. Selon elles, les logiciels devaient être vendus, pas donnés gratuitement.

En fait, partager du code s’est révélé plus facile, plus économique et plus efficace que d’écrire du code propriétaire, et de nos jours tout le monde utilise du code open source : les entreprises du Fortune 500, le gouvernement, les grandes entreprises du logiciel, les startups… Cependant, cette demande supplémentaire a augmenté la charge de travail de ceux qui produisent et entretiennent cette infrastructure partagée, mais comme ces communautés sont assez discrètes, le reste du monde a mis longtemps à s’en rendre compte. Parmi nous, beaucoup considèrent qu’ouvrir un logiciel est aussi normal que pousser un bouton pour allumer la lumière, mais nous ne pensons pas au capital humain qui a rendu cela possible.

Face à cette demande sans précédent, si nous ne soutenons pas notre infrastructure numérique les conséquences seront nombreuses. Du côté des risques, il y a les failles de sécurité et les interruptions de service causées par l’impossibilité pour les mainteneurs de fournir une assistance suffisante. Du côté des possibilités, les améliorations de ces outils logiciels sont nécessaires pour accompagner la renaissance actuelle des startups, qui dépendent étroitement de l’infrastructure numérique. De plus, le travail effectué dans l’open source est un atout dans le portfolio des développeurs et facilite leur recrutement, mais ce réservoir de talents est beaucoup moins diversifié que celui de l’industrie informatique dans son ensemble. Une augmentation du nombre de contributeurs serait donc profitable au domaine des technologies de l’information au sens large.

Aucune entreprise ou organisation n’a de raison de s’attaquer seule à ce problème, car le code open source est un bien public. C’est pourquoi nous devons réussir à travailler ensemble pour entretenir notre infrastructure numérique. Il existe par exemple la Core Infrastructure Initiative (CII) de la fondation Linux et le programme Open Source Support de Mozilla, ainsi que des initiatives de nombre d’entreprises de logiciel à différents niveaux.
L’entretien de notre infrastructure numérique est une idée nouvelle pour beaucoup, et les défis que cela pose ne sont pas bien cernés. De plus, l’initiative de cette infrastructure est distribuée entre beaucoup de personnes et d’organisations, ce qui met à mal les modèles classiques de gouvernance. Beaucoup de ces projets qui contribuent à l’infrastructure n’ont même pas de statut juridique. Toute stratégie de maintenance devra donc accepter et exploiter ces aspects décentralisés et communautaires du code open source.

Enfin, pour construire un écosystème sain et durable, il sera crucial d’éduquer les gens à ce problème, de faciliter les contributions financières et humaines des institutions, de multiplier le nombre de contributeurs open source et de définir les bonnes pratiques et stratégies au sein des projets qui participent de cette infrastructure.

Le logo d'Heartbleed (licence CC 0)
Le logo d’Heartbleed (licence CC 0)

En 1998, une équipe d’experts en sécurité se constitua au Royaume-Uni pour élaborer une panoplie d’outils de chiffrement libres destinés à Internet.

Très vite, tout le monde se mit à parler de leur projet, intitulé OpenSSL (les développeurs avaient pris comme base de départ un projet australien existant, SSLeay). Non seulement il était complet et relativement fiable, mais il était libre. Il n’est pas facile d’écrire de la cryptographie et OpenSSL avait résolu un problème épineux pour les développeurs du monde entier : en 2014, deux tiers des serveurs web utilisaient OpenSSL, et les sites pouvaient donc transmettre de façon sécurisée les codes de cartes de crédit et autres informations sensibles via Internet.

Pendant ce temps, le projet était toujours géré de façon informelle par un petit groupe de volontaires. Un conseiller du Département de la Défense des États-Unis, Steve Marquess, avait remarqué qu’un contributeur, Stephen Henson, travaillait à temps plein sur OpenSSL. Par curiosité, Marquess lui demanda ce qu’il gagnait, et apprit avec surprise que le salaire de Henson était cinq fois plus faible que le sien.

Marquess s’était toujours considéré comme un bon programmeur, mais ses talents faisaient pâle figure à côté de ceux de Henson. Comme bien d’autres, Marquess imaginait à tort que quelqu’un d’aussi talentueux que Henson aurait un salaire à sa mesure.

Henson travaillait sur OpenSSL depuis 1998. Marquess avait rejoint le projet plus récemment, au début des années 2000, et avait travaillé avec Henson pendant plusieurs années avant d’apprendre sa situation financière.

Comme il avait travaillé avec le Département de la Défense, Marquess savait à quel point OpenSSL était crucial, non seulement pour leur propre système, mais pour d’autres industries dans le monde, de l’investissement à l’aéronautique en passant par la santé. Jusqu’alors, il avait « toujours supposé (comme le reste du monde) que l’équipe d’OpenSSL était grande, active et bien financée. »
En réalité, OpenSSL ne rapportait même pas assez pour payer un seul salarié.

Marquess décida de s’impliquer dans le projet : il avait contribué au code de temps à autre, mais il se rendit compte qu’il serait plus utile en tant qu’homme d’affaires. Il commença par négocier des petits contrats de conseil par le biais d’une entreprise à but non lucratif existante pour maintenir OpenSSL à flot dans ses années les plus dures. Comme le volume des contrats croissait, il créa une entité légale pour collecter ces revenus, l’OpenSSL Software Foundation (OSF).
Malgré le nombre de personnes et d’entreprises qui utilisaient leur logiciel, l’OSF ne reçut jamais plus de 2 000 dollars de dons par an. Les revenus bruts de l’activité de conseil et des contrats ne dépassèrent jamais un million de dollars, qui furent presque entièrement dépensés en frais d’hébergement et en tests de sécurité (qui peuvent coûter plusieurs centaines de milliers de dollars).

Il y avait juste assez pour payer le salaire d’un développeur, Stephen Henson. Cela signifie que les deux tiers du Web reposaient sur un logiciel de chiffrement maintenu par un seul employé à temps plein.

L’équipe d’OpenSSL continua à travailler de façon relativement anonyme jusqu’en avril 2014, quand un ingénieur de chez Google, Neel Mehta, découvrit une faille de sécurité majeure dans OpenSSL. Deux jours plus tard, un autre ingénieur, de l’entreprise finlandaise Codenomicon, découvrit le même problème.
Tous deux contactèrent immédiatement l’équipe d’OpenSSL.

Ce bug, surnommé Heartbleed, s’était glissé dans une mise à jour de 2011. Il était passé inaperçu pendant des années. Heartbleed pouvait permettre à n’importe quel pirate suffisamment doué de détourner des informations sécurisées en transit vers des serveurs vulnérables, y compris des mots de passe, des identifiants de cartes de crédit et autres données sensibles.

Joseph Steinberg, un éditorialiste spécialisé en cybersécurité, écrivit : « on pourrait dire que Heartbleed est la pire vulnérabilité découverte… depuis qu’Internet a commencé à être utilisé pour des opérations commerciales. »

Grâce à un large écho médiatique, le grand public entendit parler de ce bug informatique, au moins de nom. Des plateformes majeures, comme Instagram, Gmail ou Netflix, furent affectées par Heartbleed.

Certains journalistes attirèrent l’attention sur l’OpenSSL lui-même, et la manière dont l’équipe de développement avait lutté pendant des années pour pouvoir continuer ses travaux. Les experts en sécurité connaissaient les limites d’OpenSSL, mais l’équipe ne parvenait pas à capter les ressources ou l’attention adéquates pour résoudre les problèmes.

Marquess écrivit à propos de Heartbleed « ce qui est mystérieux, ce n’est pas qu’une poignée de bénévoles surchargés de travail ait raté ce bug, mais plutôt qu’il n’y a pas eu davantage de bugs de ce genre. »

Les gens envoyèrent des dons pour soutenir la fondation, et Marquess les remercia pour leur enthousiasme, mais le premier cycle de dons ne totalisa qu’environ 9 000 dollars : largement en deçà du nécessaire pour soutenir une équipe dédiée.

Marquess adressa alors à Internet un vibrant plaidoyer pour une levée de fonds :

 

Les gars qui travaillent sur OpenSSL ne sont là ni pour l’argent, ni pour la gloire (qui, en dehors des cercles geeks, a entendu parler d’eux ou d’OpenSSL avant la sortie de heartbleed[sic] dans les médias ?). Ils travaillent pour la fierté de créer et parce qu’ils se sentent responsables de à quoi ils croient.

Il faut des nerfs d’acier pour travailler pendant des années sur des centaines de milliers de lignes d’un code très complexe, où tout le monde peut voir chacune des lignes que vous manipulez, en sachant que ce code est utilisé par des banques, des pare-feux, des systèmes d’armement, des sites web, des smartphones, l’industrie, le gouvernement, partout. Et tout cela en acceptant de ne pas être apprécié à votre juste valeur et d’être ignoré jusqu’à ce que quelque chose tourne mal.

Il devrait y avoir au moins une demi-douzaine de membres à temps plein dans l’équipe au lieu d’un seul pour se consacrer au soin et à la maintenance que demande OpenSSL, sans devoir gérer en même temps l’aspect commercial.

Si vous êtes un décideur dans une multinationale ou un gouvernement, pensez-y. Je vous en prie. Je me fais vieux, je fatigue et j’aimerais prendre ma retraite un jour.

Après Heartbleed, OpenSSL obtint enfin le financement nécessaire – en tous cas jusqu’à présent. L’équipe dispose à l’heure actuelle d’assez d’argent pour payer quatre employés à temps plein pendant trois ans. Mais au bout d’un an et demi de ce financement, Marquess n’est pas certain de l’avenir.

Il a admis que Heartbleed a été une bénédiction pour eux, mais qu’il est « légèrement ironique » que ce soit une faille de cette ampleur qui ait donné plus de visibilité à leur cause. Et quand l’argent sera épuisé et que le monde sera passé à autre chose, Marquess craint qu’ils ne se retrouvent dans la même situation qu’avant Heartbleed, voire pire : la clientèle que Marquess a mis des années à se constituer a disparu, puisque l’équipe travaille maintenant à plein temps sur OpenSSL et n’a plus le temps d’exécuter des contrats.

Marquess lui-même a bientôt l’âge de la retraite. Il est le seul qui accepte de s’occuper des affaires commerciales et du rôle exécutif associés à OpenSSL comme les impôts, la recherche de clients, et la gestion des donateurs. Le reste de son équipe préfère se concentrer sur l’écriture et la maintenance du code. Il ne peut embaucher personne pour le remplacer quand il prendra sa retraite, parce qu’il ne perçoit en ce moment aucun salaire. « Je ne crois pas qu’on puisse tenir comme ça plus d’un an ou deux » a-t-il remarqué.

L’histoire d’OpenSSL n’est pas unique, et par bien des aspects, Marquess trouve que lui et son équipe font partie des mieux lotis. Bien d’autres projets sont toujours en manque de reconnaissance et de financement, alors qu’ils constituent l’infrastructure numérique, infrastructure absolument cruciale puisque tous les logiciels d’aujourd’hui, et par conséquent tous les aspects de notre vie quotidienne, en dépendent.

Relever ses courriels, lire les actualités, vérifier le prix des actions, faire des achats en ligne, aller chez le médecin, appeler le service client – qu’on le réalise ou non, tout ce que nous faisons est rendu possible par des projets comme OpenSSL. Sans eux, la technologie sur laquelle repose la société moderne ne pourrait tout simplement pas fonctionner.

Beaucoup de ces projets sont créés et maintenus par des volontaires et offerts au public gratuitement. Tous ceux qui le veulent, de Facebook au programmeur amateur, peuvent utiliser ce code pour créer leurs propres applications. Et ils le font.

S’il est difficile de croire, comme le dit Marquess, « qu’un groupe hétéroclite d’amateurs puisse faire mieux que de gigantesques sociétés avec leur argent et leurs ressources », voyez plutôt comme c’est lié à la montée en puissance du travail collaboratif pair-à-pair dans le monde.

Des startups jusqu’ici impensables comme Uber ou AirBnB se sont transformées en l’espace de quelques années en poids lourds du monde des affaires et remettent en question des industries phares comme le transport ou l’hôtellerie. Des musiciens se font un nom sur YouTube ou Soundcloud plutôt qu’en passant par les majors. Créateurs et artistes concrétisent leurs idées via des plateformes de financement participatif telles que Kickstarter ou Patreon.

breach

Les autres projets de l’infrastructure sont également issus de la passion et de la créativité de développeurs qui se sont dit : « Je pourrais faire ça mieux », et qui collaborent pour développer et livrer du code au monde entier. La différence, c’est que des millions de personnes ont besoin de ce code dans leur vie quotidienne.

Comme le code n’est pas aussi sexy qu’une vidéo virale sur YouTube ou une campagne Kickstarter, le grand public est très loin de pouvoir l’apprécier à sa juste valeur, si bien que le code qui a révolutionné les technologies de l’information manque très largement du soutien des institutions.

Mais nous ne pourrons ignorer cela plus longtemps.

Ces cinq dernières années, notre dépendance aux logiciels ainsi qu’au code libre et public qui les fait fonctionner s’est accélérée. Les technologies se sont fait une place dans tous les aspects de nos vies, et plus les gens utilisent de logiciels, plus on en crée, et plus cela demande de travail de maintenance.

Toutes les startups qui réussissent ont besoin d’une infrastructure publique pour assurer leur succès, pourtant aucune entreprise n’est assez motivée pour agir seule. Pendant que le monde progresse à toute vitesse vers l’ère moderne des startups, du code et des technologies, l’infrastructure reste à la traîne. Les fissures des fondations ne sont pas encore très visibles, mais elles s’élargissent. Après des années de croissance sans précédent qui nous ont propulsés dans une époque de croissance et de prospérité, nous devons maintenant agir pour nous assurer que le monde que nous avons bâti en si peu de temps ne va pas s’effondrer brutalement sans crier gare.

Pour comprendre comment nous pouvons préserver l’avenir, nous devons d’abord comprendre ce qu’est le logiciel lui-même.

 

(À suivre…)

La semaine prochaine : comment on fabrique des logiciels…




Se lancer dans l’open source : un témoignage engageant

Comment participer à des projets open source et s’y sentir légitime ? La réponse habituelle un peu désinvolte consiste à dire : « il suffit de commencer à proposer ne serait-ce qu’un signalement de bug ou une correction mineure dans la documentation et hop ». En commençant par une contribution minime, on peut donc trouver sa place dans une équipe. Théoriquement, c’est exact.

Mais quand on est une jeune femme à peine sortie de ses études d’informatique et qu’on éprouve un peu d’appréhension au contact des contributeurs supposés expérimentés, rien n’est tout à fait simple.

Comme on le lira dans le témoignage de Shubheksha, il faut non seulement parvenir à surmonter son manque de confiance en soi, mais aussi avoir la chance de rencontrer sur son chemin des mentors qui vous accueillent avec bienveillance, vous guident et vous invitent à contribuer davantage encore.

Le parcours cahoteux d’une débutante dans le monde de l’open source

Article original paru dans Medium : A Beginner’s Very Bumpy Journey Through The World of Open Source

Par Shubheksha

Traduction :  Lyn, audionuma, goofy, Lumibd, Manguito,et un anonyme

shubhekshaAvez-vous atterri ici en recherchant des conseils sur la meilleure manière de contribuer à l’open source ? Il y a des milliers d’histoires de ce genre sur Internet, n’est-ce pas ?
Je suis sûre que vous en avez lu beaucoup à présent, car vous essayez de contribuer depuis un bon moment. Et vous avez toujours l’impression de ne pas avoir progressé.
Je connais ce sentiment. J’étais exactement dans la même situation il y a quelques semaines. Laissez-moi vous conter mon histoire.

Voilà à peu près deux ans que j’essaie de contribuer à l’open source.

Oui. Deux ans.

Et il y a bien une chose que je peux affirmer : c’est intimidant. C’est dur de commencer. Vous devez apprendre comment travailler sur un long code source. Vous devez apprendre et adopter les règles de style de code d’un projet.

Tout paraît confus. L’ordre des instructions, comment les différents modules interagissent entre eux, comment et pourquoi le code est organisé de la manière dont il l’est : tout cela constitue un grand labyrinthe.

Je ressens cela en permanence car je ne suis, après tout, qu’une amatrice qui essaie d’en apprendre autant qu’elle le peut.

J’ai donc choisi de suivre la voie la plus facile : la correction de fautes dans la documentation ou les commentaires, et la résolution de bugs triviaux où il était évident de trouver ce qui devait être modifié. Je ne voulais pas poser trop de questions ni essayer de comprendre l’ensemble du code.

Chaque fois que je voulais contribuer, j’allais sur github — ou un autre gestionnaire de bugs – et j’essayais de rechercher des problèmes étiquetés « facile », « débutant », « premier bug facile ». Après en avoir consulté des centaines, je trouvais quelque chose de suffisamment simple à traiter sans beaucoup d’aide extérieure.

Alors, cela a bien fonctionné jusqu’au moment où j’ai pris conscience que je pourrais mieux utiliser les compétences que j’étais en train de développer. J’avais appris tant de nouvelles choses, mais je ne voyais pas à quoi j’aurais pu les utiliser. Apprendre sans mettre en application, c’est bien peu gratifiant. J’étais bloquée sur un palier et je n’avançais plus du tout.

Alors, il est arrivé quelque chose qui m’a terriblement effrayée en tant que nouvelle contributrice qui essaie de naviguer dans le monde de l’open source. J’avais trouvé un bug qui avait l’air assez facile dans un grand projet renommé.

J’ai pensé qu’il valait mieux demander quelques éclaircissements avant de procéder à la moindre modification car je craignais de tout bousiller. J’ai donc envoyé un commentaire indiquant que j’étais une nouvelle contributrice, et demandant quelle serait la meilleure manière de modifier un bout de texte pour corriger le bug.

La réponse que je reçus fut :

« Si tu n’arrives pas à déterminer comment effectuer cette modification, c’est que tu n’es pas qualifiée pour effectuer cette modification. »

Cette réponse me laissa complètement décontenancée, et m’effraya davantage encore à l’idée de poser des questions lorsque je ne comprenais pas quelque chose à propos d’un projet.

Peut-être étais-je indésirable parce que je n’en savais pas assez ? Peut-être devais-je travailler davantage pour acquérir des compétences au lieu de poser des questions stupides et maladroites à des personnes expérimentées beaucoup trop occupées pour me répondre ?

C’est aussi à cette époque que ma recherche d’un mentor a commencé. J’ai pensé que si je connaissais quelqu’un avec qui je serais plus à l’aise pour poser des questions, les choses se passeraient bien et je pourrais me rendre plus utile.

J’ai donc écrit à de nombreuses personnes en leur demandant de m’aider à débuter, vu que je me sentais particulièrement intimidée par mes précédentes expériences. J’ai reçu beaucoup de réponses positives, pleines d’encouragements, mais je n’ai jamais exactement trouvé ce que je cherchais.

J’avais l’impression de buter contre un environnement clos dans le monde ouvert de l’open source.

Tout semblait suggérer que je n’avais qu’à m’y mettre et à ne pas avoir peur. Mais je n’étais pas prête à ce moment là.

Moi, fuyant le monde du logiciel open source

Ma découverte de Mozilla

Par une belle soirée, alors que je cherchais des bugs à corriger, j’ai atterri sur le projet de Mozilla qui vous aide à tester des extensions web. J’étais contente de voir qu’il y avait quelques problèmes étiquetés comme « premier bug facile » mais aucun d’entre eux n’était aussi simple que de corriger une petite coquille.

Bon sang, j’en suis tellement heureuse maintenant.

J’ai commencé à travailler sur l’un de ces bugs, mais j’ai vite compris qu’il me faudrait poser des questions si je voulais être capable de résoudre le problème. J’ai parcouru le code source. Après avoir compris les grandes lignes du problème, j’ai demandé plus d’informations. et voila ! J’ai été capable de résoudre le problème une fois que j’ai eu tous les détails nécessaires.

Maintenant que j’ai soumis trois pull requests [NDT : demandes de modification du code source] (l’une a été acceptée, les deux autres sont en passe de l’être), je suis heureuse d’avoir franchi le pas. Je suis contente de ne pas avoir hésité à poser des questions pertinentes, même si je risquais parfois d’avoir l’air de poser des questions stupides.

Ce n’est pas un problème de ne pas tout savoir et de progresser par étapes pour apprendre quelque chose de nouveau.

Les gens de Mozilla qui encadrent ces corrections m’ont beaucoup aidée et ont toujours été très positifs. Ils m’ont guidée du début à la fin, prenant le temps de m’expliquer les choses de façon à la fois simple et très détaillée. Et cela malgré le fait qu’ils n’auraient mis que quelques heures à corriger ces problèmes eux-mêmes au lieu de prendre le temps de me guider vers une solution de mon cru, dont la conception m’a pris plusieurs jours.

J’ai appris et découvert énormément de choses juste en travaillant sur ces trois problèmes basiques. Et je suis vraiment excitée à l’idée de travailler sur des problèmes encore plus difficiles et d’augmenter ma compréhension de ce sujet et mes connaissances.

l'insatiable vieux dino de Mozilla se goinfre de bugs
l’insatiable vieux dino de Mozilla se goinfre de bugs

Je ne peux pas les remercier assez pour cette expérience tellement positive et enrichissante, qui m’amène à installer Firefox localement et à parcourir les bugs sur Bugzilla un jour sur deux (je garde mes questions sur « Pourquoi » et « Comment » pour un billet plus long).

Je prévois de contribuer à Mozilla aussi régulièrement que possible. À chaque fois que j’ai posé une question pertinente, que ce soit sur IRC, Github ou Bugzilla, j’ai reçu des réponses très aimables.
Jusqu’à aujourd’hui, j’ai résolu trois problèmes dans web-ext, et j’ai eu un correctif accepté et intégré dans Firefox.

Mes contributions ont été remarquées par la communauté, et j’ai aussi été nommée dans le « Addons Contribution Recognition document » [NdT : la liste des contributeurs aux extensions de Mozilla].

En définitive, mes expériences de ces dernières semaines ont été vraiment merveilleuses. J’ai appris tellement de choses, petites et grandes, qu’aucun manuel de programmation n’aurait pu m’apprendre.
Voici mes conseils pour les développeurs débutants qui veulent contribuer à un projet open source :

Conseil n°1 : n’ayez pas peur de poser des questions

Je ne saurais trop insister sur ce point. J’ai perdu beaucoup de temps parce que je ne cessais de me censurer, et c’était ma plus importante inhibition.

Tout le monde a peur de paraître stupide. Mais ne laissez pas cette peur paralysante devenir une entrave à votre progression.

Il est normal de demander si vous ne comprenez pas quelque chose qui est en rapport avec le projet. Les développeurs du projet sont devenus des experts au fil des années. Ils peuvent vous aider très rapidement. Sinon vous risquez de perdre des heures le nez dans le code source à essayer de deviner quelque chose que vous n’êtes même pas censés savoir au départ.

Mais quand vous demandez des informations, vérifiez si elles ne sont pas déjà disponibles dans une documentation ou une recherche Google. Ainsi, vous prendrez garde à respecter le temps libre des développeurs du projet.

Conseil n°2 : c’est normal d’avoir des lacunes

On ne s’attend pas à ce que vous sachiez tout de A à Z lorsque vous commencez à contribuer à un projet. Le processus, c’est plutôt que vous appreniez et gagniez en compétence en résolvant des problèmes de plus en plus difficiles, et en vous familiarisant avec le projet et les outils qu’il utilise. Le temps nécessaire pour cela varie d’un projet à l’autre et d’une personne à l’autre.

Conseil n°3 : lancez-vous !

Ne perdez pas un temps considérable à choisir le projet idéal. Si vous connaissez un projet ou une organisation dont la communauté accueille amicalement les débutants, faites-en votre point de départ.

Trouvez un problème avec lequel vous êtes à l’aise, de préférence dans un langage que vous pratiquez déjà depuis un moment, et essayez d’imaginer ce qui a besoin d’être fait. Demandez des informations pertinentes afin de combler vos lacunes, et après, lancez-vous ! N’attendez pas.

Merci à tous ceux qui travaillent dans l’open source

Une dédicace spéciale à tous les contributeurs aux projets open source qui sont super réactifs et qui encouragent les nouveaux. Vous aidez les nouveaux venus à se frayer un chemin au milieu d’interminables lignes de code et les faites contribuer de manière peut-être limitée mais néanmoins significative. Vos efforts sont nécessaires et sincèrement appréciés.

En tant que débutante et développeuse junior, j’essaie juste de trouver mon chemin dans le vaste et formidable monde de l’informatique. Quelques minutes de votre temps, que ce soit pour me présenter une simple technique de débogage ou pour me montrer comment écrire correctement des tests logiciels, m’aideront, au fil du temps, à devenir une meilleure développeuse.

Vous avez l’expérience et j’ai l’envie insatiable d’apprendre autant que je peux.

Un grand merci à Guido, Kumur McMillan et Luca qui ont été de fabuleux mentors tout au long de ce parcours, ils m’ont suivie à chaque instant et ont répondu à mes diverses questions. J’ai vraiment apprécié le temps et les efforts que vous m’avez consacrés 🙂

Si vous êtes un nouveau venu qui peine à entrer dans le monde de l’open source, j’aimerais que vous me parliez de votre histoire et de votre expérience. Si je peux vous aider de quelque façon que ce soit, surtout n’hésitez pas à me contacter.

J’envisage de rendre compte de mon parcours chez les contributeurs de l’open source, donc si vous désirez que j’aborde un sujet en particulier, merci de laisser un commentaire.
Merci à Pawan Dubey et Quincy Larson pour m’avoir aidée à peaufiner cet article.




Avec « Des routes et des ponts », la voie est libre

Les membres du groupe Framalang ont toujours un gros appétit, il faut à leur insatiable faim de traduction de nouveaux aliments. C’est un morceau de choix qu’ils ont décidé de traduire et publier progressivement ici même…

… un livre entier de Nadia Eghbal qui porte sur l’infrastructure cachée ou discrète de la grande soupe numérique où nous grenouillons. Cet ouvrage a été financé par la Fondation Ford et sa source est sous licence CC BY 4.0, ce qui vous permet d’en profiter.

Si ça vous tente de nous rejoindre dans cette entreprise à long terme (il nous faudra quelques mois et nous n’avons pas de deadline hein) nous diffuserons sur Framasphère l’adresse du framapad de la traduction de la semaine chaque mardi à 19h 😉

 

Nous vous proposons aujourd’hui seulement l’avant-propos.

Histoire de susciter votre curiosité voici quelques titres des chapitres que nous vous proposerons semaine après semaine :

  • Une brève histoire du code public et libre et de ceux qui l’ont libéré
  • Pourquoi les gens continuent-ils à contribuer à ces projets sans être payés ?
  • Comment sont gérés les projets d’infrastructure numérique ?
  • Les rapports difficiles de l’open source avec l’argent

 

Des routes et des ponts (1)

Document original (lien direct vers le PDF) Roads and Bridges, The Unseen Labor behind Our Digital Structure
par : Nadia Eghbal

Traduction Framalang : astraia_spica, Mika, peupleLà, roptat, xi, Luc, mika, Lyn., Julien / Sphinx, Lumibd, goofy

Avant-propos

nadia-eghbalLe problème exposé dans cet ouvrage m’est apparu sur une intuition. Pour avoir travaillé dans des startups puis dans des sociétés de capital-risque, j’ai pu constater que des sommes d’argent considérables affluaient dans les entreprises de logiciel. Par ailleurs, en tant que développeuse de logiciel en amateur, j’étais bien consciente que je n’aurais rien pu produire toute seule. J’utilisais du code gratuit et public (plus connu sous le nom de code open source) dont j’assemblais des éléments afin de répondre à des objectifs personnels ou commerciaux. Et franchement, les personnes impliquées dans ces projets avaient, quel que soit leur rôle, fait le plus gros du travail.

Cette observation m’a tourné dans la tête pendant plusieurs années, tandis que j’assistais à l’explosion à droite et à gauche des bootcamps où étaient diplômés de nouveaux développeurs de logiciel et que je voyais des startups lever plusieurs dizaines de millions de dollars pour vendre des produits qui tournaient sans doute avec plus de code libre que de code propriétaire. Ayant précédemment travaillé dans des associations à but non lucratif, je faisais immédiatement le lien avec les biens publics et les défis qui leur sont associés. Pourtant ce vocabulaire était étrangement absent du langage de mes pairs dans le monde du logiciel.

Après avoir quitté mon travail dans une entreprise de capital-risque l’an dernier, je me suis mis en tête d’étudier ce paradoxe auquel je ne cessais de penser : il existe des logiciels précieux qui ne peuvent pas s’appuyer sur des modèles commerciaux et auxquels manquent le soutien des pouvoirs publics.

C’est plutôt amusant, mais le code open source ne figurait pas sur ma liste initiale. Comme mes collègues, j’avais supposé, à tort, que c’était l’exemple même de ressources logicielles à la disposition du public qui bénéficiaient d’un fort soutien. Lorsque j’ai mentionné l’open source à mes amis et mentors, ils m’ont aimablement dissuadée de poursuivre mes recherches dans ce domaine, puis incitée à plutôt trouver d’autres exemples de domaines qui avaient vraiment besoin de soutien.

soutien

Pourtant, je suis tombée sur un certain nombre de projets open source qui mettaient à mal ces préjugés. Il s’est avéré que maintenir les projets dans la durée était un problème connu dans le monde des contributeurs de l’open source. Plus je creusais la question et plus je découvrais des billets de blog, des articles et des forums de discussion qui abordaient la tension et l’épuisement éprouvés par ceux qui maintiennent les projets open source. Tout le monde m’indiquait une autre personne à contacter et sans m’en apercevoir j’ai récolté un nombre incroyable de témoignages à ce sujet.

Je me suis rendu compte que j’avais découvert un problème certes « bien connu » des producteurs (les contributeurs de l’open source) mais dont les consommateurs (les entreprises de logiciels et les autres utilisateurs de code open source) n’avaient apparemment aucune idée. Cette anomalie m’a incitée à me pencher sur le problème.

Par ailleurs, il semble que le milieu de l’open source soit lui-même en train d’évoluer, voire de bifurquer. J’ai eu des conversations très diverses avec des interlocuteurs de différentes générations, tous contributeurs open source. Ils semblaient avoir des philosophies et des valeurs divergentes, au point de donner l’impression de ne pas utiliser le même vocabulaire. J’ai appris que dans les trois à cinq dernières années, la production ainsi que la demande avaient explosé dans le monde de l’open source grâce à l’amélioration des outils pour les développeurs et à celle de l’organisation du travail. Les contributeurs de l’open source d’aujourd’hui sont très différents de ceux d’il y a 10 ans, sans parler de ceux d’il y a 30 ans. Or ces différentes générations ne communiquent pas entre elles, ce qui rend difficile toute conversation productive sur la maintenance pérenne des logiciels.

Au hasard d’une conversation avec Ethan Zuckerman, du MIT Center for Civic Media, j’ai eu l’occasion de partager plus largement mes découvertes.

Bien que ne sachant pas exactement ce qu’il y avait derrière ni si j’employais les bons mots, j’ai décrit à Ethan le problème dont je m’étais rendu compte et il a eu la gentillesse de me mettre en contact avec Jenny Toomey de la Fondation Ford. Jenny m’a suggéré de rassembler les résultats de mes recherches dans un rapport. Au fur et à mesure de son écriture a émergé cet ouvrage sur notre société numérique moderne, et sur l’infrastructure cachée qui la sous-tend.

Le présent ouvrage n’aurait jamais vu le jour si Ethan et Jenny n’avaient pas donné sa chance à une idée tout juste ébauchée qui désormais, grâce au travail d’écriture, s’est transformée en quelque chose de construit. Je les remercie énormément d’avoir fait confiance à leur intuition. Je suis aussi reconnaissante envers Michael Brennan et Lori McGlinchey pour leurs conseils, leur regard, et leur enthousiasme au cours de la relecture. Enfin, et c’est sans doute le plus important, j’ai une dette envers toutes les personnes qui travaillent dans l’open source et qui ont rendu leur histoire publique pour que des gens comme moi puissent la lire — et particulièrement ceux qui ont pris de leur temps malgré un agenda chargé pour me divertir au détour d’une conversation ou d’un courriel. Ce rapport est un concentré de leur sagesse et non de la mienne. Je suis particulièrement reconnaissante pour les conversations que j’ai pu avoir avec Russel Keith-Magee, Eric Holscher, Jan Lehnardt, Audrey Petrov et Mikeal Rogers, ils continuent à m’inspirer par leur patience et leur dévouement à l’égard du travail open source.

Merci d’avoir été aussi attentionnés.




Le Framablog a 10 ans, c’est vous qui le dites

Et hop, voici comme promis le remix de vos réponses aux quelques questions posées à propos des 10 ans du Framablog. Les lecteurs de la première heure se sont manifestés, mais aussi les plus récents !

Nous avons souhaité publier ce mashup pour vous donner la parole à l’occasion de cet article n° 2000 — enfin 2001, on a été un peu grillés parce que les annonces de rentrée sur le blog ont commencé à déferler, et ça ne va faire que croître et embellir, restez tunés !

Découvrez donc notre choix parfaitement arbitraire parmi vos réponses. Précisons : nous n’avons pas retenu *tous* les compliments et remerciements parce que ça faisait vraiment beaucoup, mais ça fait vachement plaisir ! Un grand merci à tous les lecteurs, nous voilà dopés pour la rentrée !

 

Comment tout a commencé

Voici les réponses à la question : comment avez-vous découvert le Framablog ?

obligation

  • Probablement par le Planet Libre tout au début
  • Par Ubuntu-fr, grâce au stand Framasoft lors d’une Ubuntu Party
  • Par linuxfr
  • Grâce à mes professeurs d’informatiques qui avaient installé nos ordinateurs directement avec Firefox et un marque page vers l’annuaire de logiciels libres Framasoft.
  • Par un ami libriste en DUT informatique
  • c’est une connaissance qui m’en a parlé.
  • par mon entourage proche, famille militante qui m’a fait connaitre le libre et ses combats
  • à cause de Pouhiou !! <3

Chacun sa route, chacun son chemin

J’ai connu le Framablog en m’intéressant à Linux, je voulais changer de Windows non pas pour son aspect libre, gratuit… mais parce que mon Windaube tombait tout le temps en panne. De fil en aiguille, de recherches en réponses et de liens en liens, j’ai découvert Framasoft (monde du libre oblige) et le Framablog. Je suis arrivé un peu avant le campagne « dégooglisons Internet », et je me suis mis à suivre le blog par flux RSS car cette initiative m’intérêssait. Je suis un peu un genre de « Dupuis-Morizeau » qui a basculé de l’autre côté du mur des GAFAM et utilise Linux Mint depuis 1 an en tant qu’OS principal, un peu grâce à Framasoft aussi !

memoire

 

  • Bonne question, je ne m’en souviens même plus.
  • Je ne sais plus !
  • Je ne sais même plus depuis le temps…
  • Je ne sais plus comment j’ai connu Framablog
  • je ne m’en rappelle plus
  • Je sais plus vraiment…
  • Je ne me souviens plus … ça fait tellement longtemps …

Des articles ? il en manque !

Réponses sélectionnées à la question :

« Je trouve que dans le Framablog on ne parle pas assez de… »

alors, ça avance ?

…de l’avancement de dégooglisons (notament framaforms, framatweet, framapétitions et framanotes)
et des C.H.A.T.O.N.S. Vous nous avez bien titillé, on veut en savoir plus. Vous pourriez parler de jeu vidéo libre aussi, après tout c’est de la culture.

l’école du libre

  • du libre… mais on n’en parlera jamais assez 😉
  • des logiciels libres
  • Je ne serais pas contre parler un peu plus d’éducation, et de la place du libre (ou de son absence de place parfois) dans le système éducatif, et des enjeux (cachés ou non) qu’il y a derrière cela
  • Articles de fond, l’éducation (qui était vraiment très présent avant)

penser global, agir local

…d’action possible près de chez nous !

message perso

[Tac au tux] (et ça, c’est pas pour de rire, faut vraiment réorganiser ça !!!)

pour aller plus loin

  • J’ai envie de dire de technique, mais je sais bien que ce n’est pas le but du framablog.
  • Je pense que les articles de fond devrais proposer à la fin un index de ressources pour aller plus loin, soit techniquement, soit dans la réflexion, soit dans l’action. Par exemple un article sur le chiffrement devrait proposer des liens sur :
    – Les détails technique du chiffrement
    – D’autres articles sur le chiffrement
    – Comment essaimer (je vous mets dans ma poche avec ce mot :p)

le bistrot des distros

  • Je trouve que dans le Framablog on ne parle pas assez de… Mageia. Blague à part, ne parle pas assez des distributions GNU/Linux. Le Libre par les logiciels c’est bien, le système qui les supporte a aussi son importance (même si Mme Michu ne souhaite pas adhérer au pingouin chevaucheur de Gnou).
  • de distribution Gnu/Linux
  • des GAFAM … cf.  https://gafam.wordpress.com/ que j’ai mis en ligne il y a quelques mois & http://www.gafam.fr/ que je suis en train de préparer tranquillement (et qui devrait être fin prêt en fin d’année) pour en faire un «  »vrai » » site concernant cette problématique : «  » gafam.fr : Faire connaître & promouvoir les alternatives aux GAFAMs
  • de la protection de la vie privée (par des trucs & astuces, sous win & sous linux) : peut-être que notre ami gee pourrait faire quelques planches à se sujet ?
  • des distributions GNU/Linux les plus populaires / connues / stables … pouvant judicieusement remplacer win & mac
  • des logiciels libres les plus utilisés / connus … (pour présenter simplement / clairement les alternatives libres aux logiciels privateurs utilisés par mesdames Michu & Dupuis-Morizeau, en leur expliquant bien le pourquoi du comment)
  • Distros et logiciels libres en remplacement des fermés

#FramaDebout

  • Thèmes anticapitalistes, contre les entreprises (Ubuntu), des intérêts divergents entre les profits et 99 % de la population.
  • Peut-être de structure économique justifiant les dérives, à mes yeux, -mais je m’avance un peu- ^^
  • l’incompétence des décideurs (politiques, économiques…) en matière de progression de la société, ou de leur quasi volonté d’anesthésier le peuple.
  • politique au sens large

le vrai problème

comment trouver l’amour quand on est un libriste !

coeursolitaire

C’est beau mais bof

« Techniquement et graphiquement, je trouve que le Framablog… »

travail non évalué

Bon, ça va, hein. Mais la perfection n’existe pas, donc ne compte pas sur moi pour un 20/20

c’est du bio c’est du bon

  • C’est propre tout en ayant un petit goût de fait à la main, et quand c’est fait à la main, c’est souvent bon.
  • Sobre, léger, très sympa
  • est bien lisible sans se fatiguer. La navigation est facile.
  • Sobre, esthétique et LISIBLE.

beugue riporte

Est assez épuré, les articles sont plaisants à lire même si parfois pour les interviews, on a des gros pâtés de texte. À noter, j’ai toujours un effet de scintillement lorsque la CSS se charge, vous pourriez peut-être voir pour améliorer les perfs de ce côté pour éviter ce « flash ».

fitcheur ricoueste

  • Je n’y accède que par mes flux RSS. Peut-être un lien direct vers les commentaires en fin d’article (comme sur LinuxFR)
  • Je lis les articles directement sur TheOldReader. Avoir les articles complets dans le flux RSS est important pour moi.
  • Une version mobile/responsive serait un plus.

osef

  • Globalement on s’en cogne… C’est le contenu qui est intéressant 🙂
  • Un peu spartiate, mais ça va
  • Correspond à mes attentes. En même  temps, j’en ai pas, des attentes…!

charte vermeillevieux-sourd

  • Design un peu vieux. Faudrait peut-être suivre, pour une fois, la mouvance de design (Flat par exemple?)
  • Clair, mais un chouille old-school.
  • Un peu vieillot mais avec les évolutions qui arrivent par petites touches on voit que ça avance Graphiquement un peu à la traîne

Framalang ? — C’est good et oui ouante encore participette.

À la question : « Un petit message pour les bénévoles de Framalang qui traduisent des nouvelles du monde du libre ? » voici les réponses que nous avons sélectionnées :

around the world around the world…

carry on & never give up !
« どうもありがとうございました
がんばってください »

holla !
Good job !
Molte gracie
Muchas gracias
Bolchoi Paciba

c’est trop bien

  • Je trouve que vous faites un travail incroyable et qui mérite toutes mes félicitations. Vos traductions me sont très utiles puisque je peux ainsi lire des articles anglais que je n’aurais pas pensé chercher sur Internet.
  • BRAVO ! Votre travail est vraiment excellent et permet aux anglophobes d’accéder à des informations non relayées par les médias classiques ou difficiles à appréhender avec les subtilités du langage.
  • bravo et merci! Un grand merci à tous pour tout le Framaboulot accompli depuis ces années !
  • Merci du gros travail de traductions, qui est de bonne qualité .

mais euh ça va trop vite !

  • Pour avoir participé un petit peu il y a quelques années, j’ai trouvé la méthodo et l’infrastructure hyper efficace, j’étais toujours étonné de la rapidité des traductions, il fallait limite se dépêcher si on voulait pouvoir participer un peu.
  • j’arrive souvent après la bataille :'(
  • Dans le temps j’ai perdu le fil, et je ne sais même plus aujourd’hui comment m’informer des nouvelles traductions proposées. À l’époque c’était des appels par Twitter. P.S.: je viens de chercher et du coup me suis inscrit à la liste de diffusion framalang@framalistes.org :DDDDD »
2000-articles trop-vite

 

Framasoft ? — On gère du pâté et on en fout partout

Voici ce qu’ont répondu quelques-uns à la question finale : « Un autre message pour l’équipe du Framablog et de Framasoft ? lâchez-vous ! »

optimiste et conquérant :

Cette année nous démarrons (grâce à vous !!!) la dégooglisation du lycée agricole d’E. et par là même la dégooglisation des esprits de nos apprenants… (il faut préciser que nous sommes de très gros consommateurs de Google Drive et que nous espérons, d’ici deux ans, conjuguer cette phrase au passé)

la belle histoire

Petite histoire, ma mère travaillait dans un collège très pauvre à M. avec des élèves vraiment très défavorisés. Elle distribuait des Framakeys à un moment je crois, et recommandait systématiquement les logiciels libres. Elle avait donné des copies de Open Office à l’époque et des élèves l’avaient remerciée chaleureusement de leur avoir fait découvrir cela, car elles ignoraient que de telles choses existaient et visiblement n’avaient même pas l’idée de craquer des logiciels de traitement de texte propriétaires et/ou avaient été épargnés par la vente liée (bizarre!).

repas de famille

En vrai, de plus en plus de gens, même mes proches et notamment ma famille : des oncles, des tantes etc, commencent fortement à s’intéresser à ces problématiques grâce au framamonde.

fédération charcutière

Merci pour tout, merci pour le bien que vous faites à Internet en général (avec d’autres services comme Qwant, l’April ou la mère Zaclys pour ne citer qu’eux), vous êtes une pierre importante de l’édifice libre que j’utilise au quotidien (Linux, Framasphère*, Framablog, Framacarte, Framatube, Framindmap, Framadrop (hyper utile, merci !), j’aurai  bien voulu un Framadrive mais y’a pu d’place… :P) ! Et rien que pour ça, vous gérez du pâté !

à l’assaut l’asso

Pas de grand discours mais juste un grand merci pour votre mobilisation et votre ouverture. J’ai appris beaucoup de chose avec vous, je me suis trouvée de nouveaux centres d’intérêts et un « combat » de la vie de tous les jours.

sentier lumineux

Vous êtes la lumière dans un monde d’obscurité

trop mignon

Des gros bisous avec plein de licornes et chats des internets <3

bday-cake

gâteau d’anniversaire offert par normanack (CC BY 2.0)




Une nouvelle version majeure de Diaspora* dans Framasphère

0.6.0.0 !

Ce numéro de version fait la fierté de la communauté Diaspora*.

Le réseau social décentralisé, dont Framasoft héberge un pod sous le nom de Framasphère, fait le plein de nouveautés.


Le nouveau look de Framasphère

 

Cela fait aujourd’hui quatre ans que diaspora*, le réseau social libre et respectueux de la vie privée, a été confié à sa communauté par ses fondateurs. Quatre années de nettoyage du code, de correction de bogues, de refonte et de nouvelles fonctionnalités. Durant ces quatre ans, 42 (ça ne s’invente pas) contributeurs bénévoles ont ajouté 44 221 lignes de code et en ont supprimé 38 560 au sein de 6 versions majeures. Car oui, aujourd’hui, pour l’anniversaire de diaspora*, cette sixième version majeure est la plus grande jamais sortie par la communauté.

Cette version contient de très nombreux changements, tant au niveau de l’expérience utilisateur que des rouages internes. L’interface a été entièrement refondue pour être plus moderne et plus agréable à utiliser. Elle devient dans le même temps personnalisable grâce à l’introduction des thèmes de couleur (dont le thème Original White Background pour revenir à l’ancienne interface).

Il est désormais possible de rendre son profil public, permettant ainsi à des organisations de s’en servir comme page de présentation, ou d’être utilisé comme blog.

Cette dernière version intègre un éditeur markdown, permettant une mise en forme beaucoup plus simple pour les utilisateurs et utilisatrices (vous pouvez toujours utiliser la syntaxe markdown directement).

framasphere - editeur markdown
—-
Listes des nouveautés de la v 0.6.0.0 de diaspora* (changelog complet)

  • support des thèmes : il est désormais possible de changer le thème de diaspora* (#6033)
  • possibilité de régler les paramètres de confidentialités et les services depuis la version mobile (#6086)
  • possibilité de rendre son profil public (visible sans avoir à partager) (#6162)
  • les votes et localisations sont désormais visibles sur la version mobile (#6238)
  • géolocalisation (si souhaitée) via OpenStreetMap (#6256)
  • un thème pour revenir à l’ancienne version de diaspora* (#6631)
  • ajout d’un éditeur markdown pour simplifier la mise en page (#6551)
  • accessibilité améliorée sur de nombreuses pages (#6227)
  • fédération grandement améliorée (#6873)
  • redesign de la page Flux (#6535)
  • redesign de la page Conversations (#6431) et #6087)

On est en tout cas bien heureux de vous avoir nombreux sur framasphère depuis bientôt deux ans ! En espérant que ce service vous plaise. Nous, on est fier de le voir toujours évoluer !




Chouchoutez vos contributeurs et contributrices !

Le groupe Framalang a traduit l’article de Julien, qui a listé tous les moyens de se tirer une balle dans le pied quand on coordonne un projet libre.

Apprenez à les éviter !

Halte à la stratégie de l'échec !
Halte à la stratégie de l’échec !

Conduite de projets Open Source : 10 erreurs à éviter

Article original : https://julien.danjou.info/blog/2016/foss-projects-management-bad-practice
Auteur : Julien Danjou(CC-BY-SA)
Traduction : lyn., KoS, AlienSpoon, David 5.1, Simon, goofy, Slimane Aguercif, Fred, galadas, terhemis, gégé

Il y a quelques semaines, lors de l’OpenStack Summit (réunion annuelle des contributeurs à OpenStack, NDT), j’ai eu l’occasion de discuter de mon expérience de la conduite de projets Open Source. Je me suis rendu compte qu’après avoir fait partie de plusieurs communautés et beaucoup contribué pendant des années, je pourrais faire profiter les nouveaux venus de conseils et d’avis expérimentés.

Il existe une foule de ressources disponibles expliquant comment conduire un projet Open Source. Mais aujourd’hui, je voudrais aborder ce sujet sous un angle différent, en insistant sur ce qu’il convient de ne pas faire avec les personnes qui y participent. Je tire cette expérience des nombreux projets Open Source auxquels j’ai participé ces dernières années. Je vais décrire, sans ordre particulier, quelques mauvaises pratiques que j’ai constatées, en les illustrant par des exemples concrets.

 

1. Considérer les contributeurs comme une nuisance

fail roadQuand les informaticiens sont au travail, qu’ils soient chargés du développement ou de la maintenance d’un logiciel, il est une chose dont ils n’ont pas besoin : du travail supplémentaire. Pour la plupart d’entre eux, la première réaction à toute contribution externe est : « Zut, du travail en plus ». Et c’est effectivement le cas.

Par conséquent, certains développeurs essayent d’éviter ce travail supplémentaire : ils déclarent ne pas vouloir de contributions, ou font en sorte que les contributeurs se sentent indésirables. Cela peut prendre de nombreuses formes, comme les ignorer ou être désagréable avec eux. Ainsi, les développeurs évitent d’avoir à traiter le surplus de travail qu’on leur met sur le dos.

C’est une des plus grandes erreurs que l’on peut commettre, et une vision fausse de l’Open Source. Si des gens vous apportent du travail supplémentaire, faites tout ce que vous pouvez pour bien les accueillir afin qu’ils continuent à travailler avec vous. Il s’agit peut-être de ceux qui prendront votre relève d’ici peu. Préparez votre future retraite.

Prenons le cas de mon ami Gordon, que j’ai vu démarrer en tant que contributeur sur Ceilometer en 2013. Il examinait très bien le code, si bien qu’il me donnait en fait davantage de travail : non seulement en détectant les anomalies dans mes contributions, mais aussi en me faisant vérifier les siennes. Au lieu de m’en prendre à lui pour qu’il arrête de me faire retravailler mon code et vérifier ses correctifs, j’ai proposé qu’on lui fasse davantage confiance en l’ajoutant officiellement à l’équipe des correcteurs sur un des projets.

Et s’ils ne font pas cette première contribution, ils ne feront pas non plus la seconde. En fait, ils n’en feront aucune ; et ces projets perdraient alors leurs futurs correcteurs.

2. Ne confier aux autres que le sale boulot

Lorsque de nouveaux contributeurs se présentent pour travailler sur un certain projet, leurs motivations peuvent être très diverses. Certains sont des utilisateurs, d’autres veulent simplement voir ce que c’est de contribuer. Ressentir le frisson de la participation, comme un simple exercice ou avec la volonté d’apprendre afin de contribuer en retour à l’écosystème qu’ils utilisent.

En général, les développeurs confient le sale boulot à ces personnes, c’est à dire des tâches sans intérêt, à faible valeur ajoutée, et qui n’auront sans doute aucun impact direct sur le projet.

Pour certains, ce n’est pas grave, pour d’autres, ça l’est. Certains seront vexés de se voir confier du travail sans grand intérêt, alors que d’autres seront heureux de le faire pourvu qu’on leur témoigne de la reconnaissance. Soyez sensible à cela, et félicitez ces personnes. C’est la seule manière de les garder dans le projet.

3. Mépriser les petites contributions

Quand le premier patch d’un nouveau contributeur est une correction d’orthographe, qu’en pensent les développeurs ? Qu’ils s’en fichent, que vous gâchez de leur temps précieux avec votre petite contribution. Et personne ne s’intéresse à la perfection grammaticale d’une documentation, n’est-ce pas ?

C’est faux. Voyez mes premières contributions à home-assistant et Postmodern : j’ai corrigé des fautes d’orthographe dans la documentation.

J’ai contribué au projet Org-mode pendant quelques années. Mon premier patch corrigeait simplement une chaîne de caractères du code. Ensuite, j’ai envoyé 56 patchs, corrigeant des bogues et ajoutant de nouvelles fonctionnalités élégantes, et j’ai aussi codé quelques extensions. À ce jour, je suis toujours seizième dans la liste des plus gros contributeurs d’Org-mode, qui en contient 390. Certainement pas ce qu’on appellerait un petit contributeur, donc. Je suis sûr que la communauté est bien contente de n’avoir pas méprisé ma première correction dans la documentation.

4. Mettre la barre trop haut pour les nouveaux arrivants.

Quand de nouveaux contributeurs arrivent, leurs connaissances du projet, de son contexte, et des technologies sont très variables. L’une des erreurs que les gens font le plus souvent consiste à demander aux nouveaux contributeurs des choses trop compliquées, dont ils ne pourront pas venir à bout. Cela leur fait peur (surtout les timides ou les introvertis) et ils risquent de disparaître, se croyant trop stupides pour aider.

piscine

Avant de faire le moindre commentaire, vous ne devriez avoir strictement aucun a priori sur leur niveau. Cela permet d’éviter ce genre de situations. Il faut également mettre beaucoup de délicatesse quand vous estimez les compétences des nouveaux, car certains pourraient se vexer si vous les sous-estimez trop.

Quand son niveau est bien estimé (un petit nombre d’échanges devrait suffire), vous devez former votre contributeur en ne le guidant ni trop ni trop peu, afin qu’il puisse s’épanouir. Il faut du temps et de l’expérience pour y parvenir, et vous allez probablement perdre certains contributeurs avant de bien maîtriser ce processus, mais c’est un chemin que tous ceux qui gèrent des projets doivent suivre.

Façonner ainsi les nouveaux arrivants est au cœur de la gestion de vos contributeurs, et ce quel que soit votre projet. Et je suis quasiment sûr que cela s’applique à tout projet, même en dehors du logiciel libre.

5. Exiger des gens qu’ils fassent des sacrifices sur le plan personnel

C’est un point qui dépend beaucoup du projet et du contexte, mais il est très important. Dans le logiciel libre, où la plupart des gens vont contribuer par bonne volonté et parfois sur leur temps libre, vous ne devez surtout pas exiger d’eux qu’ils fassent des sacrifices personnels importants. Ça ne passera pas.

L’une des pires manières de faire cette erreur est de fixer un rendez-vous à l’autre bout du monde pour discuter du projet. Cela place les contributeurs qui vivent loin dans une situation injuste, car ils ne peuvent pas forcément quitter leur famille pour la semaine, prendre l’avion ou un autre moyen de transport, louer une chambre d’hôtel… Ce n’est pas bon : tout devrait être mis en œuvre pour que les contributeurs se sentent partie prenante du projet et intégrés à la communauté, sans que l’on exige cela de leur part. Entendons-nous bien, cela ne veut pas dire qu’il faut s’interdire toute rencontre ou activité sociale, au contraire. Pensez simplement à n’exclure personne lorsque vous discutez d’un projet.

Il en va de même pour les moyens de communication susceptibles de compliquer la vie des participants : se retrouver sur IRC (il est difficile pour certaines personnes de réserver une heure, surtout lorsqu’il faut tenir compte des différents fuseaux horaires), faire une visioconférence (en particulier quand on n’utilise pas de logiciel libre et gratuit), etc.

En gros, tout ce qui impose de se synchroniser en temps réel avec l’avancement du projet est contraignant pour certains contributeurs.

C’est pourquoi le meilleur moyen de communiquer reste le courriel, mais tous les outils de communication asynchrones (pisteurs de bogues, etc.) feront l’affaire dans la mesure où ils permettent à chacun de travailler à son rythme et à l’heure qui lui convient.

6. Ne pas avoir de code de conduite

À une époque où de plus en plus de communautés s’ouvrent à un public plus large que celui auquel elles étaient habituées (ce qui est fantastique), les codes de conduite semblent être un sujet à la mode, mais aussi délicat.

En réalité, toutes les communautés ont un code de conduite, qu’il soit inscrit noir sur blanc ou suivi inconsciemment par chacun. Sa forme dépend de la taille et de la culture de la communauté.

Cependant, en fonction de la taille de votre communauté et de la façon dont ce code s’applique, vous auriez peut-être intérêt à l’écrire dans un document, comme l’a par exemple fait Debian.

Ce n’est pas parce que vous aurez rédigé un code de conduite que tous les membres de votre communauté vont soudain se transformer en adorables Bisounours le suivant à la lettre, mais il fournit des règles que vous pouvez citer en cas de besoin. Il peut être utile de le transmettre à certains pour leur faire comprendre que leur comportement ne convient pas, et cela peut aider si une exclusion devient nécessaire, même s’il ne sert que rarement à cela, puisqu’en général personne ne veut aller aussi loin.

Je pense qu’on peut très bien se passer d’un tel document sur de petits projets. Mais vous devez garder à l’esprit qu’un code de conduite implicite découlera de votre comportement. La manière dont vos membres les plus influents communiqueront avec les autres installera l’ambiance à travers tout le réseau. Ne sous-estimez pas cela.

Quand nous avons commencé le projet Ceilometer, nous avons suivi le code de conduite du projet OpenStack avant même qu’il ait été écrit, et probablement avons-nous même placé la barre un peu plus haut. En étant agréables, accueillants et ouverts d’esprit, nous avons réussi à obtenir une certaine mixité, avec plus de 25% de femmes dans notre équipe permanente — bien au dessus de la moyenne actuelle d’OpenStack et de la plupart des projets de logiciel libre !

7. Mettre les non-anglophones à l’écart

Il est important d’être conscient que la grande majorité des projets de logiciel libre utilisent l’anglais en tant que langue de communication principale. C’est logique. C’est une langue répandue, et qui semble remplir ce rôle correctement.

Mais une grande partie des codeurs n’ont pas l’anglais pour langue maternelle. Beaucoup ne le parlent pas couramment. Cela signifie que le rythme auquel ils peuvent converser peut-être très lent, ce qui peut en frustrer certains, notamment ceux qui sont nés en terre anglophone.

 

Le Brexit, c’est maintenant

On peut observer ce phénomène dans les rencontres de codeurs, lors de conférences par exemple. Quand les gens débattent, il peut être très difficile pour certains d’expliquer leurs pensées en anglais et de communiquer à un rythme correct, ce qui ralentit la conversation et la transmission des idées. La pire chose qu’un anglophone puisse faire dans ce cas est de leur couper la parole, ou de les ignorer, pour la seule raison qu’ils ne parlent pas assez vite. Je comprends que cela puisse être frustrant, mais le problème n’est pas la façon de parler des non-anglophones mais les outils de communication utilisés qui ne mettent pas tout le monde au même niveau en privilégiant des conversations orales.

La même chose s’applique, à un moindre degré, aux rencontres sur IRC, qui sont relativement synchrones. Les médias complètement asynchrones ne pâtissent pas de ce défaut, et c’est pourquoi ils faudrait, à mon avis, les privilégier.

8. Pas de vision, aucune délégation des tâches

C’est une autre grosse erreur de gestion si le responsable ne parvient pas à gérer la croissance du projet alors que des gens sont disponibles et prêts à aider.

Évidemment, lorsque le flux des contributeurs commence à grossir, ajoutant de nouvelles fonctionnalités, demandant des retours et des instructions à suivre, certains responsables se retrouvent la tête sous l’eau et ne savent pas comment répondre. Ce qui a pour conséquences de frustrer les contributeurs, qui vont simplement partir.

Il est important d’avoir une vision de votre projet et de la communiquer. Dites clairement à vos contributeurs ce que vous voulez, et ne voulez pas, dans votre projet. Exprimer ces informations de manière claire (et non-agressive !) permet de minimiser les frictions entre vos contributeurs. Ils vont vite savoir s’ils veulent rejoindre ou non votre navire et quoi en attendre. Donc, soyez un bon capitaine.

S’ils choisissent de travailler avec vous et de contribuer, vous devez rapidement commencer à croire en eux et à leur déléguer certaines de vos responsabilités. Cela peut être n’importe quelle tâche que vous faites d’habitude vous-même : vérifier les patchs de certains sous-systèmes, traquer les bogues, écrire la documentation… Laissez les gens s’approprier entièrement une partie du projet car ils se sentiront responsables et ils y mettront autant de soin que vous. Faire le contraire en voulant tout contrôler vous-même est la meilleure façon de vous retrouver seul avec votre logiciel open source.

Aucun projet ne va gagner en taille et en popularité de cette manière.

En 2009, quand Uli Schlachter a envoyé son premier patch à awesome, cela m’a donné plus de travail. J’ai du vérifier son patch, et j’étais déjà bien occupé pour sortir la nouvelle version d’awesome sur mon temps libre en dehors de mon travail ! Le travail d’Uli n’était pas parfait, et j’ai eu à gérer les bogues moi-même. Plus de travail. Alors qu’ai-je fait ? Quelques minutes plus tard, je lui ai répondu en lui envoyant un plan de ce qu’il devait faire et de ce que je pensais de son travail.

En retour, Uli envoya d’autres patchs et améliora le projet. Savez-vous ce que fait Uli aujourd’hui ? Il est responsable du gestionnaire des fenêtres awesome à ma place depuis 2010. J’ai réussi à transmettre ma vision, déléguer, puis à quitter le projet en le laissant dans de bonnes mains !

9. Ignorer certains types de contributions

Les gens contribuent de différentes manières, et pas toujours en codant. Il y a beaucoup de choses autour d’un projet de logiciel libre : la documentation, le tri de bogues, le support, la gestion de l’expérience utilisateur, la communication, les traductions…

Par exemple, il a fallu du temps pour que Debian songe à donner le statut de Développeur Debian à leurs traducteurs. OpenStack prend la même direction en essayant de reconnaître les contributions autres que techniques.

Dès lors que votre projet commence à récompenser certaines personnes et à créer différents statuts dans la communauté, vous devez faire très attention à n’oublier personne, car c’est le meilleur moyen de perdre des contributeurs en chemin.

10. Oublier d’être reconnaissant

Cette liste est le fruit de nombreuses années de bidouillages open source et de contributions à des logiciels libres. L’expérience et le ressenti de chacun sont différents, et les mauvaises pratiques peuvent prendre différentes formes : si vous connaissez ou si vous avez vous-même rencontré d’autres obstacles dans vos contributions à des projets open-source, n’hésitez pas à compléter la liste dans les commentaires. C’est une forme de contribution.