• [^] # Re: Paradoxe

    Posté par (site web personnel, Mastodon) . En réponse à la dépêche Entretien avec Michael Natterer, mainteneur de GIMP. Évalué à 10.

    J’ai un peu l’impression que si tu as été facilement intégré c’est que tu t’es parfaitement fondu dans le moule

    Je sais pas trop comment prendre cette remarque. Faut-il forcément un moule? Ça peut pas être simplement que le mainteneur était simplement un mec assez réceptif et accueillant aux nouveaux contributeurs qui font du code de qualité, comme je l'ai dit? C'est impossible à imaginer et faut forcément une autre raison?

    si 80% du code c’est de l’ui, c’est une proportion assez gigantesque.

    C'est une approximation au doigt mouillé, mais oui, surtout à partir de 2.10 puisqu'une majeure partie du traitement d'image est maintenant dans GEGL. Ensuite il reste des choses implémentée dans GIMP car GEGL n'est pas encore assez rapide à ce jour, notamment la peinture avec des brosses.

    Mon impression c’est qu’il y a pas mal de boilerplate et que c’est assez verbeux.

    En effet, notamment tout le côté GObject. Mais bon ce problème s'applique surtout lorsqu'on souhaite créer une nouvelle classe. Et à ce moment, il suffit de faire du copier-coller intelligent. Pas la fin du monde.

    Ça se prête moyen au prototypage rapide d’idée. Mon impression c’est que c’est pas hyper efficace (et qu’en utilisant d’autres techno on pourrait ptete diminuer significativement le nombre de ligne de code, potentiellement)

    Oui tu as sûrement raison. Mais passer 5 ans supplémentaires (compte le nombre de lignes de code dans GIMP. Parler de plusieurs années pour un tel chantier, je ne crois absolument pas que ce soit exagéré) pour passer tout le code à un autre langage pour finalement pouvoir prototyper rapidement, c'est... contre-productif!
    Parfois il vaut mieux être un peu moins efficace (parce qu'on doit faire des copier-coller lorsqu'on crée une nouvelle classe, ce qui arrive une fois tous 36 du mois) tout le temps que bloquer tout pendant des années pour être un peu plus efficace dans quelques années.

    Vous utilisez des interface genre glade ? Comment vous développez en fait ?

    Certains ont utilisé glade pour des plugins, je crois. Mais majoritairement non. On code la GUI. Peut-être qu'avec GIMP 3, ça pourrait être intéressant d'utiliser un peu plus Glade (car à ce jour, avec GTK+2, c'est compliqué puisque Glade suit GTK+).

    J’ai l’impression qu’à ce niveau d’UI çà devient important de se poser la question de la pertinence des technos concernant l’UI.

    Dans un de mes derniers jobs en startup, y a quelques années, on avait un site en PHP au dessus d'un framework. Certains décident qu'il faut faire un truc méga moderne, en créant une plateforme custom Python, un site "mobile-first" et autres termes hypes et à la mode. Moi je dis que c'est probablement une erreur de tout refaire et qu'il vaut mieux améliorer la plateforme existante incrémentalement. Au final toute l'équipe bosse comme des fous pendant 3 ou 4 mois... avant que le manager décide un beau jour de tout annuler (tant de mois de travail perdu!) car il se rend compte qu'on est en train de se tirer une balle dans le pied.

    Parfois il faut savoir faire preuve d'un peu d'humilité et se dire que oui, on n'a pas le meilleur framework, les meilleures technos, le truc le plus moderne et hype, qu'on n'est plus forcément à la mode (alors qu'on l'était 2 ans plus tôt), mais que non, c'est pas une raison pour sans cesse revenir en arrière afin d'être toujours en tête de la mode. Il vaut mieux sans cesse aller de l'avant. On a quelque chose qui marche, améliorons le plutôt que sans cesse revenir sur ses choix technologiques ou "se poser la question de la pertinence des technos concernant l’UI".
    Bien sûr, on peut le faire, on le fait sans cesse (on arrête pas de mettre à jour plein de choses), mais il y a des limites à ce qu'il est possible de faire sans que ça ne devienne une sorte de bête course à la mode des technologies nouvelles.
    Je vais dire un secret: tout projet qui commence à avoir quelques années n'est plus à la mode!

    Vous avez sérieusement étudié la question ou vous attendez qu’un contributeur fasse tous le taf’ avant ? (ce qui me semble assez irréaliste, en fait, faudrait se préparer à forker au cas ou au bout du compte c’est rejeté)

    C'est irréaliste quand c'est quelqu'un d'autre mais réaliste quand c'est ceux déjà là? J'ai du mal à comprendre la logique. Nous aussi sommes des gens comme les autres! (on pourrait faire une manif avec des bannières: "Non à la ségrégation des GIMPers", "Les développeurs de GIMP ont des droits aussi", "On n'est pas des aliens, on est des êtres humains comme vous"...) :D

    Film d'animation libre en CC by-sa/Art Libre, fait avec GIMP et autre logiciels libres: ZeMarmot [ http://film.zemarmot.net ]