Les faux problèmes qui vous empêchent de contribuer aux logiciels libres

Magazine
Marque
Linux Pratique
Numéro
71
Mois de parution
mai 2012
Spécialité(s)


Résumé
Le logiciel libre, étant un mouvement social aussi bien qu'une réalisation technique, est naturellement influencé par des facteurs humains liés au parcours personnel de ceux qui s'y impliquent. L'expérience de l'auteur de ces lignes comme Debian Maintainer l'a amené à la conclusion suivante : la communication est au moins aussi importante que la technique dans la réussite d'une contribution personnelle, ou d'un projet de logiciel libre.

Body

Si Linus Torvalds a eu autant de succès avec son projet de noyau Unix libre, c'est autant par sa capacité à gérer les contributions externes (et à les organiser en écrivant git) que par sa compétence de programmeur. Voici donc un tour d'horizon de ce qui pourrait bloquer un débutant désirant contribuer au logiciel libre, aspects techniques mis pour une fois de côté.

1. Premier faux problème : « Mais je parle trop mal anglais ! »

Reconnaissons-le, l'anglais est la langue de l'informatique et celle du logiciel libre. Les deux se sont développés historiquement aux États-Unis et le langage des concepteurs initiaux est resté celui des générations suivantes. Une exception à la règle, le langage Ruby, dont la liste ruby-dev est en japonais.

Pour utiliser Linux et la plupart des logiciels libres, on n'a pas besoin de parler anglais. BSD par exemple c'est une autre histoire, la documentation de référence du système, les pages man et l'installeur n'étant souvent pas traduits par manque de ressources.

Par contre, pour contribuer au logiciel libre en général, il faut pouvoir lire et écrire un minimum d'anglais, la documentation technique et les développeurs utilisant déjà cette langue. Ceci dit, en aucun cas on ne vous demandera un haut niveau d'anglais. Il s'agit avant tout de communication écrite où vous aurez le temps de passer par un dictionnaire. Depuis plus de 10 ans que je lis des listes de discussion, je vois régulièrement des utilisateurs italiens, mexicains, japonais s'excuser par avance de leur faible niveau d'anglais et poster un message clairement compréhensible. Un exemple :

Hello,

I'm from Spain, I can read in english BUT write in english is hard ^^. I'm Debian user, I subscribe to this list because I think in this place can I find people using C/C++ and SDL. ¿Are this right?.

Thanks

Sur une liste de discussion ou un forum web, on vous tiendra rarement rigueur de votre niveau d'anglais, sauf si évidemment vous voulez écrire la documentation technique du projet. Au pire, on vous ignorera, ou on vous conseillera parfois une sous-liste ou un sous-forum en français.

2. Deuxième faux problème : « Je suis timide et j'ai peur de me tromper ! »

Sur les listes de discussion et dans de nombreux wikis, vous remarquerez que le plupart des participants indiquent leur vrai nom, associé à leur adresse e-mail. Ceci donne plus de poids, plus de concret à ce que vous dites. Allez-vous prendre plus au sérieux le mail de speedjunkie.overlordz@yahoo.com ou celui de adam.miskievaciaus@linux.lt quand il va falloir essayer de reproduire un bug complexe dans votre programme ?

Il est évident que Google archivant tout, chacun de vos propos sur une liste de diffusion sera conservé de façon indéfinie. De plus, les listes de diffusion sont archivées souvent en de multiples miroirs et bénéficient d'un page ranking élevé, on pourra donc vite vous y retrouver.

Si vous souhaitez absolument garder l'anonymat vous pourrez toujours vous restreindre aux forums de discussion ou à IRC où le pseudonyme est la règle. Dans certains projets de LL, il existe aussi des sous-projets dédiés aux utilisateurs et développeurs débutants, comme debian-mentors et Linux Kernel Newbies.

Un exemple, un forum de MAME (un émulateur de borne d'arcade) issu de l'expérience de l'auteur : une réponse agressive, mais constructive (le thread complet est visible sur http://ur1.ca/8t5r2).

La proposition :

this patch allows mame to build with a system libjpeg if libjpeg >=8 (patch based on mame 0.145).I think the part concerning sliver.c can be directly integrated in mame.

La réponse du développeur :

That's unacceptable - we are not going to put any of this crap into the drivers. Instead, make it so lib/libjpeg/jpeglib.h includes the system header where appropriate.

Traduction : « C'est inacceptable - on ne va pas inclure ce genre de code de m** dans les pilotes. A la place, modifiez lib/libjpeg/jpeglib.h de façon à inclure les headers système si besoin. »

Enfin, n'oubliez pas que les listes de diffusion et les forums ne sont pas là pour taper sur des newbies impénitents, mais pour coordonner le développement de projets dont les contributeurs sont éloignés géographiquement. Le caractère commun de presque tous les développeurs de logiciel libre c'est qu'ils sont débordés par le temps. Aborder des développeurs en exprimant une liste de souhaits sur ce que d'autres devraient faire *pour vous* est souvent un gage de réponse plutôt directe, que certains pourront considérer comme étant agressive. Il suffit de garder ceci en tête, de rester modeste sans tomber dans l'autoflagellation et tout se passera bien.

Un exemple de mail de l'auteur, qui a mené rapidement au résultat souhaité : trois mails plus tard, la documentation officielle de Postgres était corrigée.

Sujet: SHMMAX runtime setting for Postgres Installation

Date: Thu, 24 Nov 2011 16:57:39 +0100

De: Emmanuel Kasper <emmanuel@libera.cc>

A: tech-kern@NetBSD.org

Hi

http://www.postgresql.org/docs/9.1/static/kernel-resources.html, paragraph NetBSD, implies that setting SHMMAX requires editing the kernel config file and a recompile. But I have seen that setting shmmax with sysctl -w kern.ipc.shmmax=value or via /etc/sysctl.conf works however fine on my system. Is that Postgres Documentation outdated ? Am I missing something ?

Manu

3. Troisième faux problème : « Mais je ne suis pas informaticien ! »

Ici, il importe de dissiper deux mythes : tout d'abord l'écriture du code est loin d'être la seule façon de contribuer au logiciel libre, on peut bien évidemment packager, tester et écrire de la documentation. De nombreux projets de logiciel libre sont assez mal documentés, car beaucoup de développeurs ont un profil codeur pur, et une fois l'exploit technique réalisé, estiment que d'autres peuvent documenter le programme. Un contre-exemple, FreeBSD dispose d'un excellent manuel, le FreeBSD handbook, que bien peu de projets de logiciel libre peuvent se targuer d'avoir. Et nul besoin ici d'écrire du C pour l'améliorer.

Enfin, on ignore souvent que des acteurs clés du logiciel libre n'ont jamais été informaticien de formation.

Eben Moglen, qui a co-écrit les versions 2 et 3 de la GPL avec Richard Stallman est juriste.

Feu Frans Pop, un des principaux porteurs de Debian sur les architectures exotiques ne connaissait que le script shell comme langage de programmation.

Steve Langasek, Release Manager de Debian et d'Ubuntu pendant de longues années, possède une maîtrise de... Portugais et Espagnol.

Enfin, Con Kolivas, auteur de patchs complexes concernant l'ordonnancement sous Linux (il est l'auteur du Brain Fuck Scheduler, utilisé dans les mods Cyanogen d'Android) est ... médecin anesthésiste.

Plus modestement, l'auteur de ces lignes a principalement étudié le contrôle de gestion avant de maintenir un paquet Debian.

Conclusion

S'il existe un réel problème qui peut freiner votre investissement dans le logiciel libre, c'est tout simplement... le temps ! Maintenir un paquet ou être actif sur un projet, cela demande plusieurs heures par semaine.

Encore plus important, il faut souvent être prêt à s'impliquer dans la durée. Si ceci semble rebutant, aucun problème : il existe encore beaucoup de pages de wiki à mettre à jour et de rapports de bugs à confirmer, qui sont des tâches ponctuelles et courtes, et dont chaque projet a besoin !




Article rédigé par

Par le(s) même(s) auteur(s)

Protégez votre PC Linux du chat du voisin avec un lance-missiles USB

Magazine
Marque
Linux Pratique
Numéro
81
Mois de parution
janvier 2014
Spécialité(s)
Résumé
Cryptographie, firewall, sandboxing, les techniques de sécurité sur Unix/Linux sont nombreuses et couvrent de nombreux aspects. Avez-vous cependant pensé au lance-missiles USB pour protéger vote poste de travail, votre serveur ? On trouve en effet sur les sites de commerce en ligne de type ThinkGeek de nombreux modèles de lance-missiles USB, modèles qui fonctionnent parfaitement sous Linux.

Un best-seller qui tourne sous Linux : coup d'œil sous le capot du Samsung ARM Chromebook

Magazine
Marque
Linux Pratique
Numéro
81
Mois de parution
janvier 2014
Spécialité(s)
Résumé
Un nouveau succès pour Linux et le logiciel libre ? En tête des meilleures ventes Amazon aux États-Unis se trouve actuellement un Chromebook de Samsung sous architecture ARM. Qu'est-ce qu'un Chromebook ? En quoi est-il basé sur Linux ? Quels sont ses atouts et ses faiblesses ? Ce sont les questions auxquelles nous allons tenter de répondre.

Comprendre et mesurer la performance de votre PC sous Linux

Magazine
Marque
Linux Pratique
Numéro
70
Mois de parution
mars 2012
Spécialité(s)
Résumé
Mon « vieux » PC est-il moins rapide que mon nouveau Netbook ? Mon Linux Leet Edition tourne-t-il plus vite que ma vieille distribution NoobNunux ? Cet article fait le tour des principaux facteurs qui déterminent la rapidité d'un système et présente des outils de benchmarking (étalonnage) pour évaluer de façon précise la performance d'un PC.

Les derniers articles Premiums

Les derniers articles Premium

Game & Watch : utilisons judicieusement la mémoire

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Au terme de l'article précédent [1] concernant la transformation de la console Nintendo Game & Watch en plateforme de développement, nous nous sommes heurtés à un problème : les 128 Ko de flash intégrés au microcontrôleur STM32 sont une ressource précieuse, car en quantité réduite. Mais heureusement pour nous, le STM32H7B0 dispose d'une mémoire vive de taille conséquente (~ 1,2 Mo) et se trouve être connecté à une flash externe QSPI offrant autant d'espace. Pour pouvoir développer des codes plus étoffés, nous devons apprendre à utiliser ces deux ressources.

Raspberry Pi Pico : PIO, DMA et mémoire flash

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Le microcontrôleur RP2040 équipant la Pico est une petite merveille et malgré l'absence de connectivité wifi ou Bluetooth, l'étendue des fonctionnalités intégrées reste très impressionnante. Nous avons abordé le sujet du sous-système PIO dans un précédent article [1], mais celui-ci n'était qu'une découverte de la fonctionnalité. Il est temps à présent de pousser plus loin nos expérimentations en mêlant plusieurs ressources à notre disposition : PIO, DMA et accès à la flash QSPI.

Programmation des PIO de la Raspberry Pi Pico

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

La carte Pico de Raspberry Pi est appréciable à bien des égards. Ses ressources, son prix, ses deux cœurs ARM... Mais ce morceau de silicium qu'est le RP2040 renferme une fonctionnalité unique : des blocs PIO permettant de créer librement des périphériques supplémentaires qu'il s'agisse d'éléments standardisés comme SPI, UART ou i2c, ou des choses totalement exotiques et très spécifiques à un projet ou un environnement donné. Voyons ensemble comment prendre en main cette ressource et explorer le monde fantastique des huit machines à états de la Pico !

Les listes de lecture

9 article(s) - ajoutée le 01/07/2020
Vous désirez apprendre le langage Python, mais ne savez pas trop par où commencer ? Cette liste de lecture vous permettra de faire vos premiers pas en découvrant l'écosystème de Python et en écrivant de petits scripts.
11 article(s) - ajoutée le 01/07/2020
La base de tout programme effectuant une tâche un tant soit peu complexe est un algorithme, une méthode permettant de manipuler des données pour obtenir un résultat attendu. Dans cette liste, vous pourrez découvrir quelques spécimens d'algorithmes.
10 article(s) - ajoutée le 01/07/2020
À quoi bon se targuer de posséder des pétaoctets de données si l'on est incapable d'analyser ces dernières ? Cette liste vous aidera à "faire parler" vos données.
Voir les 53 listes de lecture

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous