image Erich fait un retour d'expérience sur ses 7 années de développement de Eclipse.

La première étape du projet était de créer un outil. Le process de développement à ce moment là était clos, voire secret. L'objectif final était bien d'avoir un produit en opensource, mais pour le lancement l'équipe voulait avoir quelque chose à lancer.

Durant cette étape il a été décidé que les classes et les jar n'étaient pas suffisant pour créer un produit extensible. La notion de plugin est arrivée assez rapidement. Pour Erich, un plugin n'est ni plus ni moins qu'un composant. Ce composant est décrit à travers un manifest qui représente la partie visible de l'iceberg.

La notion d'API est au cœur d'Eclipse. Durant cette phase l'équipe a beaucoup travaillé sur cet aspect. Car une fois l'API d'un composant publiée, il est impossible de revenir dessus. Erich conseille d'avoir au départ des API minimum. Il est toujours possible de rajouter des fonctionnalités dans les versions suivantes.

Cette période était très stressante, car tant que logiciel "secret" n'est pas livré, il n'existe pas. C'était aussi assez frustrant pour l'équipe de développement.

La première release a été un grand soulagement. Mais là, commençait un nouveau challenge. D'abord il avait fallu convaincre en interne de l'intérêt d'avoir un produit en opensource. Ensuite, il fallait transformer cette ambition d'opensource en succès : une communauté active autour d'Eclipse devait naitre. Par ailleurs, il fallait aussi accepter de coder en public, de discuter en public, de construire le produit en public. Autant de choses qui ne sont pas forcément évidentes au départ.


image

 Une fois le projet transformé en un véritable projet opensource. D'autres considérations sont entrées en ligne de compte :

  • amener un rythme, pas trop court, pas trop long (l'année a été choisie),
  • choisir une date de release, juin permet à l'équipe de partir en vacances tranquille,
  • convaincre tout le monde qu'il est important de respecter le rythme,
  • garantir la stabilité des API
  • garder les utilisateurs heureux,
  • avoir des développeurs qui continuent à aimer travailler sur ce projet : intégration des pratiques de développement des méthodes agiles : réunion du matin, chaque équipe s'auto-organise, rétrospective, démo,...

Fort de cette expérience, Erich a adopté cette manière de développer des logiciels. Il travaille maintenant sur un nouveau projet Jazz. Le mode de production de ce produit, qui n'est pas opensource respecte les principes de création de logiciel opensource : code téléchargeable, mailing list public, Milestones,...

Au final, Erich a fait un rapide sondage, 70% des personnes dans la salle utilise Eclipse. Pas mal ! Nous avons aussi appris que Eclipse est construit par une équipe distribuée de 60 développeurs.

 image 

Une belle histoire.