Interview Trem

22 octobre 2009

début 22h45 – fin 00h28

licence : CC-BY-SA



Glossaire :
package / packageur : paquet / personne qui fabrique les paquets que l'on installe
noyau / kernel RT : noyau temps réel
Mandriva : distribution
RPM : format de paquet pour Mandriva (RedHat aussi)
cooker : version de développement de Mandriva
repository svn : répertoire du svn
svn : développement du logiciel
lkml : linux kernel mailing list
(ndr) : note de rédaction


Cette interview se fait dans le cadre d'une interview tri-partite :
  • trem : packageur du noyau RT pour Mandriva
  • jkacur : kernel RT rémunéré par RedHat
  • tglx : mainteneur officiel du noyau RT

Ce triptyque permettra d'avoir une vision globale de la chaine du noyau RT jusqu'à l'utilisateur final .

...page... Wiki Pagination has not been enabled on this site.

Présentations

olinuxx : Je suis Olivier , 29 ans , musicien (batteur, batucada, ...) un peu de guitare et de chant aussi , prof de musique . J'aime développer des ateliers dans mes cours car l'énergie d'un groupe est intéressante et puis ça fait moins cher pour chacun (la musique coute cher dans nos contrées) . Je suis de Nancy 54 , je me suis mis à GNU/Linux et à la MAO il y a 6/7 ans , je modère la liste FR d'Audacity, traduit son site web aussi et bosse pas mal sur LinuxMAO . Je vais commencer à faire des conférences/présentations de MAO sous GNU/Linux . À terme, je veux que ce soit une partie de mon boulot (ie: que ça me rapporte un peu d'argent pour pouvoir m'acheter des steaks chez le boucher qui n'est pas sous licence libre , lui).

trem : Je suis trem (Philippe dans la vie) , 33 ans , informaticien (informatique industrielle) . J'ai fais des études d'informatique à la fac et j'ai un doctorat en informatique . Je suis sous GNU/Linux depuis des années, en fait, je ne sais plus. Je sais juste que j'ai le numéro 1 de linux mag ! Et sur mon temps libre, je suis contributeur Mandriva . Je ne suis absolument pas musicien , ni de près, ni de loin , je n'ai même pas l'oreille musicale ! Ni de culture musicale , et je n'écoute pratiquement jamais de musique , juste la radio dans la voiture.

olinuxx : Quel est ton intérêt pour maintenir (entre autres) le noyau RT pour Mandriva ?

trem : Mon travail est développeur embarqué et temps réel , je me suis donc intéressé au temps réel sous GNU/Linux et j'ai fini par participer au packaging de ce kernel.

olinuxx : Ok, donc j'ai une question générale : quelles sont les applications autres que la MAO pour le noyau RT ?

trem : Je vois 2 types d'applications :
- l'industrie (genre mon travail, c'est à dire, des bancs de test, .....)
- la MAO (que je ne présente pas)

olinuxx : Peux-tu développer un peu sur le type "industrie" ? Concrètement, ça peux servir à quoi ?

trem : Ça sert lorsqu'une application doit être prédictible . Par exemple, sur un banc de test, on fait des acquisitions sur des cartes de différents types pour vérifier que l'équipement que l'on teste fonctionne correctement . Il est nécessaire de faire ces acquisitions régulièrement et avec le plus de précision possible, le temps réel est donc nécessaire.

olinuxx : Sans dévoiler le secret professionnel, peux tu me dire sur quoi tu travailles actuellement ?

trem : Ce sont des bancs de tests pour l'aéronautique , cela permet de tester des composants d'avion avant de mettre un pilote dans l'avion !

olinuxx : Ok, on peut donc dire que le noyau Linux-RT est utilisé dans/pour l'aéronautique , zone industrielle très hi-tech ?

trem : En fait, je ne connais pas les systèmes "internes" de l'avion . Je développe des outils de test (banc de test) qui sont ensuite livrés au client qui les utilise.

olinuxx : Ok, revenons au noyau RT : en quoi consiste le travail que tu effectues pour packager le noyau RT pour Mandriva ? Qu'est-ce que le packaging ?

...page... Wiki Pagination has not been enabled on this site.

C'est quoi le packaging ?

trem : Ça consiste "juste" à créer un RPM pour le kernel-rt , c'est a dire à le compiler et à créer un RPM qui permettra aux utilisateurs de l'installer sans soucis (et de le désinstaller proprement aussi) .

olinuxx : Comment fais-tu cela ? Quelles options ? Quelles librairies/dépendances ? Quels tests ? Fais-tu cela seul ? ... Ce que je voudrais, c'est un survol technique de la création d'un paquet comme celui là qui doit correspondre à un maximum d'utilisateurs malgré un nombre d'options importants .

trem : Pour créer un RPM, il faut les sources du programme que l'on package et ensuite, il faut un fichier .spec . Ce fichier .spec indique comment compiler le programme, et ensuite où l'installer sur le système. La configuration du kernel-rt est faite en suivant 2 principes : mettre un maximum de pilotes en module et ne pas alourdir le kernel avec les options de debug (ndr: option qui active des logs supplémentaires afin de savoir d'où viennent les éventuels problèmes), et donc de ne garder que celles qui sont très intéressantes ou pas du tout pénalisantes sur les performances . Par exemple, il y a les options qui permettent de faire fonctionner powertop et systemtap. Il y a très peu de dépendances, c'est le kernel, c'est la base du système, il y a seulement des outils du style : module-init-tools, mkinitrd, ...
Les tests sont assez simples : je compile le kernel sur une cooker 32 bits, je l'installe, et je boote dessus pour tester qu'il fonctionne bien puis, je le teste un peu en chargeant le système et en exécutant cyclictest en même . Cyclictest est un outil qui mesure la latence du kernel . Plus elle est petite mieux c'est . Si le kernel passe tous ces tests, je recommence en 64 bits . Si les tests passent , je "pousse" le RPM sur le repository svn de Mandriva et j'utilise le "build system" qui est un ensemble de scripts chez Mandriva qui compile les RPM à partir du svn et qui met les rpm sur les dépôts . C'est-à-dire que le RPM devient disponible sur les dépôts (serveur ftp de Mandriva). Bien entendu, ceci n'est fait que sur la version de développement de Mandriva, que l'on appelle la cooker . Une fois qu'une version dite stable est sortie (2009.1 par exemple), on ne change plus de version des programmes et donc du kernel-rt . Les seuls changements seront des corrections de bogues.

olinuxx : Que deviennent-ils les RPMs quand ils sont dans cooker ? Y'a t-il un cycle de tests prévu?

trem : Je fais les tests avant de publier les RPM, il n'y a pas d'autre cycle de tests. Il peut y avoir des rapports de bogues des utilisateurs, mais c'est tout . Je me suis aussi fixé comme règle de ne packager que les versions officielles du kernel-rt donc, seuls les kernel-rt publiés par "tglx" sont packagés . Ceci amène une assez grand confiance dans les kernel-rt , il n'y a aucun patch additionnel au kernel-rt (juste kernel vanilla + patch rt) . Seulement un patch de Mandriva permettant l'utilisation de dkms et il ne patche pas vraiment le kernel, mais un makefile. Si un patch est mis dans le kernel-rt, c'est un patch récupéré sur la lkml ou la list de diffusion du kernel-rt et c'est en attendant que ce patch soit intégré officiellement . C'est donc temporaire . Il n'y aucun employé Mandriva qui travaille sur le kernel-rt donc aucun patch pour ce kernel n'est réalisé .

olinuxx : Tout ce travail, tu le fais seul ? Cela t'oblige donc a un travail de veille sur le noyau linux et le noyau-RT, combien de temps cela te prend-t'il ?

trem : Sur le packaging de ce kernel, je suis seul . Initialement, nous étions 2 à gérer le kernel-linus et le kernel-rt , tmb et moi , maintenant, tmb s'occupe du kernel-linus et moi du kernel-rt ; donc oui, il y a un travail de veille sur le kernel-rt qui consiste à lire la liste de diffusion du kernel-rt et être présent sur le canal irc #linux-rt de freenode . Tmb est un contributeur qui fait partie de l'équipe kernel de Mandriva . Il contribue au noyau officiel de Mandriva, au kernel-linus, au kernel-netbook et au kernel-tmb . Son vrai nom est Thomas Backlund .

olinuxx : C'est un officiel ? Est-il payé par Mandriva ?

trem : Non, c'est un contributeur donc il n'est pas payé par Mandriva .

olinuxx : Tu veux dire que Mandriva ne paie pas un mainteneur officiel pour le kernel ? C'est plutôt sensible le kernel pour un système d'exploitation ...

trem : Oui, tu peux voir ici ( http://wiki.mandriva.com/en/Kernel ) . Même si cette page n'est pas à jour (Luiz Fernando N. Capitulino n'est plus employé par Mandriva) . C'est une information publique . Mais c'est une exception, très peu de contributeurs ont accès au kernel officiel . À ma connaissance, ils sont deux, tous les autres contributeurs n'y ont pas accès. Je n'ai pas accès au kernel officiel par exemple . Certains composants "importants" sont maintenues par des contributeurs , python par exemple.

olinuxx : Ok, passons à autre chose : tu sembles utiliser toujours le même procédé/protocole pour la réalisation du kernel-RT, depuis combien de temps fais-tu cela ?

trem : Oulaaa, je ne sais plus depuis combien de temps je bosse dessus . Mon premier commit dans le kernel-rt date du 26 juillet 2007.

olinuxx : Combien as-tu de kernel RT à ton actif alors ?

trem : Autour de 50/60 . Le premier semble être le 2.6.22.1-rt6 ou celui d'avant.

olinuxx : As-tu des contacts direct avec tglx ? ou Linus ? En as-tu besoin ?

trem : Sur le canal #linux-rt, il m'arrive de discuter un peu avec les développeurs du kernel-rt , donc, tglx, rostedt, jkacur, ... mais jamais linus (je ne l'ai jamais vu sur ce salon) . J'y demande parfois les prochaines versions à venir ou je peux demander de l'aide si ça ne compile pas . J'ai déjà fais remonter des bogues de compilation au début . Maintenant, ça n'arrive plus , le patch rt est propre.
Une fois, j'ai remonté un bogue que j'ai trouvé lors d'un test au boulot sur plateforme ppc . J'ai alors discuté avec eux pour qu'ils m'aident à produire des traces qu'ils puissent exploiter . Et c'est ce qui est arrivé . Je leur ai donné des traces (produite avec ftrace) et ils ont trouvé et corrigé le bogue en quelques jours .

olinuxx : Tu a donc participé directement au kernel RT ? Tu as eu ton nom dans le changelog ? ;P

trem : Comme rapporteur de bug, oui , une fois , ce n'est pas la gloire !

olinuxx : Les petites rivières font les grands fleuves ;)

...page... Wiki Pagination has not been enabled on this site.

Le mouvement du libre et de ses licences

olinuxx : Toi, tu travailles dans l'informatique et tu fais le packaging sur ton temps libre. Considères-tu que c'est le seul moyen, le moyen le plus répandu, un des meilleurs moyens de faire ? Quelles alternatives vois-tu? Comment considères-tu le principe économique d'Ardour par exemple ?

trem : Faire du libre son métier est assez difficile, le nombre de postes n'est pas très important donc, pour faire du libre, pas mal de gens le font sur leur temps libre . Je ne connais pas le nombre de contributeurs Mandriva, mais il y en a plusieurs et ils abattent un gros boulot . Je dirais donc que c'est répandu . Je ne sais pas dans quelle proportion . Je ne pense pas que ça soit le moyen le plus efficace, car le temps libre n'est pas toujours très important . Ça ne laisse au final que relativement peu de temps pour contribuer . Bien entendu, si l'on souhaite avoir une vie en dehors de l'informatique ! Concernant les alternatives, je dirais que j'en vois deux : se faire embaucher dans des boites qui font du libre ou essayer de faire entrer le libre dans sa societé actuelle. La première solution ne nécessite pas d'explication je pense (se faire embaucher par Mandriva, RedHat, .....) , la deuxième solution, c'est de montrer les avantages du libre dans le boulot. C'est une solution que j'essaye de mettre en place mais c'est très difficile, les vieilles habitudes sont tenaces mais, avec des bons arguments, il est possible de faire changer les choses de temps en temps .

olinuxx : Comment fais-tu ça ?

trem : Dans ma société, GNU/Linux prend de plus en plus de place comme un peu partout dans l'embarqué. Pourquoi ? Je ne sais pas. Ma plus grande réussite, ce sont des petits patchs pour le kernel pour lesquels j'ai eu l'autorisation de les publier . Ce sont des petits patchs vraiment simples et qui ont été intégré au kernel vanilla .

olinuxx : Donc quelque part, tu es payé pour contribuer au kernel ?

trem : Non , on ne m'a pas dit de corriger un bogue pour le kernel mais pour le projet sur lequel je bossais . Comme c'était sur du matériel du commerce, et que la publication de ces patchs était sans importance sur ma boite , j'entends par là, que ça ne donnait pas à d'éventuels concurrents des infos sur nous , j'ai pu publier ces patchs . Ceci reste anecdotique, 3 patchs publiés en 4 ans de boite ,
ce n'est pas encore l'extase ! Par contre, j'arrive à convaincre mes collègues "techniques" que GNU/Linux est intéressant car on a le code source .

olinuxx : T'es t-'il arrivé de faire des patchs-kernel pour ta boite que tu n'as pas eu le droit de publier ?

trem : Je n'ai jamais eu de refus, mais je n'ai demandé qu'une seule fois . Tout le reste était spécifique à notre projet et n'avait rien à faire dans le kernel vanilla donc, on va dire que la situation ne s'est pas présentée.

olinuxx : Connais-tu le logiciel Ardour ? Je te dis ça surtout pour parler de son système de rémunération ( http://ardour.org/node/683 ). Ardour, ou plutôt Paul Davis, son développeur principal et historique, demande des cotisations directement sur le site et encourage lors du téléchargement du logiciel avec une base à 60$ (ndr : 40$ après vérification) ou quelque chose comme ça . Si on le veux gratuit, il faut entrer à la main, 0$ . La version payante possède des presets . D'autre part, il existe une autre version payante en collaboration avec une boite , qui possède une plus belle interface (bien plus pro!) Qu'en penses-tu ?

trem : Je connais Ardour seulement de nom, je ne suis pas musicien, donc, je ne l'utilise pas . J'ai dû le lancer une ou deux fois pour voir si ça ne plantait pas avec un kernel-rt lors de test par exemple , mais ça ne va pas plus loin . Je ne savais même pas qu'il existait un système de rémunération pour ce logiciel. Ça doit être une solution pour gagner de l'argent . Je ne sais pas trop quoi en penser , sauf que c'est dur de faire de l'argent avec le libre , surtout en ce qui concerne le développement . C'est une solution ni noire, ni blanche, mais grise , j'aime moyennement , maintenant, il faut bien vivre de quelque chose .

olinuxx : Paul DAVIS demande US$4500/mois (ndr : environ 3000€/mois, ce doit être du "brut"), penses-tu, en tant que développeur, que c'est beaucoup, bien, pas assez ?

trem : C'est le salaire d'un développeur avec un peu d'expérience en France . À paris, je pense que pas mal de développeurs doivent avoir un salaire supérieur à ça donc, je dirais que ce n'est pas énorme . J'ignore ce que ça représente dans son pays .

olinuxx : Autre question : comment et pourquoi es-tu venu au libre ?

trem : Comment : un peu par hasard, quand j'étais à la fac, je bossais sur des stations Sun, et un de mes copains m'a filé une Mandrake (6.0 ou un truc du genre) (ndr : ancien nom de Mandriva) . J'ai essayé, et j'ai bien aimé . À l'époque, c'était du 95 windows (de tête), et c'était assez instable . J'ai gardé GNU/Linux . Unix était assez "naturel" pour moi, car ayant fait des études d'info à la fac, ça faisait des années que je pratiquais , je connaissais donc déjà la ligne de commande . Ensuite, j'ai continué car c'était gratuit et que je n'avais pas envie de payer pour un windows, ni envie de le pirater . Donc, j'ai gardé mon GNU/Linux . Finalement, j'ai connu la communauté , et à force de discuter avec des contributeurs, je me suis pris au jeu et je suis devenu contributeur Mandriva . Entre temps, j'avais mieux appris la philosophie du libre . Bien entendu, j'ai aimé, et j'y suis donc resté par choix . J'y suis rentré pour le coté technique et j'y suis resté pour le coté philosophique ET technique . Maintenant, un windows est aussi stable qu'un GNU/Linux . Par contre, en tant qu'informaticien, quand j'ai un bogue windows, je ne peux rien faire alors que sous GNU/Linux, en me retroussant les manches (ou en demandant l'aide de mes collègues/autres contributeurs/...), je peux m'en sortir .

olinuxx : Comment te places-tu au niveau philo/idée par rapport à Linus TORVALDS et Richard M. STALLMAN ?

trem : Je suis plus "open source" que "free software " mais en fait, je m'occupe très peu des aspects philosophiques parce que j'aime la technique . Je dirais que certaines phrases de RMS sont extrémistes pour moi . Par exemple : "s'il n'existe pas un outil libre pour faire ce que vous voulez faire, ne le faites pas ." Je trouve ça dur pour un utilisateur . J'aime le libre parce que pour moi, c'est techniquement intéressant . Tout le monde peut contribuer et on peut avoir des logiciels qui sont gérés/développés par plusieurs entreprises ce qui, au final, devrait donner des logiciels de meilleure qualité que des logiciels fermés et qui sont (et nous aussi) dépendants d'une entreprise . Je suis aussi pour la liberté des gens , si quelqu'un veut acheter un windows, et l'utiliser, c'est son droit et sa liberté , je n'ai pas à imposer ma vision des choses aux autres .

olinuxx : À un niveau personnel, tu utilises quel(s) système(s) d'exploitation(s) ? T'intéresses-tu à d'autres SE, genre la famille des BSD ?

trem : Sur mon desktop, j'ai une Mandriva 2009.1 x86_64 et sur mon laptop, j'ai : windows vista , Mandriva 2009.1 x86_64 , Mandriva cooker i586 et Mandriva cooker x86_64 . Tu auras compris que je me sers de mon laptop pour faire mes tests . J'ai déjà essayé des BSD dans des virtualbox mais, après l'installation, je ne sais pas trop quoi en faire , je n'en ai pas l'utilité . J'ai essayé une ou deux fois mais pas poussé plus loin et, depuis quelques temps, j'essaie de ne pas trop me disperser , sinon, je testerai tout ;) La contribution prend du temps. Il m'arrive de tester l'installation d'autres distributions dans virtualbox aussi , pas trop souvent .

olinuxx : T'intéresses-tu à des choses comme l'AFUL ( http://www.aful.org/ ) ou l'APRIL ( http://www.april.org/ ) , ou autres dans le style ?

trem : Je ne suis pas trop philo/politique du libre , je m'y intéresse très peu . Je suis vraiment penché sur la technique, et peu sur les licences, problèmes de droit (genre hadopi), .... Je pense que l'APRIL est utile . Je ne connais pas trop l'AFUL, donc, je me garderai bien de parler sans savoir . Je suis plus proche d'associations comme le plf ( http://plf.zarb.org/ ) ou l'aufml ( http://mandrivafr.org/ ), plus par choix et pour éviter de faire 50 choses . Et aussi, parce que je connais des gens de ces associations.

olinuxx : Avant de passer à la dernière partie, peux-tu m'enseigner un proverbe que tu apprécies ?

trem : Ne fait pas aux autres ce que tu ne voudrais pas que l'on te fasse.

...page... Wiki Pagination has not been enabled on this site.

Le projet de partenariat Mandriva/LinuxMAO pour produire "DivaMAO"

olinuxx : Ton rapport avec LinuxMAO et le projet de partenariat Mandriva/LinuxMAO pour produire "DivaMAO" , vas-y, c'est libre.

trem : En fait, c'est un rapport d'utilité du kernel-rt , comme il déjà été dit, le kernel-rt est utilisé pour la MAO et pour l'industrie . Je doute fortement que l'industrie utilise des Mandriva avec un kernel-rt donc, je pense que la plus grande utilisation du kernel-rt de Mandriva sera la MAO et, tant qu'à packager le kernel-rt, autant que ça serve ! J'ai donc été ravi de rencontrer des gens de LinuxMAO pour avoir des retours d'utilisateurs et s'adapter à ces retours . Comme je pense que les musiciens ne sont pas forcément des informaticiens et que les informaticiens ne sont pas forcément des musiciens , une collaboration entre les deux parties me parait intéressante . J'espère qu'elle sera bénéfique pour les deux parties .

olinuxx : Peux-tu expliquer plus précisément ce dont tu as besoin et pourquoi tu en as besoin ?

trem : J'ai besoin de retour d'utilisateurs sur deux points : l'utilisation qui est faite du kernel et jusqu'à quel point , par exemple quelle est la latence désirée dans Jack, ou bien est ce que le kernel rt est utile pour la vidéo, et l'autre point, c'est la remonté de bogues (crash, ..) ou d'oublis d'options comme un pilote de carte son ... Le premier point pourrait m'aider à monter des tests plus proches de la réalité , par exemple, tester le kernel-rt avec Jack et avec les logiciels qui sont le plus utilisés/demandeurs du kernel-rt . Bien entendu, pas 50 tests , j'aimerais avoir une vie ;) . Le deuxième point pourrait aussi être une équipe de testeurs (musiciens) qui aurait les kernel-rt en avant première pour faire des vrais tests grandeur-nature avant leur publication . Personnellement, je n'ai pas d'instrument de musique, je ne peux donc faire aucun test.

olinuxx : Combien de personnes sont déjà sur ce coup ?

trem : J'ai rencontré 3 personnes aux RMLL cette année , je sais qu'elles bossent dessus mais je ne sais pas s'il y d'autres personnes impliquées, à part toi, bien entendu ;)

olinuxx : À combien estimes-tu le nombre idéal de participants-testeurs ?

trem : Je ne sais pas trop , il y a des choses que je ne maîtrise pas, comme les différents logiciels de musique . Un musicien n'utilise pas tous les logiciels mais juste quelques uns. D'ailleurs, les logiciels sont regroupés par style sur LinuxMao.org. Je dirais une personne par type de logiciels, pour la coordination et deux ou trois testeurs par logiciel me parait suffisant . Je parle des logiciels principaux , comme Jack qui me parait incontournable. Car lorsqu'on diffuse des paquets dans une distribution, je trouve que ça ne fait pas sérieux quand l'application crashe au lancement ou juste après 2 clics . Le test est donc vraiment très important. Bien entendu, un test n'est intéressant que s'il est rapporté correctement , c'est à dire avec une procédure pour le reproduire le plus simplement possible . Un rapport de bogue du style : "ça marche pas " est clairement inexploitable . Pour ma part, je préfèrerais que seuls 30 logiciels soient packagés sur les 120 actifs mais qu'ils soient testés et qu'ils marchent plutôt que les 120, mais non testés et mal packagés.

olinuxx : Peut être faudrait-il une petite page présentant les besoins d'un développeur/packager lors d'un bogue ?

trem : Sur le bugzilla de Mandriva, quand on rapporte un bug, il est demandé comment reproduire le bogue mais je pense qu'une page explicative ne peut pas faire de mal surtout lorsque le développeur n'est pas du domaine . Je pense que les coordinateurs du projet (piep , bluedid et gisles) feront une page de ce style .

FIN DE L'INTERVIEW

Concernant le partenariat LinuxMAO / Mandriva, voir aussi : ce forum .