USB PenguinIl y a de cela 2 mois, j’évoquais les perspectives 2009 du projet Framakey et notamment le projet de mise en oeuvre d’une clé bootable avec un système GNU/Linux dessus. Ce projet - nom de code FramaGNU[1] - dont la sortie officielle est prévue pour les incontournables Rencontres Mondiales du Logiciel Libre (juillet), a suivi un parcours un peu particulier ces derniers mois.

Rappelons que, dans les grandes lignes, ce projet vise à produire une application à destination de l’utilisateur final (Tata Jeannine) souhaitant créer une clé USB contenant non seulement la Framakey, mais aussi un système GNU/Linux bootable avec « disque persistant ».

Ce dernier point est important, car cela permet de mettre à jour le système ou les applications sur la clé (par exemple, si vous installez un nouveau logiciel depuis cette « Live USB », vous le retrouverez au prochain démarrage). Cela différencie FramaGNU du projet UnetBootIn par exemple, qui ne propose pas la création de disque persistant (et dont l’interface est loin d’être « end-user »).

Il existe depuis plusieurs mois un outil intégré à Ubuntu permettant de réaliser une telle clé. Malheureusement, cet outil n’est accessible que depuis Ubuntu, ce qui est un frein pour les utilisateurs qui ne sont pas vraiment à l’aise avec l’informatique : il faut télécharger l’image disque (fichier .iso) d’Ubuntu (« Pourquoi on me propose Ubuntu ou Kubuntu ? c’est quoi le 64bits ? » etc), la graver (qui n’a jamais entendu la phrase « j’ai bien gravé mon fichier .iso sur mon CD, mais je n’arrive pas à l’ouvrir ! » ?), lancer le CD (avec la difficulté de devoir potentiellement modifier la séquence de boot), pour enfin créer la clef USB et redémarrer dessus. Un peu compliqué pour Tata Jeannine, non ?

Le mois de mars ayant été essentiellement consacré aux développement des WebApps, c’est à dire d’applications web portables comme PortableDrupal ou PortableWordpress, le projet FramaGNU était un peu resté de côté.

Devant quitter mon fief lyonnais pour y rencontrer l’équipe Ubuntu-FR au salon Solutions Linux début avril, je me penchais à nouveau sur le projet afin de voir s’il était possible de développer rapidement quelque chose prouvant qu’il était techniquement possible de créer un Live USB Ubuntu avec disque persistant sans quitter Windows. C’est d’ailleurs ce que propose le projet Fedora Live USB Creator, dont je me suis largement inspiré.

Après 3 jours, une nuit, et une compilation dans le train pour Paris, j’ai donc publié la première version alpha de la FramaGNU. La démo a eu son petit succès sur le salon. Mais le jour même, on m’a fait la remarque « Tiens, ton truc, ça me rappelle uSbuntu. ».

Et là, c’est le drame du développeur ! Autant j’avais cherché à voir comment raccrocher les wagons avec Fedora Live USB Creator (en Python, mais avec une structure peu adaptée au projet) ou UnetBootin (en C++, que je ne maitrise malheureusement pas), autant mes recherches de projets similaires ne m’avaient pas orientées vers le projet uSbuntu. Bref, je venais de passer 4 jours à réinventer la roue sans le savoir…

Sur le site web d’uSbuntu, on peut lire :
uSbuntu Live Creator est un logiciel gratuit pour Windows qui permet de créer une clé USB bootable avec Ubuntu 8.10 ou 9.04 dessus. Ce logiciel offre aussi une option inédite de virtualisation permettant de lancer Ubuntu directement dans windows et cela sans configuration ni installation.

En plus de proposer une interface Playskool-like bien moins geek que la mienne, ce bougre de projet existe depuis plusieurs mois (donc il est potentiellement plus stable), et propose d’intégrer une machine virtuelle portable (permettant de faire tourner Ubuntu dans une fenêtre Windows, sans rebooter, et sans trop de pertes de performances).

D’abord, une petite vidéo de la simplicité d’uSbuntu :

—> La vidéo au format webm

Ensuite, une vidéo d’Ubuntu dans la machine virtuelle portable :

—> La vidéo au format webm

Je me raccrochais alors à l’idée que je n’avais pas perdu mon temps, puisque uSbuntu n’était pas sous licence libre (CC by-nc-nd, là ou FramaGNU était sous licence GPL), qu’il ne proposait de créer que des versions Live d’Ubuntu (alors que je prévoyais le choix de l’OS : Ubuntu, Fedora, Mandriva, etc) et surtout que les clauses Creatives Commons ne me permettraient pas d’y greffer le téléchargement optionnel de la Framakey (ce qui est quand même mon objectif de départ).

Mais quand même, quelle frustration de devoir refaire un logiciel alors que celui d’à côté fait quasiment la même chose en mieux ! Je sais qu’il y en a qui trouvent cela distrayant, mais ce n’est pas vraiment mon cas : si je développe un logiciel libre, c’est pour répondre à un besoin non satisfait, pas pour me faire plaisir (d’où le fait que je sois un mauvais développeur, d’ailleurs).

A la lecture des commentaires sur son blog, le développeur - un jeune français - me parut malgré tout sympathique (comme quoi je ne suis pas rancunier !). Je me décidais donc à lui envoyer un message sur le forum d’Ubuntu-FR lui demandant, en gros, s’il serait d’accord pour libérer son logiciel. Après quelques échanges par email sur les implications, le choix de licence, et autres détails, sa réponse fut positive !

Je tiens donc ici à remercier Slym, le développeur d’uSbuntu, car je sais que la première libération d’un logiciel ne se fait jamais sans crainte (après, la question ne se pose plus tellement cela paraît naturel). Il fait ici preuve de courage (et à mon avis de bon sens), et j’espère sincèrement qu’uSbuntu, dont la prochaine version (1.6) sera sous GPL v3 prendra une toute autre ampleur. En tout cas, en ce qui me concerne, je suis tout à fait prêt à travailler sur ce projet et à lui apporter des fonctionnalités supplémentaires (multi-distributions, optionnalité de la Framakey, promotion sur Framasoft et Framakey, etc).

Dans les semaines qui viennent, vous verrez donc apparaître de nouvelles versions d’uSbuntu (renommé LInux LIve Creator pour l’occasion) avec des améliorations et développements communautaires.

Quelles leçons pouvons nous tirer de cette histoire ?

Première leçon : il est souvent reproché aux logiciels libres d’être « redondants », que cela soit avec des logiciels propriétaires, et souvent même avec d’autres logiciels libres (combien existe-t-il de CMS libres ?). Il est parfois difficile de faire comprendre qu’il n’est tout simplement pas souhaitable - ni conforme à l’esprit du libre - de rallier toutes les forces derrière un même produit. L’une des forces du libre est dans sa remise en cause permanente vis à vis de l’écosystème qui l’entoure qui, couplé à la transparence et au partage du code source, pousse nécessairement le logiciel à répondre de façon plus efficace au besoin d’un public. A contrario, il est parfois plus efficace de voir comment intégrer un projet existant pour y apporter sa pierre, plutôt que de réinventer la roue dans son coin (d’où mon « abandon » de FramaGNU). Tout est question d’équilibre.

Seconde leçon : ne jamais, jamais, hésiter à contacter un développeur de logiciel (ou tout autre type de ressources) propriétaire afin de lui demander s’il a envisagé de passer son contenu sous licence libre. Plus nous serons nombreux à effectuer cette démarche, plus nous pourrons expliquer, apaiser les craintes, proposer des solutions (juridiques, techniques, organisationnelles, etc.). Bien entendu, beaucoup (la plupart ?) refuseront, mais beaucoup accepteront. Peut être parce qu’ils avaient des idées reçues sur le libre, peut être parce qu’ils en méconnaissent les mécanismes, mais plus probablement parce que, tel la plupart des musiciens et artistes, le développeur de logiciel souhaite avoir face à lui des utilisateurs reconnaissants, satisfaits, et prêts à partager de l’enthousiasme et de l’énergie. Bref, des utilisateurs impliqués.

Notes

[1] Oui, bon, c’est un nom de code, quoi…