01 février 2011

Hudson et Jenkins sont dans un bateau ...

C'est chose faite, la communauté des développeurs Hudson a choisi de quitter définitivement Oracle et de forker / renommer (tout dépend du point de vue) le projet en Jenkins (http://www.jenkins-ci.org).



Les choses sont déjà suffisamment compliquées, voici que Sonatype prend position et apporte son soutien ... à Oracle Hudson :
"

One problem that we've encountered frequently in the past with Hudson
is stability after upgrades.  

This will be one of the areas of primary focus for Sonatype and when the rename happens 
today we will begin the process of merging most of our stabilization work back to Hudson. 
`This will take a bit of time because we stepped off the train to decide how and who we 
wanted to continue working with. I think this whole situation is unfortunate, but ultimately 
Kohsuke has the right, like everyone else, to do what he feels is right. I honestly do not 
believe what has happened is in the best interest of users, but this is my opinion and only 
time will tell.

If anyone is interested in the work to be done on Hudson the java.net lists should be up, the 
@hudsonci twitter account will be very active, and I'll have a series of blog posts about the 
work Sonatype is planning to contribute, a critique of the current architecture, and proposed 
roadmap. While I'm sure we're not going to be very popular in the short term, continuing the 
Hudson with Oracle is what we feel is best. Our goals and motives have not changed since 
the first time I posted about Sonatype's potential involvement. We care about the IP, the 
provenance of the code, the stability of the core, helping to create a new architecture while 
maintaining backward compatibility, create great Maven integration and create a commercial 
product. We've done a lot of work for enterprise users and we hope to share this with the 
Hudson community as soon as we can.

I believe it is truly regrettable what has happened, but life goes on and I'm sure both projects 
will do well catering to their users.

"

Jason met le doigt sur un élément clé : la stabilité et l'architecture de Hudson. C'est un critère important pour son utilisation en entreprise sur des projets stratégiques. Il faut reconnaitre que le modèle de développement de Hudson est particulièrement ouvert et manque parfois d'un cadre strict. Cela n'a pas empêché le projet de progresser très vite et de s'enrichir de fonctionnalités avancées, et ça a toujours été une volonté affichée pour réduire au minimum la barrière de contribution. Par contre, ça peut ne pas rassurer un DSI (vous me direz, c'est le même qui a commandé des licences Websphere 7, mais bon ...).

L'offre Sonatype Profesionnal intègre un Hudson validé et supporté ("Matrix"), il ne fait donc aucun doute que Sonatype a des évolutions techniques à proposer pour stabiliser et améliorer le projet. Devant le vide laissé par le départ de la communauté des développeurs pour Jenkins, ils vont ainsi se retrouver premier contributeur au côté d'Oracle, une place de project-lead inespérée.

Evidemment, rien n'est gagné : la communication autour du changement de nom a été large et Jenkins va continuer d'avancer au rythme qu'on lui connait. D'un autre côté, les clients d'Oracle ou de Sonatype seront sensibles à l'argumentaire de qualité technique et de stabilité d'un élément clé de leur forge logicielle. Sonatype va donc devoir mettre les bouchées doubles pour démontrer une plus-value et sa capacité à améliorer Hudson. Jenkins étant contraint de conserver les APIs existantes, les nombreux plugins ne sont pas remis en cause (dans l'immédiat), aussi Sonatype va pouvoir se focaliser sur le coeur Hudson et sur une intégration Maven 2/3 particulièrement poussée. Le niveau technique des développeurs ne fait aucun doute, tout va donc se jouer dans le timing et l'art de communiquer auprès de la communauté d'utilisateurs.

Pas facile de prédire ce que cela va donner... en espérant que ça ne va pas tourner au troll "audit de code" ou que sais-je pour démontrer qu'un projet est techniquement supérieur à l'autre.

On vit une époque formidable.

5 commentaires:

Arnaud a dit…

La grosse question est effectivement autour des plugins car pour chez Maven le noyau ne fait pas grand chose (un petit peu tout de même...). Kohsuke va toujours de l'avant et on peut voir à chaque nouvelle version des methodes passer en deprecated et de nouvelles prendre la place. En général les plugins suivent régulièrement ces changements (pour leur bien). Si Hudson veut rester compatible avec Jenkins et ses evolutions, il devra implémenter au fur et à mesure ces nouvelles APIs. Ca va etre la course ....

olamy a dit…

c'est marrant de voir des gens critiquer la non agilité d'un côté et d'un autre côté se plaindre des projets trop agiles (qui font souvent des releases).

Antoine Sabot-Durand a dit…

D'apres ce que j'ai cru comprendre Sonatype n'a pas contribué spécialement à Hudson par le passé. Ça renforce la version "opportuniste" de cette annonce.

Nicolas De Loof a dit…

@Antoine Sonatype Matrix est une version "supportée" de Hudson, incluant des correctifs et des extensions propres à Sonatype. Je n'en connais pas le contenu, mais je ne doute pas qu'ils aient des choses concrètes à reverser au projet Oracle Hudson.

Par contre, pourquoi n'ont-ils pas contribué au projet Hudson lorsqu'il était communautaire, et pas non plus "freiné" par la bureaucratie Apache ?

Comme quoi ce n'est pas une question d'innovation vs processus, mais bien de leadership -> http://en.wikipedia.org/wiki/Benevolent_Dictator_For_Life

jlamande a dit…

Même pas un petit commentaire sur l'opportunisme de JVZ ? ;-)