Le nom Firefox est-il un bug de la prochaine Ubuntu ?

C’est nouveau. À la demande de Mozilla qui souhaite ainsi protéger sa marque, les utilisateurs de la prochaine version d’Ubuntu (Intrepid Ibex, sortie prévue le 30 octobre) auront désormais à accepter un CLUF, Contrat de Licence Utilisateur Final, au premier démarrage de Firefox 3.

Ce qui pose alors une triple question : celle du contenu de ce CLUF (pour y mettre quoi exactement ?), celle de sa présentation (un tel contrat n’est-il pas culturellement assimilé à l’univers Windows ?) et celle de son existence (ne pourrait-on pas s’en passer puisque le plus important demeure les licences libres du code source du logiciel ?).

Il n’en fallait pas plus pour mettre en émoi certains membres de la communauté Ubuntu dont le développeur William Grant qui a carrément décidé d’en faire le bug n°269656 sur le launchpad d’Ubuntu.

La réponse de Mark Shuttleworth himself n’a pas tardé à arriver. En voici sa traduction by Olivier from Framalang qui précise que What The Fuck? (WTF?) est difficilement traduisible en français 😉

Edit : Une première réponse de Mitchell Baker, Présidente de la Mozilla Foundation, sur son blog.

Copie d'écran - Launchpad - Ubuntu

Bug #269656 : Une licence non pertinente vous est offerte gratuitement au démarrage – Réponse de Mark Shuttleworth

An irrelevant license is presented to you free-of-chagre on startup

Mark Shuttleworth – 13 septembre 2008

Afin que nous puissions continuer à nommer le navigateur Firefox (dans Ubuntu) Mozilla Corp nous demande de la faire apparaître. Puisqu’ils possèdent la marque "Firefox", ce que nous respectons, deux choix s’offrent à nous : ou bien nous travaillons avec Mozilla pour répondre à leurs exigences ou bien nous optons pour un navigateur sans nom.

Notre préférence, et celle de la plupart des utilisateurs, est bien évidemment de conserver Firefox comme navigateur dans Ubuntu.

Je comprends parfaitement la position de Mozilla, les conditions et les règles qu’ils fixent pour l’utilisation de leur marque, nous n’agissons pas différemment pour Ubuntu et beaucoup d’autres logiciels libres font de même. Je pense même que c’est ce qu’il faut ; une marque forte sur un logiciel libre or cela implique quelques règles.

Ceci étant dit, je n’irai pas jusqu’à voir un CLUF (Contrat de Licence Utilisateur Final) comme la meilleure solution. C’est très dommage que Mozilla trouve cela absolument nécessaire, mais voilà, ils le pensent et aucun de nous n’est à même de juger la pression légale (NdT : ou juridique) que Mozilla ressent. Nous avons longuement discuté avec Mozilla pour trouver le meilleur compromis possible entre leurs exigences et la convivialité de notre système.

Si vous avez des suggestions constructives pour nous aider à respecter les exigences de Mozilla tout en continuant à améliorer le confort des utilisateurs nous sommes tout ouïe. Mais les messages du genre "WTF?" ou les inepties tout en majuscules ne sont pas considérés comme constructifs. Vos libertés logicielles reposent sur des bases légales, tout comme les droits que détient Mozilla sur la marque "Firefox". Crier qu’on viole vos droits ne ferait que montrer votre incompréhension des logiciels libres.

Il me semble que nous disposons d’un nouveau paquet dans Intrepid (Ibex) nommé abrowser, qui emploi le code de Firefox sans utiliser la marque déposée "Firefox".




10 différences fondamentales entre Linux et Windows

Ce n’est pas la première fois que le Framablog verse dans les différences Windows/Linux.

On croit avoir déjà tout dit. Et pourtant on arrive encore (selon nous) à trouver des articles apportant un éclairage si ce n’est nouveau en tout cas bien construit et argumenté.

10 différences fondamentales entre Linux et Windows

10 fundamental differences between Linux and Windows

Jack Wallen – 26 août 2008 – TechRepublic.com
(Traduction Framalang : Yonnel et Daria)

Cela fait maintenant plus de 10 ans que je suis dans la communauté Linux. Depuis le tout début, je sais qu’il y a des différences basiques entre Linux et Windows qui les distinguera toujours. Cela ne veut pas dire, pas le moins du monde, que l’un est meilleur que l’autre. Cela veut dire qu’ils sont fondamentalement différents. Beaucoup, selon la perspective d’un système d’exploitation ou de l’autre, ne saisissent pas vraiment les différences entre ces deux moteurs. J’ai donc décidé qu’il pourrait être bien utile pour le public de faire la liste des différences primaires entre Linux et Windows.

1. Accès total vs pas d’accès

L’accès au code source est probablement LA différence la plus significative entre Linux et Windows. Le fait que Linux soit sous licence publique GNU garantit que les utilisateurs (de tout type) peuvent avoir accès (et droit de modification) au code jusqu’au noyau qui sert de fondement au système d’exploitation Linux. Vous voulez jeter un coup d’œil au code de Windows ? Bonne chance. À moins d’être membre d’un groupe trié sur le volet (et pour beaucoup une élite), vous ne verrez jamais le code qui constitue le système d’exploitation Windows.

Vous pouvez interpréter ceci depuis chaque rive du fleuve. Certains disent que le fait de donner un accès public au code ouvre le système d’exploitation (et les logiciels qui s’y exécutent) aux développeurs mal intentionnés qui se serviront de chaque faille qu’ils trouveront. D’autres disent que le fait d’avoir un accès total au code aide à générer des améliorations et des corrections de bugs plus rapides pour empêcher à ces développeurs mal intentionnés de venir à bout du système. Occasionnellement, je me suis plongé dans le code de quelques applications Linux, et au bout du compte, j’ai été heureux du résultat. Est-ce que j’aurais pu le faire avec une application Windows sans accès aux sources ? Non.

2. Liberté de licences vs restriction de licences

Avec l’accès au code, nous avons la différence entre les licences. Je suis sûr que chaque professionnel de l’informatique pourrait parler des heures des licences de logiciels pour PC. Regardons juste les aspects clés des licences (sans rentrer dans le jargon juridique). Avec un système d’exploitation Linux à licence GPL, vous êtes libre de modifier ce logiciel et de l’utiliser, même de le republier ou de le vendre (tant que vous mettez le code à disposition). Également, avec la GPL, vous pouvez télécharger une seule copie d’une distribution (ou application) Linux et l’installer sur autant de machines que vous le souhaitez. Avec la licence Microsoft, vous ne pouvez faire aucune de ces choses. Vous êtes limité au nombre de licences que vous achetez, donc si vous achetez 10 licences, vous ne pouvez légalement installer ce système d’exploitation (ou cette application) que sur 10 machines.

3. Support en ligne assuré par des groupes d’utilisateurs vs support payant

C’est un point qui fait fuir la plupart des entreprises. Mais ce n’est vraiment pas nécessaire. Avec Linux, vous avez du support grâce à une énorme communauté, via des forums, les moteurs de recherche, et plein de sites web spécialisés. Et bien sûr, si vous en ressentez le besoin, vous pouvez acheter des contrats de support à une des grosses entreprises Linux (par exemple Red Hat ou Novell).

Il est vrai que, quand vous utilisez le support de la communauté inhérent à Linux, vous y perdez pas mal de temps. Vous pourriez avoir un problème quelconque, poster sur une liste de diffusion ou sur un forum, et en dix minutes être noyé sous les suggestions. Ou alors ces suggestions pourraient prendre plusieurs heures avant d’arriver. Parfois, cela semble ne dépendre que du hasard. Mais, quand même, généralement, la plupart des problèmes avec Linux ont déjà été rencontrés, et sont documentés. Il y a donc beaucoup de chances pour que vous trouviez votre solution assez rapidement.

Côté face, le support pour Windows. Oui, vous pouvez prendre le même chemin avec Microsoft et vous fiez aux utilisateurs pour trouver des solutions. Il y a juste autant de sites d’aide/listes/forums pour Windows qu’il y en a pour Linux. Et vous pouvez acheter du support à Microsoft-même. La plupart des responsables d’entreprise sont des proies faciles pour le filet de sécurité apporté par un contrat de support. Mais la plupart des responsables n’ont pas eu à faire appel au dit contrat de support. Des diverses personnes que je connais, et qui ont utilisé soit un contrat de support payant Linux soit un contrat de support payant Microsoft, je ne peux pas affirmer que les uns étaient plus satisfaits que les autres. Cela amène bien sûr la question « pourquoi tellement de gens disent-ils que le support pour Microsoft est meilleur que celui pour Linux ? »

4. Support matériel complet vs partiel

Un point qui peu à peu tend à disparaître est le support matériel. Il y a des années, si vous vouliez installer Linux sur une machine, il vous fallait vous assurer de bien sélectionner chaque pièce, sinon votre installation n’aurait pas fonctionné à 100%. Je me souviens, vers 1997, d’avoir essayé de comprendre pourquoi je n’arrivais pas à détecter mon modem avec Caldera Linux ou Red Hat Linux. Après bien des recherches, j’ai découvert que j’étais l’heureux propriétaire d’un Winmodem. J’ai donc dû aller acheter un modem externe US Robotics, parce que c’était le seul modem dont je savais qu’il fonctionnerait. Ce n’est plus aussi fréquent à présent. Vous pouvez prendre un PC (ou un portable) et il y a toutes les chances qu’une ou plusieurs distributions Linux puisse s’installer et fonctionner presque à 100%. Mais il reste toujours des exceptions. Par exemple, la fonction hiberner/suspendre reste problématique sur beaucoup de portables, même si cela s’est beaucoup amélioré.

Avec Windows, vous savez que quasiment tout le matériel fonctionnera avec le système d’exploitation. Bien sûr, parfois (et je n’arrête pas d’en faire l’expérience) vous vous retrouvez à passer la majeure partie de la journée à la recherche des bons pilotes pour ce matériel dont vous n’avez plus le disque d’installation. Mais vous pouvez aller acheter cette carte Ethernet à dix centimes, en sachant qu’elle fonctionnera sur votre machine (pour autant que vous ayez ou que vous trouviez les pilotes). Vous pouvez aussi être assuré que quand vous achetez cette carte graphique incroyablement puissante, vous pourrez probablement l’exploiter au maximum.

5. Ligne de commande vs pas de ligne de commande

Peu importe ce qu’est advenu le système d’exploitation Linux et que l’environnement graphique de bureau soit désormais si extraordinaire, la ligne de commande sera toujours un outil précieux pour qui a besoin d’administrer sa machine. Rien ne remplacera jamais mon éditeur de texte préféré, ssh, et n’importe quel outil de ligne de commande donné. Je n’imagine pas l’administration d’une machine Linux sans la ligne de commande. Mais pour l’utilisateur de base il en va différemment. Vous pourriez utiliser une machine Linux des années sans jamais toucher à la ligne de commande. Pareil pour Windows. Vous pouvez quand même utiliser la ligne de commande dans Windows, mais très loin des possibilités sous Linux. De plus, Microsoft a tendance à cacher à ses utilisateurs l’invite pour utiliser la ligne de commande. Sans aller dans Exécuter et taper cmd (ou command, ou je ne sais trop quoi maintenant), l’utilisateur ne saura même pas que l’outil de ligne de commande existe. Et si un utilisateur réussit à atteindre la ligne de commande Windows, que pourrait-il vraiment en faire ?

6. Installation des applications centralisée vs non centralisée

Le titre de ce point pourrait vous laisser complètement baba. Mais réfléchissons-y une seconde. Sous Linux vous avez (avec presque toutes les distributions) un endroit central, où vous pouvez rechercher, ajouter ou supprimer des logiciels. Je parle des systèmes de gestion de paquets, comme Synaptic. Avec Synaptic, vous pouvez ouvrir un outil, chercher une application (ou un groupe d’applications), et installer cette application sans avoir à chercher quoi que ce soit sur le web (ou à acheter quoi que ce soit).

Sous Windows, rien de la sorte. Vous devez savoir où trouver le logiciel que vous voulez installer, le télécharger (ou mettre le CD dans votre machine), et exécuter setup.exe ou install.exe grâce à un simple double clic. Pendant longtemps, on pensait qu’il était de loin plus facile d’installer des applications sous Windows que sous Linux. Et pendant longtemps, on pensait bien. Plus vraiment maintenant. L’installation sous Linux est simple, sans effort, et centralisée.

7. Flexibilité vs rigidité

Je compare toujours Linux (surtout le bureau) et Windows à une pièce dont le plancher et le plafond sont soit fixes soit mobiles. Sous Linux, vous avez une pièce où vous pouvez rehausser ou abaisser le plancher et le plafond, à volonté, aussi haut ou bas que vous le voulez. Sous Windows, impossible de bouger ce plancher et ce plafond. Vous ne pouvez pas aller plus loin de ce que Microsoft a jugé nécessaire.

Prenez, par exemple, le bureau. À moins que vous ne soyez prêt à payer et à installer une application non-Microsoft qui peut changer l’apparence du bureau, sous Windows vous êtes coincé dans ce que Microsoft a déclaré être le meilleur bureau pour vous. Sous Linux, vous pouvez pratiquement adapter l’apparence et le comportement de votre bureau exactement à ce que vous voulez/ce dont vous avez besoin. Vous pouvez avoir autant ou aussi peu sur votre bureau que vous le voulez. D’un Fluxbox simple et plat à une expérience 3D Compiz extrême, le bureau Linux est l’environnement le plus flexible qui soit sur un ordinateur.

8. Les fans vs les entreprises

Je voulais ajouter ceci parce que même si Linux a dépassé de beaucoup ses racines universitaires, les utilisateurs de Linux ont tendance à être des fans qui occupent la tribune et sont prompts à débiter toutes sortes de raisons de choisir Linux plutôt que Windows. Je m’en rends coupable quotidiennement (je fais de mon mieux pour recruter de nouveaux fans), et c’est une étiquette que je revendique. Bien sûr, cela est perçu par certains comme moins professionnel. Après tout, pourquoi est-ce que quelque chose qui est désormais de digne d’un environnement d’entreprise a ou aurait besoin de pom-pom girls ? Le logiciel ne devrait-il pas se diffuser massivement tout seul ? De par la nature ouverte de Linux, celui-ci doit se débrouiller sans l’aide des budgets marketing et du gros portefeuille de Microsoft. En conséquence, les fans ont besoin de prêcher la bonne parole. Et le bouche à oreille est le meilleur allié de Linux.

Certains associent ce fanatisme au chahut universitaire qui confine Linux aux sous-sols des réunions de LUGS. Permettez-moi d’être en désaccord. Une autre entreprise, grâce à son simple lecteur de musique et à son téléphone, est tombée dans le même fanatisme, et pourtant l’image de cette entreprise n’a pas été écornée par ce fanatisme. Windows n’a pas ces fans. À la place, Windows a un bataillon d’administrateurs officiels qui croient au battage médiatique des parts de marché, des chiffres trompeurs qui les rassurent qu’ils seront employés jusqu’à la nuit des temps.

9. Médias amovibles automatiquement vs pas automatiquement

Je me souviens de cette époque où il vous fallait monter sa disquette pour pouvoir l’utiliser, et la démonter pour la sortir. Eh bien, ces jours sont presque terminés (mais pas complètement). Un problème qui nuit aux nouveaux utilisateurs est l’utilisation des médias amovibles. L’idée d’être obligé de « monter » manuellement un lecteur de CD pour accéder au contenu du disque est complètement étrangère aux nouveaux utilisateurs. Il y a une raison pour que ce soit ainsi. Parce que Linux a toujours été une plate-forme multi-utilisateurs, on pensait qu’en forçant un utilisateur à monter un média pour l’utiliser, cela empêcherait les fichiers de cet utilisateur d’être remplacés par un autre utilisateur. Pensez-y : sur un système multi-utilisateurs, si tout le monde avait instantanément accès à un disque qui venait d’être inséré, qu’est-ce qui les empêcherait de supprimer ou de remplacer un fichier qui venait juste d’être ajouté au média ? Les choses ont maintenant évolué au point que les sous-systèmes de Linux sont paramétrés pour pouvoir utiliser un périphérique amovible de la même façon que sous Windows. Mais ce n’est pas la norme. Et en plus, qui refuse d’éditer manuellement le fichier /etc/fstab ?

10. Les niveaux d’exécution superposés vs un seul niveau d’exécution

Je n’ai pas pu trouver un meilleur titre pour ce point, c’est donc une description. Ce dont je parle est la capacité inhérente à Linux de s’arrêter sur différents niveaux d’exécution. Ainsi, vous pouvez travailler soit en ligne de commande (niveau d’exécution ou runlevel 3) soit avec l’interface graphique (runlevel 5). Cela peut vraiment sauver votre chemise, quand votre serveur graphique est vraiment bien dézingué, et que vous devez régler le problème. Vous pouvez y arriver en démarrant sur le niveau d’exécution 3, en vous identifiant en tant que propriétaire du système, pour identifier/résoudre le problème.

Sous Windows, vous vous contentez d’une ligne de commande en mode sans échec, et là vous n’êtes pas sûr d’avoir les utilitaires qu’il vous faut pour régler le problème. Sous Linux, même en runlevel 3, vous pouvez quand même réussir à installer un utilitaire pour vous aider (tapez apt-get install application-de-votre-choix via la ligne de commande). Il y a de plus une autre utilité. Mettons que la machine en question est un serveur web ou un serveur de mails. Vous voulez lui allouer toute la mémoire dont vous disposez, donc vous ne voulez pas que la machine démarre sur une session graphique. Toutefois, il y a des moments où vous voulez vraiment l’interface graphique pour l’administration de votre machine (même si vous pouvez pleinement administrer un serveur Linux depuis la ligne de commande). Parce que vous pouvez exécuter la commande startx depuis la ligne de commande en runlevel 3, vous pouvez tout de même démarrer votre serveur graphique et avoir également votre interface habituelle. Sous Windows, vous êtes coincé sur une session graphique, à moins de rencontrer un gros problème.

C’est vous qui voyez…

Ce sont là 10 différences fondamentales entre Linux et Windows. À vous de décider si ces différences avantages l’un ou l’autre système d’exploitation. Moi ? Eh bien je pense être précédé par ma réputation (et mes opinions), je n’ai donc probablement pas besoin de dire que je suis convaincu que la balance penche du côté de Linux.




Chérie, j’ai partagé le Wi-Fi !

Open-Mesh

Je dois avouer que mes connaissances en wi-fi ne dépassent pas le niveau de la mer mais ce n’est pas une raison pour ne pas en parler surtout quand il s’agit d’une traduction !

La traduction[1] en question est un peu technique mais elle est surtout là pour annoncer qu’il existe des solutions libres (et peu onéreuses au niveau matériel) pour déployer un réseau wifi maillé et partager internet en mutualisant quelques connexions.

J’en veux pour meilleure preuve l’installation récente au Marché Biron, au coeur des puces de Paris Saint-Ouen, d’un déploiement ambitieux « qui n’exploite que des technologies open source pour constituer un réseau maillé wifi afin de couvrir une grande surface pour un faible coût ». Pour en savoir plus je vous invite vivement à parcourir l’article Toonux et Entreprise Transparence déploient un réseau wifi communautaire 100% open source au Marché Biron.

Comme dirait Léo Ferré, c’est extra ! Oui mais il y a un hic (outre la question de la nocivité du wi-fi), ainsi que nous le rappelle Bluetouff sur son blog dans un billet intitulé : La riposte graduée menace le wifi des particuliers comme des professionnels.

« Tout pourrait aller pour le mieux dans le meilleur des mondes s’il n’y avait pas la menace de l’HADOPI qui entend que nous posions des dispositifs de filtrage visant à empêcher tout téléchargement « illicites »… Le problème de la responsabilité en cas d’avertissement se pose donc : qui est responsable ? « La personne qui partage sa bande passante » souhaite répondre l’HADOPI, sur le seul principe qu’elle semble reconnaître « une ip, un coupable ».

Si tel était le cas, ce serait bien là la fin de l’aventure des réseaux mesh communautaires et ouverts pour servir les intérêts de maisons de disques et quelques ayants-droit dont une bonne partie ne paye même pas d’impôts en France. »

Il faut bien que les professionnels (industries du disque, fournisseurs d’accès internet, etc.) gagnent justement leur croûte. Il n’empêche qu’une société qui stigmatise voire interdit le partage dans un nombre croissant de secteurs d’activité n’est clairement pas une société en bonne santé…

Copie d'écran - DailyWireless.org

La révolution Open-Mesh

The Open-Mesh Revolution

Sam Churchill – 11 mars 2008 – DailyWireless.org

Il y a un an de cela le relais Wifi Meraki à 50$ était une petite révolution, une solution parfaite pour combler le fossé numérique. Puis Meraki a vu son prix augmenter et le boîtier bon marché s’est vu amputé de presque toutes ses fonctions (FAQ). La version de base ne permet plus maintenant la facturation, l’authentification des utilisateurs, le contrôle de l’accès ou l’affichage d’une page d’accueil personnalisée. Il vous faudra débourser 100$ par appareil pour retrouver la plupart des fonctionnalités auparavant gratuites. Meraki impose maintenant des publicités au travers de leurs services hébergés.

Voilà qui a vraiment énervé beaucoup de monde.

Beaucoup d’entreprises, comme Net Equality (appartenant maintenant à One Economy), employaient le Meraki pour fournir, gratuitement ou à bas prix, un accès Internet à des foyers aux revenus modestes. Ce changement de direction les a laissés en plan.

C’est là que Michael Burmeister-Brown intervient, il est le co-fondateur de Net Equality et le développeur du logiciel Dashboard qui permettait une gestion rapide, simple et peu coûteuse de douzaines, voire de centaines de relais Merakis.

Aujourd’hui Michael Burmeister-Brown a annoncé un nouveau produit et une nouvelle entreprise créés pour combler le vide laissé par Meraki : Open-Mesh.

Open-Mesh fait tout ce que faisait le Meraki original et même plus :

  • C’est pas cher. Les relais Wifi Open-Mesh coûtent 49$ l’unité ou 39,95$ (quantité : 20);
  • C’est sans publicité. Open-Mesh fait la promesse de ne jamais imposer de publicité sur vos réseaux. Vous décidez du contenu que vous voulez afficher;
  • C’est 100% open-source et déployé sur OpenWRT. Vous pouvez modifier tout ce que vous désirez ;
  • Vous pouvez re-flasher le firmware si vous voulez;
  • Grâce au système de gestion Dashboard vous administrez votre réseau et suivez les alertes et le mappage librement. Vous pouvez configuer l’ESSID, la page d’accueil, les mots de passe et la bande passante allouée à vos réseaux;
  • Les dispositifs s’auto-configurent. C’est simple de créer un réseau de quartier ou d’appartement. Vous n’êtes pas forcé d’utiliser leur système de gestion si vous ne voulez pas.

Contrairement à Meraki et FON leur architecture est 100% open source. Vous pouvez flasher le firmware si vous voulez, mettre une nouvelle page d’accueil ou utiliser leur logiciel libre de gestion (voir ci-dessous)… ou pas.

Open-Mesh

Les petits mini-routeurs (49$) sont livrés pré-flashés avec ROBIN, le firmware open source de maillage. Vous n’avez qu’à le brancher et il est prêt à l’emploi. Pas de configuration requise.

Vous en branchez un sur votre connexion Internet et rajoutez d’autres mini-routeurs là où vous voulez étendre la couverture Wifi (chaque routeur devrait être situé à moins de 30 mètres d’un autre routeur). Ils marchent bien avec Covad parce que Covad supporte le partage du Wifi mais d’autres fournisseurs d’accès sont également compatibles. Open-Mesh n’a aucun lien commercial avec les fournisseurs d’accès Internet.

Le routeur est livré avec une antenne 2dbi et un câble ethernet pour le connecter à votre ligne xDSL ou à votre ordinateur. Le chipset Atheros utilisé est le même que dans le Meraki.

Open-Mesh

ROBIN (ROuting Batman INside) est un projet de maillage de réseau open source déployé par dessus OpenWRT. Il utilise l’algorithme de routage BATMAN (Better Approach to Mobile Ad-hoc Networking) pour les réseaux maillés ad-hoc multi-sauts.

Quel est le modèle économique d’Open-Mesh ?

« Nous n’essayons pas de nous enrichir », répondait Michael Burmeister-Brown lors d’un entretien téléphonique avec DailyWireless. « Nous espérons que d’autres entreprises et d’autres constructeurs utiliseront le logiciel open-source ROBIN dans leur matériel » explique-t-il.

La mission d’Open-Mesh est d’aider le sans-fil communautaire, l’éducation et les pays émergents à utiliser les réseaux sans fils maillés open-source. Simple. Bon marché. Sans publicité. A monter soi-même.

Douce équité. L’heure est peut être venue pour cette idée.

Notes

[1] Merci à Olivier, Daria et Siltaar pour la traduction Framalang 🙂




Il était une fois un développeur de logiciel libre

« Beaucoup d’utilisateurs étaient vraiment sympathiques, ils me remerciaient et m’encourageaient ! À chaque fois, cela ensoleillait toute ma journée… »

Ainsi s’exprime Laurent Cohen dans ce court mais enthousiaste témoignage d’un développeur de logiciel libre[1].

Et puis, loin de moi l’idée d’idéaliser les choses[2], mais pas une fois il n’est question d’argent. Parce qu’il est clair que, quand bien même de nombreux projets libres aient fortement besoin de soutiens financiers, ce n’est ni une fin en soi ni la principale source de motivation. La vérité est ailleurs, n’en déplaisent à certains…

Got milk? - OLD SKOOL Cora - CC-By-Nc-Sa

Que signifie être un développeur Open Source ? Une histoire vécue de l’intérieur

What does it mean to be an Open Source author? A story from the inside

Laurent Cohen – 23 juin 2008 – JPPF Blog

J’entends parler tous les jours des projets Open Source, du modèle économique de l’Open Source, de ce que cela signifie en terme de liberté, de choix, de risques, d’investissements, etc. Ce dont je n’entends pas souvent parler, c’est à quoi ressemble la vie de ceux qui contribuent réellement et vouent une partie de leur vie à l’Open Source.

Je ne prétends pas comprendre comment cela se passe pour la plupart des contributeurs ou dire qu’il y a des modèles à suivre. Mais je crois sincèrement qu’il y a des histoires qui valent le coup d’être racontées. Voici la mienne, je vous laisse l’apprécier… ou pas 🙂

Tout d’abord, le projet s’appelle JPPF (Java Parallel Processing Framework) et c’est tout ce que j’en dirai. Cet article ne parle pas du projet lui-même, mais de ce qui lui est particulier et des conséquences que cela a sur la vie de gens, y compris la mienne.

La Génèse

Il était une fois un geek, avec une idée et un bout de code. Il se disait, « Hé, ça a l’air chouette, pourquoi est-ce que je ne mettrais pas ça à disposition des autres librement/gratuitement ? » (NdT : toujours la même ambigüité sur le mot « free », je vous laisse choisir !)

C’est une de ces idées farfelues qui vous viennent l’esprit sans raison.

Ainsi, le projet était né, et dûment enregistré sur Sourceforge. Cela semblait déjà fort passionnant à l’époque, et vous savez quoi ? Après trois ans de travail parfois harassant, c’est plus passionnant que jamais.

Le travail en solitaire

Longtemps, il n’y eut qu’un seul gars dessus, travaillant seul, faisant ce qu’il avait envie de faire, un électron libre qui n’avait qu’une vague idée de son objectif et une vision bien à lui de ce qu’était le temps libre.

C’était une époque où les heures étaient longues, les réveils matinaux, les couchers tardifs, les weekends qui passaient sans que je m’en aperçoive, les cigarettes et les cafés nombreux. Mais depuis j’ai élargi mon horizon, et je bois aussi du thé au jasmin.

Enfin voilà, c’était moi. J’adorais coder, j’aime toujours ça et j’aimerai toujours.

De 0 à plus d’1 utilisateur

Puis vint l’époque du codage, de la mise à disposition, du codage, de la mise à disposition. Le projet prenait un peu d’ampleur, et une petite communauté commençait à l’utiliser. Il était beaucoup question de « mais pourquoi ça ne marche pas dans ce cas-là ? », « pourquoi n’y a-t-il pas cette fonctionnalité ? » ou « comment pourrais-je faire ceci et cela ? » etc. Vous voyez le genre…

Et là je me suis dit : « Mon dieu, il va falloir interagir avec d’autres gars ! Comment m’y prendre ? »

Ce fut le début d’une période (brève, heureusement) d’intense introspection existentielle. Quel était le but de ce projet ? Pourquoi l’avais-je mis en Open Source ? Je résolvais le problème en décidant unilatéralement qu’il serait libre, pour tous ceux qui seraient suffisamment intéressés pour s’y pencher dessus. J’ai aussi décidé qu’il serait de ma responsabilité d’aider ces braves gens à utiliser ce projet, et tant qu’à faire, que ce soit une expérience positive pour eux.

Des utilisateurs qui participent

J’ai donc commencé à communiquer avec les autres, et j’ai vraiment été bluffé. Ces gens sont formidables ! Je ne peux pas vous dire à quel point ils ont été importants pour le projet. Voici, brièvement, en quoi :

  • Ils viennent de tous les coins de la planète, c’est cool non ? J’ai eu des questions, des commentaires et des critiques des cinq continents;
  • Chaque question posée correspondait à une fonctionnalité potentielle, et est souvent devenue une fonctionnalité réelle;
  • Chaque bug découvert a participé à l’amélioration du projet;
  • La plupart des demandes d’éclaircissement sont devenues des rubriques de la documentation;
  • Beaucoup d’utilisateurs étaient vraiment sympathiques, ils me remerciaient et m’encourageaient ! À chaque fois, cela ensoleillait toute ma journée.

Très chers utilisateurs, vous êtes l’unique raison pour laquelle ce projet existe encore. Si ce projet a eu une importance quelconque dans votre vie, n’ayez aucun doute qu’il en a eu une énorme dans la mienne. Je vous aime.

D’un gars à une équipe

Un autre des effets merveilleux de l’interaction avec les utilisateurs, c’est que certains sautèrent le pas et passèrent de contributeur à membre actif. Je n’étais plus seul sur scène. Je n’étais plus libre de faire tout ce que je voulais et était responsable, non seulement envers moi-même, mais aussi envers chaque membre de l’équipe. Cela a généré du travail supplémentaire : nous avons du mettre en place quelques procédures, partager des idées sur l’architecture, la conception et l’implémentation, la montée en compétence des nouveaux venus etc.

Presque immédiatement, le flot d’idées a influencé ce qu’il était possible de faire avec le projet, pas seulement dans le futur, mais ici et maintenant. Le projet grossissait, en même temps que la vision que nous en avions. En conséquence, l’équipe s’est agrandie, ce qui a généré son lot de problèmes et de questions…

La question du leadership

La notion d’équipe et de communauté est intimement liée à celle du leadership. Qu’est-ce qu’un meneur ? Voici la définition que j’ai employée : « un meneur, c’est quelqu’un qui est capable de pousser les gens à agir en les faisant adhérer à une idée, de telle façon qu’ils seront touchés, émus et inspirés par cette idée ».

Avec cette définition, je dois honnêtement avouer que j’ai connu de nombreux succès mais aussi beaucoup d’échecs. Il y a deux échecs que je n’ai pas encore surmontés :

  • J’ai échoué à garder une équipe motivée et inspirée. À l’heure actuelle je suis le seul contributeur actif et je n’ai pas entendu parler des autres depuis des mois. Quelle qu’en soit la raison, je dois l’accepter. Chaque membre de l’équipe aura toujours sa place au sein du projet, et je vous remercie les gars pour tout ce que vous avez fait, je vous remercie mille fois;
  • J’ai échoué à trouver un autre meneur pour le projet. Ou est-ce juste que je n’ai pas réussi à me mettre suffisamment de coté ? En tout cas, je trouve ça effrayant de penser que le projet pourrait tout simplement s’arrêter, si je faisais un accident cérébral, par exemple, qui détruirait mon dernier (et unique) neurone restant.

Présenter une vitrine au monde

Ce projet est hebergé et vit sur le net. Cela veut dire qu’il doit y avoir un site web pour le présenter, expliquer ce qu’il fait, le documenter, aider les utilisateurs etc. Et aussi, pour attirer de nouveaux utilisateurs et fidéliser ceux qui le sont, ce site doit être sexy, confortable et facile à parcourir.

Je suis un développeur, et franchement… pas un concepteur de site web ! Oui, je connais le HTML, CSS et un peu de PHP. Oui, j’ai développé mes propres templates pour les pages qui rendent la maintenance du site plus facile. Mais comment cela ce fait-il que les différentes versions du site que j’ai pu faire aient toujours été nulles, moches, ennuyeuses voire plus souvent les trois en à la fois ? Bah… Je n’ai définitivement pas de talent artistique, et j’ai besoin d’une aide professionnelle dans ce domaine.

Je n’ai pas eu à chercher très loin : ma sœur est conceptrice graphique de profession et en quelques heures elle m’a conçu un site à des années lumière de ce que j’aurais pu faire en plusieurs semaines (voire mois, voire années… je n’ai tout simplement pas ce talent). Isa : merci pour ta générosité et pour avoir partagé ton talent !

Promotion, marketing, relations publiques, publication

Ok ! Le projet est vivant, il a un beau site web, beaucoup de documentations et des forums d’aide. Mais à quoi bon, si personne n’est au courant ?

C’est là que le concept de promotion d’un projet entre en jeu. Comment est-ce que cela marche ? Je ne pense pas que cela soit un secret : on doit savoir quel contenu les rédacteurs aiment lire. Cela prend du temps, il faut faire des essais, des erreurs, trouver les bons canaux de communication, et parfois … être courageux et audacieux. Vous ne saurez jamais si la grande nouvelle sur votre projet peut être publiée, tant que vous ne l’aurez pas soumise à ceux dont le métier est de publier ce genre de chose.

Voici quelques-uns des canaux de communications avec lesquels j’ai eu du succès :

  • Les magazines en ligne;
  • Les blogs;
  • Les sites qui traitent de technologie;
  • Les web-séminaires;
  • Les présentations que j’ai effectuées moi même.

Je ne saurais trop insister sur combien ce travail de promotion permet à un projet de décoller et de faire la différence, et ce à tous les niveaux.

Très chers éditeurs en ligne et journalistes, merci pour le travail épatant que vous faites en écrivant sur les gens, la technologie et l’Open Source. Je vous aime également.

Remerciements

Je tiens à remercier :

  • Toi, très cher lecteur, de m’avoir lu jusqu’ici ;
  • Tous ceux qui travaillent ou contribuent aux logiciels Open Source. Garder la flamme vivante !
  • Tous ceux qui utilisent l’Open Source. Sans vous les gars, il n’y aurait rien à utiliser.

Restez à l’écoute…

Notes

[1] Merci à GaeliX et Siltaar pour la traduction Framalang. Choix a été fait de conserver tout du long l’expression Open Source, conformément à l’article d’origine.

[2] Crédit photo : Got milk? par OLD SKOOL Cora sous licence Creative Commons By-Nc-Sa.




Le débat sur Windows Vista et MS Office 2007 à l’école aura-t-il lieu ?

Alessandro Pucci - CC byLe Becta (British Educational Communications and Technology Agency) est une agence du Department for Children, Schools and Families du Royaume-Uni qui n’a pas d’équivalent en France[1]. Il fait office d’organe principal du gouvernement britannique pour la stratégie et le développement des technologies de l’information et de la communication pour l’éducation (TICE) auprès duquel il joue un rôle de conseil et de prescripteur.

En janvier 2008 le Becta publiait une étude détaillée sur Windows Vista et MS Office 2007. Avec son aimable autorisation, Framasoft vous en propose aujourd’hui sa traduction intégrale dont vous trouverez de larges extraits dans ce billet.

Pourquoi avons-nous pris le temps et le soin d’effectuer (bénévolement et collectivement) un tel travail[2] ?

  • Parce que nous sommes en présence d’un document dense, rigoureux et objectif, qui émane d’un organisme officiel et non d’un repaire de « libristes intégristes » comme le Framablog 😉
  • Parce que ce document n’est pas une énième pièce à charge contre Microsoft mais une étude pragmatique qui tente d’évaluer les conséquences de l’adoption de Vista et MS Office 2007 dans le contexte scolaire pour en tirer de justes recommandations.
  • Parce qu’au délà de Microsoft, ce rapport passe en revue quelques questions majeures que tout acteur du monde éducatif un tant soit peu impliqué dans les TICE devrait se poser. Parce que, enseignants, administrations, collectivités, parents d’élèves, etc. nous estimons qu’il en va de la responsabilité de chacun de se positionner sur ces questions et de faire ses choix en toute connaissance de cause.
  • Parce qu’en France, le Ministère de l’Education n’a pas jugé opportun de mener une telle étude et ne communique pas sur le sujet. Nous ne comprenons pas un tel silence. Nous pensons a contrario que ces questions sont d’importance et que les conditions d’un véritable débat sont réunies.
  • Parce que Microsoft se montre en ce moment très entreprenant à l’école. Dernier exemple en date : La mise à disposition gratuite de MS Office pour tous les enseignants. Lisez le rapport et vous comprendrez aisément le pourquoi du comment d’un tel « cadeau ».
  • Parce que plus nous serons nombreux à être informés et vigilants et plus nous aurons de chance de voir Microsoft modifier non pas ses prix mais ses pratiques. Dernier exemple en date : L’annonce de l’intégration du format ODF dans MS Office 2007 pour le premier semestre 2009, dont « Microsoft assure que sa décision n’est pas liée à la récente plainte déposée auprès de Bruxelles par l’agence gouvernementale britannique Becta » (source ZDNet).
  • Parce que tout comme le Becta nous ne sommes pas convaincus par la pertinence du format OOXML de Microsoft dont la récente standardisation ISO a posé plus de questions qu’elle n’en a résolues.
  • Parce que s’interroger sérieusement sur l’opportunité de Windows Vista et de MS Office à l’école amène à évaluer sérieusement les alternatives que proposent les logiciels libres.
  • Parce que nombreux sont les éléments exposés ici pour l’école qui valent également en dehors de l’école.
  • Parce qu’il n’y aucune fatalité à voir notre école accepter passivement une situation qui la voit simultanément dépenser inutilement ses deniers publics et prendre le risque de devenir toujours plus dépendante d’un unique éditeur de logiciels (et de formats) propriétaires. Parce que, sauf cas particuliers, les raisons qui la poussent à adopter aujourd’hui Windows Vista et MS Office 2007 ne résistent pas à l’analyse. Parce que, osons l’expression, nous ne souhaitons pas qu’elle vienne nous dire dans quelques années qu’elle ne savait pas.
  • Parce qu’il n’est pas trop tard et que nous y voyons un prétexte à enfin lancer un véritable débat en France. Parce qu’avec la magie d’internet (comprendre votre soutien et votre relai) nous avons l’espoir de sortir de notre communauté pour toucher un maximum de monde, décideurs scolaires et politiques inclus.
  • Parce que nonobstant la technicité du sujet, ce rapport demeure fort agréable à lire (si, si, je vous assure).

C’est pourquoi nous vous invitons à parcourir ce document[3], à l’évaluer pour éventuellement le partager, le diffuser (sites, blogs, listes, mails…), le rendre disponible en salle des professeurs, l’évoquer avec les enseignants de vos enfants, en parler autour de vous, etc.[4]

La période, proche des vacances, est peu propice, mais on se retrouvera à la rentrée. Et en attendant nous proposons à tous ceux qui voudraient porter ce débat avec nous de s’inscrire à une liste de diffusion spécialement créée pour l’occasion[5].

Quand bien même nous serions en phase avec les recommandations du rapport Becta, nous ne souhaitons pas vous convaincre de la pertinence de son contenu. Nous souhaitons simplement que les arguments avancés ici soient enfin discutés sérieusement sur la place publique, sachant que l’éducation nous concerne tous.

Merci de votre attention et bonne lecture…

Télécharger la traduction du rapport Becta (PDF, 370 Ko, 38 pages)

PS : Il sera beaucoup question de cette traduction lors de mon intervention intitulée « Windows Vista, accélérateur du Libre à l’école ? » qui aura lieu aux prochaines Rencontres Mondiales du Logiciel Libre de Mont de Marsan, le jeudi 3 juillet à 16h.

Notes

[1] Crédit photo : Alessandro Pucci (Creative Commons By)

[2] Cette traduction est une œuvre collaborative (et de longue haleine) de notre groupe de travail Framalang. Qu’ils en soient tout ici remerciés comme il se doit et tout particulièrement Olivier, GaeliX, Bruno, Daria, Burbumpa et enfin Vincent Lozano pour la mise en forme.

[3] Si vous manquez un peu de temps, vous pouvez retrouver de larges extraits du rapport dans ce billet.

[4] Si vous pouviez en profiter pour éventuellement évoquer au passage l’existence de Simple comme Ubuntu et Changer pour OpenOffice.org, deux livres libres de notre collection Framabook qui nous semblent être liés au sujet, nous vous en serions forts reconnaissants. Sur ce modèle, et en partenariat avec notre éditeur In Libro Veritas, nous pourrions du reste proposer une version livre du rapport si le besoin s’en faisait sentir.

[5] Pour s’inscrire à la liste de discussion et porter ce débat avec nous, il suffit d’envoyer un mail à rapport-becta@framasoft.net.




Et pendant ce temps là à Jalapa…

Séquence évasion avec ces quelques photos d’une récente installation de la toute dernière version de GNU/Linux Ubuntu, la 8.04 du Hardy Heron, dans un village du Nicaragua.

Une (courte) traduction signée GaeliX pour Framalang.

Ubuntu - Nicaragua

Parier sur l’avenir

Bet on the future

Blog comuNIdad – 19 juin 2008

Jalapa est une commune du département de Nueva Segovia, Nicaragua, située près de la frontière avec le Honduras.

Ubuntu - Nicaragua

Jalapa est une région très pauvre et a été une de celles qui ont le plus souffert de la guerre civile dans les années 80.

Aujourd’hui, le gouvernement local fait un pari sur l’avenir en migrant toutes ses stations de travail et ses serveurs vers des logiciels libres et en particulier vers Ubuntu Linux.

Ubuntu - Nicaragua

C’est une occasion unique de réduire la fracture numérique et d’amener le progrès dans les zones rurales. Un grand merci à l’équipe locale Ubuntu d’avoir travaillé dur pendant plusieurs mois pour faire de cette initiative une réalité.

Ubuntu - Nicaragua




Le code issu de Venus est-il meilleur que celui de Mars ?

LoosePunctuation - CC byLe code informatique écrit par des femmes serait-il plus « utile » que celui des hommes ?

C’est en tout cas ce qui ressort de ce récent article d’un blog du Wall Street Journal.

Il serait en effet mieux documenté et par là-même plus facilement exploitable par d’autres développeurs[1].

L’occasion d’évoquer aussi peut-être dans les commentaires la problématique de l’écart des sexes dans le secteur informatique en général et dans la communauté du logiciel libre en particulier…

Les hommes écrivent du code provenant de Mars, et les femmes du code plus utile venant de Vénus.

Men Write Code from Mars, Women Write More Helpful Code from Venus

Rebecca Buckman – 6 juin 2008 – The Wall Street Journal
(Traduction Framalang : GaeliX et Burbumpa)

Nous savons tous que les hommes détestent demander leur chemin. Apparemment, ils détestent tout autant indiquer les directions dans le code informatique.

Emma McGrattan, première vice-présidente en ingénierie de la société Ingres spécialisée en bases de données, l’une des femmes développeuses les plus cotées de la Silicon Valley, insiste sur le fait qu’hommes et femmes ne codent pas de la même façon. Les femmes sont plus sensibles et plus attentives à ceux qui pourraient utiliser leur code ultérieurement. Elles parsèment leur code, vous savez, ces lignes d’instructions qui donneront naissance à d’astucieuses applications et programmes, de commentaires et consignes, expliquant avec précision pourquoi elles ont écrit leur code de cette façon là.

Le code devient alors une sorte de « feuille de route » pour ceux qui voudraient le modifier ou l’étendre par la suite, ajoute McGrattan, irlandaise de souche ayant rejoint Ingres en 1992.

Les hommes, d’un autre côté, n’ont pas les mêmes motivations. Souvent, « ils essayent de montrer combien ils sont intelligent en produisant du code cabalistique » dit-elle sur le blog Business Technology. « Ils essayent de dissimuler des choses dans le code », et ne laissent pas de consignes claires pour les futurs utilisateurs. McGrattan se targue de pouvoir, dans 70% à 80% des cas, déterminer à partir d’un morceau de code s’il a été écrit par un homme ou par une femme.

Par souci de rendre le code d’Ingres plus facile à utiliser et dépourvu de genre sexuel, McGrattan a aidé à la mise en œuvre de nouveaux standards de programmation au sein de la société. Elle demande aux développeurs d’inclure un certain nombre de commentaires précis avant chaque portion de code, expliquant ce que chacun fait et pourquoi; les développeurs doivent aussi fournir un historique détaillé de chaque changement effectué. Ces règles s’appliquent aussi bien aux employés d’Ingres qu’aux membres de la communauté Open Source qui participent au code des produits Ingres.

Il y a grand besoin de modifier le code à haute teneur en testostérone chez Ingres car seulement 20% des ingénieurs sont des femmes, précise McGrattan, la plupart d’entre elles ayant des postes liés à l’assurance qualité ou à l’adaptation à un nouveau pays et non à la programmation de haut vol.

Elle s’est donnée comme mission d’intéresser plus de femmes aux carrières dans le développement. Mais « cela s’avère très difficile » conclut-elle.

Notes

[1] Crédit photo : LoosePunctuation (Creative Commons By)




De Linux et de l’opportunité d’une synchronisation des distributions

Voici une traduction[1] un peu technique mais qui illustre bien la problématique de la démocratisation de GNU/Linux.

Elle fait suite à la proposition récente de Mark Shuttleworth (Monsieur Ubuntu) de synchroniser les cycles et donc les sorties des principales distributions Linux (outre Ubuntu il cite celles de Red Hat, Novell et Debian ainsi que le noyau, GNOME/KDE, X et OpenOffice.org). Histoire que tout ce petit monde avance groupés, ce qui d’après lui simplifierait la vie de tout le monde à commencer par celle des utilisateurs.

Mais Ryan Paul du site Ars Technica n’est visiblement pas tout à fait de cet avis. Au ce serait bien si… de Mark Shuttleworth il répond avec des arguments précis qui évoquent souvent le quotidien collaboratif d’un développeur de logiciels libres (en particulier tout ce qui touche à la gestion de versions). Et lorsque l’on est, comme moi, utilisateur mais non développeur de logiciels libres, c’est culturellement fort enrichissant.

On notera qu’à la suite de sa proposition et du vif débat suscité, Shuttleworth a précisé voire nuancé son propos quelques jours plus tard sur son blog.

Copie d'écran - Ars Technica

Pourquoi Linux n’est pas encore prêt pour des cycles de parution synchronisés

Why Linux isn’t yet ready for synchronized release cycles

Ryan Paul – 21 mai 2008 – ars technica

Le fondateur d’Ubuntu, Mark Shuttleworth a répété son appel aux développeurs des principaux logiciels libres et des distributions Linux pour une synchronisation des développements et des cycles de publication. Il avance que l’adhésion fidèle et universelle à un modèle de parution régulier encouragerait la collaboration entre les projets, assurerait aux utilisateurs l’accès aux dernières nouveautés des applications populaires et ferait de la plateforme Linux une cible plus stable et prévisible pour les vendeurs de logiciels.

Shuttleworth souhaite organiser les principales sorties en trois vagues distinctes, chacune formant un ensemble cohérent. La première vague concernerait les composants fondamentaux comme le noyau Linux, le compilateur GCC, les boîtes à outils graphiques comme GTK+ et les plateformes de développement comme Python et Java. La deuxième vague apporterait les environnements graphiques et les applications tandis que la troisième vague serait composée des distributions.

Bien qu’un cycle de sortie unifié rendrait plus aisée la création d’une distribution Linux, ce concept apporte d’importantes difficultés et n’est que peu gratifiant pour les développeurs de logiciels. Pour parvenir à une synchronisation à grande échelle comme Shuttleworth le souhaite, certains logiciels libres devraient radicalement changer leur modèle de développement actuel et adopter une nouvelle approche qui ne sera pas viable pour nombreux d’entre eux.

Comprendre les cycles de sorties réguliers

Un cycle de sorties régulier nécessite de sortir de nouvelles versions à une fréquence donnée. Le processus de développement pour les projets qui emploient ce modèle implique en général une planification des fonctionnalités prévues et ensuite une implémentation maximale jusqu’à ce que le projet gèle le code lorsque l’échéance approche. À partir de ce moment là, les fonctionnalités qui ne sont pas terminées sont reportées. On se concentre alors sur la correction des bogues et sur l’assurance qualité jusqu’à la date butoir, quand le logiciel est officiellement sorti.

Ce modèle fonctionne bien pour de nombreux projets, en particulier pour l’environnement GNOME. Mais, une conséquence de ce modèle est que les développeurs doivent travailler par incrémentation et il décourage les modifications de grande ampleur, celles qui nécessiteraient plus de temps que n’en offre le cycle. Parfois cet intervalle n’est simplement pas suffisant pour ajouter au code principal et tester des changements d’architecture importants qui sont incubés en parallèle en dehors de l’arbre principal du code.

Quand cela se produit, les développeurs doivent se demander si les avantages de la nouvelle fonctionnalité compensent les effets néfastes de la régression (comme avec l’adoption de GVFS dans GNOME 2.22 par exemple). Ils doivent parfois décider de retirer des fonctionnalités à la dernière minute ou de repousser la date de sortie pour améliorer la stabilité. Ce sont des choix difficiles à prendre et, comme le reconnaît Shuttleworth lui-même, faire ces choix demande beaucoup de discipline.

Même si des cycles réguliers peuvent convenir à certains projets, tenter d’imposer l’adoption de cette approche à tous les projets et ensuite les faire correspondre universellement pourrait gravement endommager le processus de développement. Si les projets deviennent dépendants de la synchronisation, alors un retard à n’importe quelle étape aurait des conséquences sur toutes les autres étapes. Chaque projet subirait alors une pression énorme pour tenir les délais et ce serait néfaste pour le programme et ses utilisateurs finaux.

L’utilisation des branches pour faciliter des sorties régulières

D’après Shuttleworth, de bons outils, en particulier des systèmes de contrôle de version possédant de bonnes capacités de création de branches et de fusion, peuvent rendre ce problème obsolète. Il se réfère spécifiquement à Bazaar, un système de contrôle de version mis au point par Canonical qui s’intègre à la plateforme de développement Launchpad de l’entreprise. J’ai beaucoup testé Bazaar durant ces deux dernières semaines en cherchant des technologies de contrôle de version distribuées et je ne peux qu’être d’accord avec l’argument de Shuttleworth.

Bazaar rend très facile le portage du flot continu de petits changements, du tronc vers les branches, où les fonctionnalités importantes sont développées, afin que ces fonctionnalités puissent être fusionnées sans accroc dans la branche principale quand elles sont achevées. En utilisant cette approche, où la majeure partie du développement est faite dans des branches, le code du tronc est naturellement et systématiquement plus robuste qu’il ne le serait autrement. Shuttleworth va même plus loin encore et théorise que lorsque cette approche est employée en parallèle à des tests automatisés le code du tronc est toujours prêt à être sorti à n’importe quel moment.

« Un ensemble de tests complet vous permet d’être plus ouvert aux gros ajouts au tronc parce que les tests assurent les fonctionnalités que les gens ont avant l’ajout. Un ensemble de tests agit comme un champ de force, il protège l’intégrité du code dont le comportement était connu le jour précédent face au changement perpétuel. » écrivait ainsi Shuttleworth sur son blog.

« La plupart des projets que je finance maintenant ont adopté une politique de tests avant ajout. Les ajouts au tronc sont gérés par un robot qui refuse de valider l’ajout s’il ne satisfait pas à tous les tests. Vous ne pouvez pas discuter avec un robot ! Ce que je trouve beau là-dedans c’est que le tronc est toujours dans un état publiable. Ce n’est pas complètement vrai ; on peut toujours faire un peu plus d’assurance qualité avant de sortir quelque chose, mais vous avez cette garantie que l’ensemble de tests est toujours satisfait. Toujours. »

Les ensembles de tests et les très bons systèmes de contrôle de version peuvent simplifier le développement et améliorer la qualité du code, mais ils ne sont pas la panacée. Shuttleworth surestime largement la capacité de ces outils à pallier aux problèmes associés aux sorties régulières. Des bogues surgiront toujours quand de grosses nouveautés sont fusionnées au code existant et parfois ces bogues nécessitent un report de la date de sortie. Si les développeurs ne peuvent ou ne veulent pas faire cela, la qualité du logiciel s’en retrouvera forcément affectée.

Ubuntu 8.04 est le parfait exemple de la voie à ne pas suivre

Pas besoin de chercher très loin pour constater la baisse de qualité résultante d’un engagement sans compromis à un cycle de sorties régulières. Prenez l’exemple de la dernière version d’Ubuntu. Shuttleworth vante Ubuntu 8.04 comme l’exemple d’une gestion plus intelligente des sorties et soutient que cela démontre la capacité des développeurs à s’en tenir à un programme strict.

« 8.04 LTS représente pour nous un grand pas en avant dans notre conception de la gestion d’une sortie. Pour autant que je sache, jamais une sortie de cette envergure ne s’est faite exactement le jour prévu jusqu’à maintenant, dans le monde des OS propriétaires ou des OS libres. » commente Shuttleworth sur son blog. « Nous avons non seulement démontré que l’on peut préparer une version LTS dans les 6 mois impartis, mais cela prouve également que l’on peut s’engager par anticipation sur un tel cycle LTS. Félicitations aux preneurs de décisions techniques, aux responsables versions et à toute la communauté qui a calqué nos efforts sur le but fixé. »

Ubuntu 8.04, qui est parue le mois dernier, est une version avec support à long terme (LTS pour Long Terme Support), ce qui signifie qu’elle sera maintenue trois ans pour la version Desktop et 5 ans pour la version serveur. Depuis le début, Shuttleworth affirmait aux utilisateurs que la qualité et la fiabilité seraient les mots d’ordre pour la 8.04 et qu’elle serait faite pour durer. Malheureusement, la version n’a pas atteint ces objectifs et est sortie avec quelques bogues importants. Le problème le plus frustrant que nous avons relevé dans notre test d’Ubuntu 8.04 est la configuration défectueuse de PulseAudio, qui affecte à la fois les fonctionnalités audio et vidéo.

Un léger retard aurait permis de résoudre les problèmes de ce genre avant la sortie, mais ce n’est jamais arrivé, peut-être parce que l’engagement de faire la sortie à temps l’a emporté sur l’engagement de la qualité. Mais certains diront qu’une version défaillante n’est pas un problème parce que les bogues peuvent être réparés par des petites mises à jour après sa sortie.

« Les grands déploiements attendent la première ou la deuxième version consolidée de toute façon » fait noter Shuttleworth en réponse à un commentaire sur ton blog (NdT : La sortie de Ubuntu 8.04.1 est prevue pour le 3 juillet). Je me doute que je ne suis pas seul à avoir pensé aux Service Packs de Microsoft en voyant cette remarque. Mais une version officielle n’est-elle pas censée être un gage de qualité ? Si les sorties sont basées sur des jalons arbitraires posés sur une chronologie plutôt que sur une réelle amélioration, alors elles perdent leur sens ou leur pertinence pour les utilisateurs finaux.

D’autres approches

Les cycles de sortie devraient être flexibles et les développeurs devraient pouvoir en ajuster la durée pour qu’ils collent à leur activité. Selon les projets, la culture de développement et les buts peuvent être très différents, les stratégies de publication sont par conséquent différentes. L’appel de Shuttleworth en faveur d’une synchronisation reflète une forme d’incapacité à reconnaître la valeur et la profondeur de la diversité dans la communauté du logiciel libre. Des distributions qui visent des publics différents et qui ont des priorités différentes pourraient ne pas rentrer dans le même moule que les distributions généralistes comme Ubuntu. On retrouve également des logiciels libres multi-plateformes, comme le navigateur Web Firefox par exemple, qui réunissent beaucoup d’utilisateurs sur d’autres systèmes d’exploitation et qui peuvent avoir d’autres priorités que la fréquence de sortie des distributions Linux.

Je tiens à dire quand même que je ne rejette pas catégoriquement les idées de Shuttleworth. Même si je suis vraiment contre une approche descendante et centralisée de la planification des sorties synchronisées je pense qu’il y pourrait y avoir des bénéfices à tirer d’un meilleur alignement du calendrier de quelques distributions principales qui partagent déjà des buts, une technologie et une méthodologie similaires.

La simultanéité des sorties est déjà à l’ordre du jour (Fedora 9, Ubuntu 8.04 et OpenSolaris 2008.05 ont toutes vu le jour à quelques semaines d’intervalle) et je suis convaincu que de meilleurs résultats sont atteignables si on laisse cette tendance se développer d’elle-même. Encourager trop d’interdépendance créerait des risques sévères, on parle d’un domaine où une planification consciencieuse et un calendrier gravé dans la roche seraient à l’origine de plus de problèmes qu’ils n’en résolvent.

Aaron Seigo, développeur KDE, est l’un des détracteurs ayant exprimé des inquiétudes convaincantes et perspicaces au sujet de la proposition de Shuttleworth. Seigo met à plusieurs reprises en avant que le genre de synchronisation que souhaite Shuttleworth améliore l’efficacité d’intégration au dépend de l’efficacité des développeurs, une concession qu’il décrit comme contre-productive car c’est dans le développement que se trouve le richesse des logiciels.

« Mark parle de processus en flux tendu, mais seulement du point de vue de l’intégration ; il existe aussi des processus en flux tendu dans le développement et définir le cycle de développement à l’aune du cycle de sorties, surtout s’il n’est pas bon, érode la fluidité du flux de développement », écrit Seigo sur son blog. « Il ne faut pas oublier que c’est le processus de développement qui fait toute la valeur d’une distribution Linux. La distribution rend cette valeur accessible à grande échelle et crée un autre type de valeur ajoutée par-dessus (le support, le marketing, etc.) mais c’est le développement, pas l’intégration, qui est la source primaire de valeur. Il devrait alors être évident que le processus de développement n’est pas quelque chose qu’on peut prendre comme ça à la légère. »

Seigo propose une alternative qui faciliterait la synchronisation en aval sans nécessiter de synchronisation ou de chamboulement en amont. D’après lui, les distributions devraient gérer par elle-mêmes les sorties en créant leurs propres branches et en tenant compte des contraintes de leurs propres cycles.

« Puisqu’il y a cette volonté en aval pour des cycles de parution synchronisés… pourquoi est-ce que l’aval ne prendrait pas en charge les sorties ? Pourquoi attendre que les tarballs soient livrées devant leur porte pour mettre en place une équipe de publication ? » s’interroge Seigo. « Pourquoi ne pas demander à la communauté d’intégration (les vendeurs de systèmes d’exploitation en gros) de coordonner leur efforts pour créer une branche en vue d’une sortie à un moment donné, moment qu’ils définissent eux-mêmes, et travailler avec l’amont pour la stabilisation de cette branche ? Plutôt que d’espérer que l’amont fasse ce qu’ils désirent, pourquoi ne peuvent-ils pas regrouper un tas de gars des communautés de chez Novell, Red Hat, Debian, Mandriva, MacOS et Microsoft, de chez Canonical ou encore de chez n’importe qui qui voudrait s’impliquer et offrir un vrai processus sérieux de sortie par lequel l’amont pourrait s’intégrer naturellement ? »

Les suggestions de Seigo sont plus viables que les propositions de Shuttleworth. Elles permettraient aux distributions Linux de bénéficier des avantages pratiques de la synchronisation dont bénéficieraient également les utilisateurs finaux sans avoir à bouleverser ou synchroniser le développement en amont. Cela engendrerait cependant un coût additionnel et un défi nouveau pour les distributeurs et leur ferait porter le poids de la gestion des sorties. Seigo assure que si les distributeurs veulent vraiment des sorties synchronisées en aval autant que ça ils seront prêts à accepter cette charge supplémentaire et trouveront un bon moyen pour y parvenir.

Il est bien probable que cette discussion dure pendant encore quelques temps à mesure que les acteurs principaux pèsent le pour et le contre. La communication a déjà fait avancer le débat de bien des manières et a déjà fait émerger des alternatives attirantes et des variations de la proposition initiale. Le résultat final pourrait avoir des implications importantes sur la gestion des sorties par les logiciels libres et les distributions, mais pour l’instant aucune des idées proposées n’est suffisamment mature pour être appliquée à grande échelle.

Notes

[1] Traduction : Olivier – Relecture : Daria – Café : Framalang.