Bonjour à tous,
Je suis le dev qui a fait un Summer of Code sur Gimp cet été.
J'aimerai juste rajouter quelques points au très bon résumé de Kaoron:
- Même si le langage est le C, qui est très connu et répandu, Gimp, comme une bonne partie des programmes GTK, utilise les GObject pour avoir de la programmation orienté objet. Et c'est beaucoup moins facile et répandu. Personnellement, j'ai eu beaucoup de mal à m'y mettre. Un bonne partie des gens qui utilisent les GObjects, moi y compris, ne maitrise pas ce qu'ils codent et procède par tâtonnement.
- L'architecture du code est très opaque, à cause du manque de documentation. Il faut parfois parcourir un fichier de 1000 lignes pour comprendre à quoi sert un objet (et les lires en détails pour comprendre comment l'utiliser). Quand j'ai demandé pourquoi il y avait aussi peu de doc, on m'a répondu que c'était comme ça dans le logiciel libre, qu'écrire de la doc est chiant. Pourtant, il faudrait pas forcement beaucoup de documentation pour rendre la tâche du nouveau développeur bien plus facile (quelques diagrammes de classe, un rapide résumé de ce que fait chaque objet, quelques exemples de codes ...).
- Les deux points précédents font que rentrer dans le code de Gimp pour un nouveau est une chose pas évidente. Et c'est un cercle vicieux. Plus c'est dur, moins il y a de dev. Moins il y a de dev, moins il y a de doc, ....
A contrario de la situation de Gimp, on voit du coté de Blender des développeurs qui n'hésitent pas à pondre des documentations de folie sur leur travail (il n'y a qu'a voir
ça par exemple). Je pense que la présence de Ton Roosendaal à la tête de l'équipe ne doit pas être étrangère à la situation.
Dans tout les cas, si quelqu'un se sens de se lancer dans le code de Gimp, je suis près à l'aider. Je suis joignable sur IRC (
gimp@irc.freenode.org, nick Bat`O).
Edit: au passage, ça m'a motivé pour taper un peu dans la fourmilière. On verra si ça donne quelque chose. Merci
http://lists.xcf.berkeley.edu/lists/gimp-developer/2011-January/026031.html