Gnou

Le Blog de Thomas

Logiciels libres, informatique et autres ...

Un électron libre


Depuis mars 2005, je travaillais dans la société Seanodes, à Colomiers, en tant qu'ingénieur R&D, mais depuis le 21 janvier, je suis maintenant un électron libre, je travaille pour la société Free Electrons. L'occasion de faire un petit retour sur ce que j'ai fait à Seanodes (ce que je n'ai jamais évoqué ici) ainsi que sur ce qui m'attend au sein de Free Electrons.

Seanodes


Seanodes développe un logiciel de virtualisation de stockage pour les clusters de calcul. Pour résumer en quelques phrases, l'idée est d'aggréger tous les disques des différents noeuds d'un cluster pour constituer un stockage virtuel performant, scalable et tolérant aux pannes. Une sorte de LVM/RAID, sauf que les données ne sont pas réparties sur des disques locaux, mais sur des disques distants, et que la tolérance aux pannes doit être gérée puisque des noeuds peuvent subitement tomber en panne alors que l'on souhaite conserver la disponibilité des données stockées. Tout cela est uniquement géré de façon logicielle, avec un logiciel plutôt compliqué : les problématiques de distribution et de tolérance aux pannes sont plutôt ardues.

Pour ma part, j'ai principalement travaillé sur le composant de virtualisation, un module en mode noyau qui propose à l'espace utilisateur un périphérique bloc et qui derrière va gérer le placement des données sur les différents disques du cluster, gérer la création/destruction de volumes, la réplication, la reconstruction et bien d'autres choses. Il s'agit d'un composant relativement complexe d'environ 30.000 lignes de C en mode noyau (si mes souvenirs sont bons) sur lequel nous travaillions à deux. Avec autant de lignes de code dans le noyau, j'ai eu l'occasion de bien me frotter au développement de module noyau et surtout à leur déboguage. En dehors de l'aspect mode noyau, la difficulté de ce composant était le déboguage des corruptions de données sur disque, surtout quand elles se produisent seulement après plusieurs heures ou plusieurs journées de tests intenses. Il m'est arrivé de passer plusieurs semaines voire mois avec des collègues pour trouver l'origine d'une corruption de données. Valérie Henson parlait d'ailleurs de ce sujet il y a quelques temps sur son blog.

Malheureusement, il n'est pas vraiment possible d'en dire beaucoup plus sur le fonctionnement du produit : l'entreprise a choisi de fonctionner selon le modèle traditionnel du logiciel propriétaire. Pour un ingénieur, fan de Logiciel Libre, d'ouverture et de collaboration, ne pas pouvoir montrer, expliquer, exposer ce que l'on fait est frustrant. J'ai eu beau travailler sur des choses complexes pendant ces quelques années, rien n'est visible de l'extérieur : pas de code source, pas de présentation lors de conférences techniques type Linux Symposium. De ce point de vue, le monde du Logiciel Libre a un grand plus : le travail d'un ingénieur est visible de tous et constitue ensuite une très bonne carte de visite pour évoluer vers d'autres sociétés. Il ne faut pas se voiler la face : une part de la motivation pour travailler sur du Libre peut être de nature éthique ou philosophique, mais il y a également une grande part de motivation liée à la reconnaissance par les pairs, à la reconnaissance du travail accompli et de son (éventuelle) qualité. Travailler en mode ouvert, c'est de mon point de vue aussi un moyen d'attirer des ingénieurs vers son entreprise et vers son projet, et surtout de fidéliser leur implication dans le projet et l'entreprise (sans parler du levier marketing de la communauté pour répendre un produit sans effort commercial ou de la possibilité d'avoir des contributeurs et testeurs extérieurs, etc.).

Pour revenir à ce que j'ai fait à Seanodes, en plus de ce module noyau de virtualisation, j'ai également contribué, plus modestement, à quelques autres morceaux du logiciel. Enfin j'ai eu, en collaboration avec un ancien collègue, le rôle de leader technique à partir de janvier 2006 et jusqu'à l'annonce de mon départ. Un rôle très intéressant et très formateur, mais qui s'est révélé beaucoup plus difficile à jouer que ce que j'imaginais, pour de multiples raisons. Après presque trois ans à Seanodes, une autre opportunité s'est présentée, dans le monde du Logiciel Libre justement, et après une longue phase de réflexion, je me suis décidé à changer.

Free Electrons




Depuis le 21 janvier, je travaille donc pour Free Electrons, une société fondée en 2004 par Michael Opdenacker, que j'ai rencontré au cours de conférences sur le Logiciel Libre. La société propose des formations et du service/conseil dans le domaine de Linux et des Logiciels Libres pour l'embarqué. Michael Opdenacker était jusqu'ici seul dans la société, mon arrivée augmente donc de 100% les effectifs de celle-ci.

Aujourd'hui, la principale activité de la société est principalement liée aux formations, avec notamment une formation plutôt complète sur l'utilisation de Linux et de Logiciels Libres dans l'embarqué, mais nous souhaitons maintenant développer l'activité de conseil et services (développement de pilotes, portage du noyau Linux, mise à jour de pilotes, intégration dans la version officielle du noyau, développement d'un kit de développement intégrant le nécessaire pour faire fonctionner une plateforme, du noyau jusqu'aux bibliothèques graphiques, etc.). Je suis donc disponible pour vos projets dans le domaine de l'embarqué, n'hésitez pas ! :-)

Un choix intéressant réalisé par Michael Opdenacker est de publier tous les supports de formation sur le site, en les distribuant sous une licence libre (Creative Commons BY-SA), que ce soit les cours ou les instructions pour les travaux pratiques. Cela présente plusieurs avantages : les clients potentiels peuvent se faire une idée très précise du contenu des formations, les supports transmettent une partie des connaissances même à ceux qui ne peuvent pas participer aux formations, réception de contribution et de traduction et surtout, ils sont un puissant moyen de faire connaître les formations proposées par la société. Cette distribution sous licence libre est clairement gagnante-gagnante, pour les clients potentiels, pour les visiteurs et pour la société. C'est un aspect que j'apprécie beaucoup dans la stratégie de Free Electrons : se baser sur l'ouverture pour fonctionner. Ainsi, au delà des supports, même les fiches d'évaluation des formations, remplies par les participants sont publiées en ligne, en toute transparence.

En ce qui concerne mon poste, sa description est toujours en ligne sur le site de Free-Electrons. En gros, mon travail se décompose en trois parties :




Comme ce nouveau travail est complètement orienté vers le Logiciel Libre et l'ouverture, j'aurai, je l'espère, beaucoup plus souvent l'occasion de relater ce sur quoi je travaille sur ce blog. J'aurai donc l'occasion dans un prochain billet de raconter un peu mes six premières semaines de travail à Free Electrons, qui ont été déjà très actives !
Il y a 3 commentaires sur cette page. [Afficher commentaires/formulaire]