Coder pour Linux ou coder pour Ubuntu ce n'est pas la même chose
Par Cyrille BORNE le mercredi, avril 29 2009, 16:55 - Linux - Lien permanent
Comme vous le savez certainement je suis le grand maître Français du cassage de logiciel libre. On me donne un logiciel à tester je trouve un bug en moins de cinq minutes, si je vous assure. Le dernier jouet que j'ai cassé (un peu) vous concerne puisqu'il s'agit du bilboplanet qui sera la prochaine version du planet libre, la différence fondamentale avec la version actuelle c'est que c'est un programme à part entière qui sera distribué pour que vous aussi puissiez faire votre propre planet, un planet couture ferait un véritable carton. Il faut savoir que cet incroyable talent faisait partie de mon travail à l'époque où j'étais développeur COBOL, mais c'est une autre histoire, je le mets à contribution aujourd'hui pour de nombreuses applications du monde libre.
Pour être un bon casseur de logiciels, je pense que le principal c'est d'avoir un intérêt à utiliser le logiciel et donc vouloir qu'il marche. Si l'on n'a pas le besoin on testera mais pas sérieusement, le reste c'est de l'observation, et beaucoup de persévérance. Dernièrement je viens de trouver un bug pénible dans 2Mandvd, j'ai mis 10 jours à isoler le problème, il est d'ailleurs corrigé dans la dernière release qui vient de sortir aujourd'hui (0.8.3), il s'agissait d'un crash qui se produisait à certains moments lorsque l'on cliquait sur des textes ombrées.
A l'époque trouver et corriger des bugs, n'était pas compliqué pour la simple et bonne raison que tout le monde tournait sur le même programme, tout comme corriger un bug dans le bilboplanet n'est pas bien difficile non plus sauf si l'on s'amuse à tester tous les navigateurs dont IE6. Ici la complexité est toute autre, puisque nous travaillons sur le même programme mais pas sous la même plateforme. Par exemple, Olivier code OGMRip sous Gentoo, et moi je suis utilisateur d'Ubuntu tout comme Stéphane vient juste à l'instant de basculer sous Jaunty mais il était avant sous Opensuse et Mandriva. Oui vous avez bien lu, alors que nous sommes tous les trois sous Linux, nous n'utilisons pas réellement le même système d'exploitation, pour preuve un programme ne fonctionne pas "naturellement" selon le Linux qu'on utilise sans adaptation du développeur. Rappelez vous la fois où l'on a découvert que sous Ubuntu on n'utilisait plus libdvdread version officielle mais le fork de l'équipe de mplayer, le problème d'aujourd'hui est similaire. il s'agit de la compilation du paquet de ffmpeg sous Ubuntu qui n'a pas été compilé avec toutes les options, si bien qu'aujourd'hui sous Jaunty avec 2Mandvd il est impossible de réaliser des transitions animées entre les menus, cela plante la génération, ce qui n'est pas le cas chez Mandriva où Suse tout est activé. Je suis actuellement en train de compiler le dernier svn de ffmpeg pour faire les tests avec les options qui vont bien voir si ça passe mais cela ne résoudra pas un autre problème. Faut il demander à des utilisateurs parfois débutants de compiler un svn pour faire fonctionner un programme parce que les gens qui font les paquets ont fait des choix qui pénalisent un développeur et ses utilisateurs ?
La liberté de choisir sa distribution c'est formidable mais elle a un prix. Perte de temps des développeurs qui s'amusent à réinventer la même chose que le copain pourquoi pas, mais qu'en est il du temps perdu que doivent prendre des développeurs bénévoles pour corriger des bugs liés à cette multiplicité. A plus ou moins long terme on ne sera pas surpris de voir certains codeurs faire le choix d'une distribution et refuser de corriger les anomalies pour les autres entrainant ainsi une profusion de programmes pour la distribution gagnante (qui a dit Ubuntu ?) et par conséquent la fin des autres. A quand une véritable homogénéité entre les distributions pour que le développeur et donc l'utilisateur final ne soient plus pris en otage par des choix arbitraires et pas nécessairement judicieux d'empaquetage ?


