Versions mineures de JBoss AS
La sortie des versions mineures 6.1.0 et 7.0.1 en août 2011 est une excellente nouvelle. Ça peut paraître étrange de s’enthousiasmer sur des versions dont le seul but est de corriger des bugs, non ? En fait, ces sorties apaisent une inquiétude née il y a plusieurs mois lorsque RedHat a annoncé ses changements stratégiques pour JBoss.
Commençons donc par un petit rappel. JBoss était une société indépendante qui développait JBoss AS et d’autres produits, presque tous en open source. La société JBoss tirait ses revenus du support technique, de l’assistance et de formations. La société JBoss a été rachetée par RedHat en 2006. Les modèles économiques des deux sont relativement proches : produire du logiciel open source et vendre du service. En 2009 (ou 2010, je ne suis plus sûr), RedHat a revu la stratégie de son département JBoss pour le rapproché de ce qui était déjà fait pour son activité linux. Cela s’est traduit par une séparation plus nette entre les projets communautaires et les produits sur lesquels sont vendus les souscriptions. Dans le monde linux, c’était la séparation entre Fedora et RHEL, pour le serveur d’application, c’est la séparation entre JBoss AS et JBoss EAP.
Pour la version 5, cette séparation s’est traduite par la sortie d’un JBoss EAP 5.0.0 qui est une évolution de JBoss AS 5.1.0. Les numéros de version mineures sont decorrélées entre AS et EAP.
AS 5.0.0 -> AS 5.0.1 -> AS 5.1.0 -> EAP 5.0.0 -> EAP 5.0.1 -> EAP 5.1.0 -> EAP 5.1.1
Ceci n’est pas très gênant, à condition de bien préciser AS ou EAP lorsqu’on parle d’une version. Le plus gênant pour les utilisateurs de JBoss AS, c’est que de nombreuses anomalies, parfois importantes, sont restées dans JBoss AS 5.1 et n’ont été corrigées que dans la version EAP. Gênant, mais on peut comprendre que RedHat privilégie ses clients qui payent pour avoir un service de qualité.
Ceci n’était que la première étape vers la nouvelle stratégie. L’objectif est de se rapprocher du modèle Fedora, qui ne produit que des versions majeures, et de RHEL, qui adapte au fur et à mesure les nouveautés de Fedora et qui corrige ses anomalies dans des versions mineures. Dans ces conditions, on n’aurait du avoir qu’un JBoss AS 6 suivi d’un JBoss AS 7 qui servirait de base au JBoss EAP 6. Les versions JBoss AS 8 pourraient servir pour les versions mineures JBoss EAP 6.x.
Ce modèle fonctionne bien si les versions AS ont peu de bugs, ou des bugs mineurs. Le risque serait de voir se reproduire le modèle CentOS qui se base sur les sources de RHEL pour faire une distribution redistribuable de qualité. On aurait donc pu voir des organisations qui se basent sur les sources de JBoss EAP pour recréer un distribution exempte des défauts d’AS. Seulement, les communautés Linux et Java ne se ressemblent pas et une telle évolution aurait certainement été néfaste à tout l’écosystème JBoss.
Voilà pourquoi je suis ravi de voir ces versions mineures. RedHat a écouté la communauté et fournit, avec elle, les corrections nécessaires à JBoss AS. Le projet AS va continuer à fournir des versions de qualité, utilisables en production pour ceux qui veulent assurer leur support eux-même. Les versions EAP continueront à apporter une plus-value sur la qualité, la fourniture de patches et, surtout, d’un support qui peut être rassurant pour des applications critiques.
PS : Je souhaite dédicacer cet article à Arnaud Simon avec qui nous avons eu une discussion agitée sur ce sujet lors de sa venue au LyonJUG en janvier 2011.