<C²: webløg />

Courriel - email address

Avatar Denis

dimanche 09 novembre 2003
par Denis Boudreau

Un FireBird au régime amaigrissant

Les amis Anubis et Darken, inséparables acolytes du logiciel libre et du bien coder se sont mis en tête de nettoyer les fonds de tiroirs de l'application FireBird et d'en extirper tout le code inutile, laissé des applications de Mozilla qui ne s'y retrouvent pas. Résultat, un navigateur Web 25% plus léger, encore plus rapide au chargement, résolument orienté vers...

...un moteur permettant à chacun de fabriquer sa propre application XUL sans pour autant être obligé d'être dépendant d'un navigateur Web.

Je l'ai essayé ce soir, ce sympathique Mozilla ChuBird et je vous invite à faire de même. On ne peut pas laisser de pourboire à la sortie, mais on peut tout de même les féliciter pour le bon boulot. Et si jamais vous vous demandez pourquoi ChuBird, demandez-leur, moi, j'ose pas vous répondre ! ;)

Denis Boudreau | 2003.11.09 @ 23:26

Alors, qu'en pensez-vous ?

Voici ce que vous aviez à en dire... vos impressions, recueillies à vif.

2003.11.10 @ 08:14 par David

Est-ce que je me trompe mais le rendu est aussi plus rapide ?

J'ai l'impression d'avoir un nouvel ordinateur. J'espère que nos amis de chez Mozilla vont tenter d'optimiser le code aussi. Ce serait dommage d'avoir un 'fork' à ce moment-ci!!!

Haut retour au début de la page

2003.11.10 @ 08:17 par sylozof

D'après leur communiqué, il semble que Mozilla tarde à extraire les parties de code inutilisées (héritées de la suite Mozilla) dans Firebird.
Je pense que si c'est le cas, chez Mozilla ils ont certainement de bonnes raisons. On sait qu'on peut totalement leur faire confiance, vu tout ce qu'ils nous ont déjà sorti comme logiciel de qualité.
En tout cas je ne vois pas trop ce qu'ils gagneraient à ne pas l'optimiser.

Et pourquoi ne pas en parler directement du problème aux personnes de chez Mozilla ?

Haut retour au début de la page

2003.11.10 @ 09:11 par Anubis

David: Normalement, il n'y pas eu de code modifié, ajouté ou supprimé. Seulement des fichiers non utilisés retirés, alors le gain de vitesse est sûrement dû au fait que ChuBird est basé sur la dernière nightly de Firebird. Rendons à César....

D'une manière plus générale, cette release n'est pas un fork, mais plutôt une version perso pour m'amuser. Mais elle me sert aussi à démontrer une chose, c'est que le développement de Mozilla prend des tournures étranges...

Je n'apprécie pas de voir certaines critiques se faire démonter sous prétexte que c'est un logiciel libre. Le développement d'applications est une chose sérieuse, surtout avec un aussi large public que Firebird, j'ai donc décidé de me prendre en main, et faire ce que tout bon développeur me répondrait « Code le toi-même ou tais-toi ! » (c'est un peu fort, mais certaines remarques se sont terminées ainsi).

Alors j'ai décidé de mettre en place les remarques que nous avions effectué Darken et moi (Pourquoi y a toujours les trucs du mail ? Pourquoi y a toujours les trucs de la suite ?).

Mais je suis un développeur moi Monsieur, je choisis la meilleur méthode pour résoudre un problème, et modifier les sources n'était clairement pas la meilleur solution.

Oui, Mozilla et Firebird sont en fait une seule et même application, qui utilise de la compilation conditionnelle. Il est donc TRÈS fastidieux de faire ce nettoyage directement au niveau des sources, d'où cette nouvelle version, basée sur une build.

Maintenant, je ne sais pas si cette nouvelle version deviendra quelque chose, mais je sais que je continuerais de faire de ChuBird une application simple, et clairement orienté vers la simplification et la compréhension de la programmation XUL.

Un exemple simple : on conseille généralement aux développeurs d'applications XUL de bien ranger leur paquets avec des répertoires précis, etc. Le problème est que les paquets de base du navigateur ne respecte même pas cette règle, et je compte bien y remédier ;-).

Enfin je le répète, cette version est une version personelle, et représente MA vision du logiciel, et n'a bien sûr rien à voir avec les gens de Mozilla, et ne compte pas en devenir un concurrent. Sauf si le succès est au rendez-vous, mais là, il faudra vraiment que les développeurs de Mozilla se posent de vraies questions.

Haut retour au début de la page

2003.11.10 @ 10:30 par sylozof

Anubis > désolé si mon post t'a froissé. Ce n'était absolument pas mon but, je cherche juste à comprendre pourquoi Mozilla ne fait pas son ménage.
Je n'ai pas fait cette critique parce que c'est un logiciel libre et que je le considère comme parfait.

Dommage que tu le prennes comme une attaque personnelle (j'avoue que mon post prêtait à confusion).

Encore désolé.

Haut retour au début de la page

2003.11.10 @ 10:43 par CYBERcodeur

C'est curieux sylozof, j'ai pas du tout l'impression qu'Anubis l'a pris personnellement et négativement ou qu'il était froissé.

Je crois que ses commentaires étaient plus dirigés à l'endroit des concepteurs de Mozilla pour l'apparent manque de rigueur dans l'organisation des sources... mais peut-être qu'effectivement, il y a une raison pour avoir laissé 3 megs de code inutile derrière.

Enfin, nous le saurons lorsqu'il repassera par ici. Si j'étais toi, je ne m'en ferais pas pour ça ! :)

Haut retour au début de la page

2003.11.10 @ 11:32 par Darken

Vi, pas d'inquiétudes sylozof, le discours d'Anubis se voulait général :)

Je ne pensais pas qu'Anubis mettrait ma pré-icône que j'ai faite en vitesse cette nuit pour lui faire plaisir ; si j'avais su qu'il proposerait sa version en téléchargement je l'aurais fignolée d'avantage ! :D

Il est vrai qu'Anubis et moi nous partageons la même vision du développement logiciel. Nous aimons par exemple beaucoup les logiciels constitués du minimum de fichier (un fichier exe, un readme :)), très rapides à lancer, peu gourmands en mémoire, et faciles à utiliser. C'est un but difficile à atteindre, mais être un minimum exigent dans son travail permet par la suite d'offrir une expérience utilisateur bien plus agréable.

On a beaucoup réfléchi sur comment réaliser un navigateur Web performant, facilement maintenable pour les développeurs, et apportant de l'élégance à l'utilisation. Un se demandait comment serait Firebird si nous l'avions conçu nous-même. Je pense qu'il ne serait pas si éloigné de l'actuel, cependant nous aurions loisir d'y apporter les petites améliorations que nous souhaitons, nous délivrant ainsi enfin de la dépendance qui nous lie aux auteurs de ce navigateur.

Réutiliser les sources de Firebird est séduisant. Cependant, comme le laisse penser Anubis, la lecture du code et la structure des fichiers source l'est beaucoup moins. Au fur et à mesure on comprend pourquoi Apple n'a pas choisi Mozilla comme code source de base pour Safari. Certains bugs inscrits dans le système bugzilla pour Mozilla mettent des mois voire des années à être corrigés, alors qu'on pourrait s'attendre à des retouches peu difficiles.

Il y a l'option de faire un grand coup de nettoyage dans tout ça. On l'a déjà fait dans le passé avec du vieux code qui faisait des choses intéressantes. Le but étant de rendre le code très clair, très simple d'emploi, afin de faciliter la compréhension et la maintenance du tout.

Cependant pour Firebird l'option est plus délicate. On a à faire à un logiciel en évolution permanente. Récupérer le code et le mettre à notre sauce à un moment donné signifie dire adieu aux corrections de bugs et évolutions future de la branche Mozilla officielle. On se retrouverait avec une version totallement indépendante, à nous donc d'apporter les corrections à la place de l'équipe officielle pour notre browser.

Coder un navigateur Web prend un temps monstrueux. Même en partant d'une base existante je pense qu'il faudrait s'y consacrer entièrement pendant une longue période. À partir de ces données il convient d'évaluer ses envies, et à quel point on souhaite s'investir dans un tel projet :)

Haut retour au début de la page

2003.11.10 @ 11:39 par Anubis

sylozof > Aucunement. Comme le dis Denis, cette colère n'est pas du tout orienté sur toi mais bien sur Mozilla.

Ton post était tout à fait justifié, et je te remercie d'avoir pointé du doigt ce problème. J'en ai simplement profité pour me répéter quant à mes intentions, qui me semble justifiées.

Pour te répondre sur le fait que Mozilla ne fait pas son ménage : Je ne sais pas.

J'hésite entre dire que les développeurs n'ont aucune idée de ce qu'est un développement professionnel, ou sur le fait que le partage des sources entre les deux programmes entraine une difficulté abérante.

Mais je n'irais pas plus loin car on m'accuserais encore de taper sur un projet sans raisons, et sans savoir de quoi je parle.

Tout ce que je sais de ce projet, c'est que :
- J'ai été obligé de télécharger 200 Mo de code pour compiler Mozilla (à peu près la taille du répertoire contenant TOUS les projets de mon boulot).
- La compilation n'a même pas fonctionnée (ça compile mais ne s'exécute pas).
- J'ai réussi à retirer 3/4Mo de Firebird juste en retirant des fichiers inutilisés.

Haut retour au début de la page

2003.11.10 @ 14:13 par sylozof

OK alors, ça me rassure, je ne voudrais pas qu'on se froisse en ce lieu virtuel si convivial ;-)

Et il y a moyen d'en parler à des gens de chez Mozilla ? Je sais que Tristan Nitot fait partie du projet, vu qu'il est évangélisateur et qu'il s'est occupé du redesign du site mozilla.org.
Il a peut-être des contacts... enfin je ne sais pas si c'est comme ça que ça se passe...

Haut retour au début de la page

2003.11.10 @ 16:42 par Talou

Vivement les trackbacks, Denis :o)

Concernant Chubird, le travail de fond pourrait consister à identifier les portions de code indispensables à Firebird, repenser l'organisation de l'arborescence des sources, puis construire de quoi automatiser le tri et l'organisation à partir du cvs, par exemple...

Inutile de se lancer dans un fork, il y a bien mieux à faire : ce qu'Anubis est en train de proposer, c'est à dire préparer le travail de nettoyage, par un repérage de fond de ce qui n'est pas nécessaire.

Il faudrait cependant être synchro avec les developpeurs et les pairs de sorte que le nettoyage en question prenne en compte les éventuels projets non encore réalisés. Mais y a-t-il une stratégie de leur part ?

En fait un tel travail ne concerne pas seulement Firebird, mais tous les projets *bird Standalone. Je serais curieux de savoir ce qu'en penserait Daniel Glazman.

Haut retour au début de la page

2003.11.10 @ 18:13 par Nickwe

Dommage qu'il n'existe pas une version pour Linux... Mais bon, je me ferrai un plaisir de tester Chubird mercredi à l'école (pcq demain 11 novembre, c'est l'Armistice en Belgique, et on a congé :-)).

Bien à vous.

Haut retour au début de la page

2003.11.10 @ 19:38 par Bleizig

<q>Vivement les trackbacks</q>
C'est sur ma liste ;-)

Haut retour au début de la page

2003.11.11 @ 00:06 par CYBERcodeur

Je trouve tout à fait passionnant de constater que l'initiative de Darken et Anubis suscite autant de réactions passionnées de votre part... cela démontre bien que le développement continu et adroitement dirigé de la suite Mozilla vous tient autant à coeur qu'à moi.

Cependant, je crois qu'il serait faux de penser que nos bons amis ont pour intention de compétitionner l'équipe de Mozilla, ou de partir une autre branche de développement indépendante de FireBird... j'aurais plutôt tendance à penser qu'ils ont constaté une lacune importante au niveau de l'optimisation des fichiers et du code et qu'ultimement, ils espèrent sonner quelques cloches chez l'équipe Mozilla pour que ceux-ci prennent la bonne habitude de nettoyer leur code. Parce qu'à long terme, ça risque de devenir problématique.

Alors je vois mal des builds produits pour Mac ou pour Linux, ou même une évolution à long terme de leur projet sur une base compétitive ou pire encore, commerciale... Je vois mal une évolution parallèle, ne serait-ce que pour la charge de travail monstrueuse que cela représenterait à chaque mise à jour du navigateur.

Ce que je vois par contre, c'est l'opportunité de créer un outil de développement d'applicatons XUL, basé sur les grandes forces de Mozilla.

Je me trompe les copains ?

Haut retour au début de la page

2003.11.11 @ 07:51 par Anubis

Pas du tout, quel beau résumé, c'est tout à fait ça.

<quote cite='CyberCODEUR'>
ultimement, ils espèrent sonner quelques cloches chez l'équipe Mozilla pour que ceux-ci prennent la bonne habitude de nettoyer leur code
</quote>

En fait non... Ça, on a déjà essayé, mais quand on a des réponses comme on a eu, ça décourage un peu.

Alors nous avons choisi de nous faire notre propre navigateur, utilisant nos propres convictions de développement.

Sans aucune autre arrière pensée qu'améliorer de manière personnelle le navigateur que nous utilisions tous les jours.

Si ça peut faire réagir les développeurs, je trouverai dommage pour Mozilla qu'il faille aller jusque là pour les faire réagir, mais ça ne pourra être qu'une bonne chose.

Haut retour au début de la page

2003.11.11 @ 17:47 par CYBERcodeur

Morale de cette histoire, c'est pas parce que Mozilla est mieux que c'est automatiquement parfait... :)

Si jamais tout ceci vient aux oreilles de Tristan Nitot ou de Pascal Chevrel, peut-être bien qu'ils pourront remonter l'information en haut lieu...

Haut retour au début de la page

2004.05.26 @ 08:28 par Anubis

En tout cas il semble que ça réagisse... Enfin un peu tard...

http://www.chevrel.org/fr...

Haut retour au début de la page

Les commentaires et trackbacks sont désormais fermés. Pour toute remarque, vous pouvez toujours nous contacter.

Pisteur (Trackback)

Carnet: Mozilla Chubird - un Firebird nettoyé : vers des applications XUL légères
Extrait: Anubis vient tout juste de construire un Firebird plus léger...
Weblog: I T I N É R A I R E L I B R E
Traqué le: 2003.11.13 @ 04:33