mardi 7 février 2012

Fosdem 2012 (1/2) Samedi 4 Février


Les 4 et 5 Février 2012 se déroule Fosdem à l'Université Libre de Bruxelles, le plus grand rassemblement en Europe de développeurs et communautés du logiciel libre. Une des caractéristiques de cet événement est d'être réellement communautaire et de présenter un niveau technique très haut, des retours d'expériences des communautés, plutôt que des discours marketing. Chaque année j'ai hâte d'y aller, que me réserve Fosdem cette année ?
Samedi matin glacé à Paris, je prends le train à la gare du Nord. Une bande de développeurs de Linagora animent bruyamment le wagon. Le train aura 30 minutes de retard, normal pour un Thalys. Je retrouve Bruxelles sous la neige, me dirige vers l'université, le wifi de Fosdem marche immédiatement sur mon ordi et téléphone, c'est bon de se sentir comme chez soi.

Robert Dewar / Free Software: A viable model for Commercial Success

Grand amphi Janson, Robert Dewar de la société Adacore nous fait un retour d'expérience sur la manière dont ils présentent les logiciels libres et leur société à leurs clients. Adacore édite sous licence GPL3 (comme GCC) la suite d'outils GNAT pour la programmation en langage Ada. Ils travaillent essentiellement pour des grands comptes qui font des applications critiques, c'est à dire dont dépend la vie des utilisateurs. On comprend aisément qu'au moment de choisir leurs outils les clients d'Adacore soit assez peu sensibles au coté libertaire et festif du logiciel libre... Adacore fournit à ses clients les logiciels sous une licence modifiée afin de leur permettre de les inclure dans leurs logiciels propriétaires sans violer la licence. Avec des logiciels libres, Adacore ne facture pas en vendant des licences, il n'y a pas de cout par pièce. Ils se monétisent par des contrats de souscriptions annuelles à leur support. Adacore gagne de l'argent à partir du moment ou ses clients renouvellent la souscription. Robert nous raconte qu'en fait tous les développeurs travaillant pour Adacore font surtout du support. Leurs clients passent par eux par ce que dans un usage industriel la garantie et le support sont cruciaux. Ces sociétés rétreignent l'usage de logiciels téléchargés et veulent un très haut niveau de certification. Robert souligne qu'il faut faire très attention aux licences dans un cadre industriel, par exemple Cygwin qui doit être acheté à Red Hat pour un usage propriétaire à cause de la GPL. Adacore montre que ce modèle fonctionne, et Robert conclue qu'il aimerait voir plus de sociétés suivre cet exemple, par exemple appliquer ce modèle à Windows pourrait marcher pour Microsoft.

Richard Jones / libguestfs - tools for modifying virtual machine disk images


Manipuler des images disques est un vieux problème, mais avec le Cloud et devops il devient crucial. Richard Jones de Red Hat présente un ensemble d'outils qui facilitent ces manipulation. libguestfs est une lib qui peut être utilisée via un ensemble d'outils en ligne de commande comme via une API assez simple exploitable en C, Perl, Python, Ruby, Java etc. Ce qui est remarquable c'est que cet outil colle vraiment bien aux usages quotidiens de la manipulation d'images disques. En plus d'outils pour créer ou redimensionner une image, on trouve des outils malins qui auditent l'image afin de trouver quel OS est dessus, ou quel logiciel est installé. On trouve aussi un logiciel créant une image tout simplement à partir d'un Tar. Un petit outil vraiment remarquable.

400+ conférences, difficile de choisir. Je me rends à la track JBoss pour assister à la présentation Openshift, annulée faute de speaker ! Bon c'est le bon moment pour aller faire le tour des stands !

Carlo De Wolf / JBoss AS7 : Building JBoss AS 7 for Fedora


C'est ensuite à une présentation singulière à laquelle j'ai assisté. Carlo De Wolf a fait une très courte présentation de JBoss Application Serveur 7, juste deux idées : AS7 est léger et rapide. Il a ensuite souhaité entrer en conversation avec le public afin de comprendre en quoi JBoss AS pouvait être meilleur pour la communauté libre. Carlo a lancé une discussion sur le terme F(L)OSS : logiciel libre et Open Source sont deux termes bien définis, le terme FOSS n'a par contre pas de définition claire. Carlo a ensuite interrogé l'assistance sur les conditions réelles de la liberté des logiciels. JBoss AS7 est infiniment compliqué à construire tant il réunit de composants ayant chacun des dépendances et des modes de construction disparates. Il faut pour que la communauté puisse s'emparer d'un logiciel et que les distributions puissent le packager que ce logiciel puisse réellement être construit à partir des sources et avec des outils eux même libres.  Carlo indique que ce travail de Titan a été commencé chez Red Hat, il y a 150 composants à décortiquer et valider pour les packager dans Fedora. Une bonne part de la discussion a porté sur Maven. Cet outil simplifie la vie des développeurs en permettant de ne gérer que les dépendances directes, en laissant le soin à Maven de tirer les dépendances transitives. Le problème c'est que Maven download le monde et qu'à l'arrivée plusieurs versions d'une même bibliothèque peuvent être simultanément utilisées, ce qui est un cauchemar côté Ops ou côté packageur. Il compare cela à une forme d'obésité, car c'est un comportement compulsif qui alourdit nos logiciels. Une pierre dans le jardin de Java.

Koen Aers / JBoss Forge - Arquillian: Two Missing Links in Enterprise Java Development


JEE6 présente un nouveau visage, très allégé par rapport à la Grande Epoque des EJB2, mais encore intimidant. Comment commencer vite ? comment avoir une base saine ? comment ajouter des fonctionnalités au fur et à mesure du développement, comme une API Rest par exemple ? JBoss présente un nouvel outil appelé JBoss Forge qui assiste la construction d'un projet JEE6. Cet outil se présente sous la forme d'un shell, intégré dans Eclipse, dans lequel on décrit des choix d'architecture et des classes du domaine, en laissant à l'outil le soin de scaffolder, de créer les fichiers correspondants. C'est une tellement bonne idée que Spring l'avait eue il y a quelques années en créant Spring Roo ! Spring Roo est ici entièrement décalqué, même philosophie, mais aussi mêmes syntaxes. Où est la différence ? JBoss Forge a quelques gros avantages : contrairement à Roo il n'utilise pas d'aspects, ne place pas des annotations spécifiques sur le code source et... il crée des applications qui se passent de Spring Framework ! Spring était l'antidote à la lourdeur de J2EE, JEE est à présent l'antidote à la lourdeur de Spring.

Koen Aers présente également Arquillian, un projet malin pour faire tourner des tests entièrement en intégration dans le ventre du server d'application. Arquillian package le test, le déploie, le fait tourner, récupère les résultats et le retire. Ce micro déploiement est très rapide sur la dernière génération de JBoss AS, un bon point.

Manik Surtani / Infinispan: where open source, Java and in-memory data grids converge

Manik avait déjà présenté Infinispan à Fosdem l'an dernier, il revient cette année pour nous en donner les avancées. Infinispan est une implémentation de la JSR 107 sur le cache et de la JSR 347 sur le data grid. Comme son numéro l'indique, la JSR 107 est l'une des plus vielles JSR à être encore en cours de construction. Elle propose une interface similaire à une Map pour interagir avec des données cachées. Elle devrait être enfin publiée pour JEE7. La JSR 347 sur le data grid est une extension de celle sur le cache qui sera peut être publié dans JEE8. Elle apporte des fonctionnalités avancées telles que des accès asynchrones, du map/reduce ou de l'affinité des données avec leur localisation. Avant même ces standardisations, Infinispan permet ces fonctionnalités et avance en maturité, en sureté de fonctionnement et en optimisation. Combiné au projet Hibernate Object/Grid Mapper, Infinispan permet aujourd'hui d'écrire des entités annotées avec JPA et de les voir réparties dans un data grid.

Jon Vanalten et Omair Majid / Thermostat: Taking over the Java tooling world with Open Source Software

Wahoo ! Voila un titre alléchant ! Je vais assister à la track Java pour voir cela. Jon Vanalten et Omair Majid de Red Hat vont révolutionner le Monde de l'outillage, ok, mais il ne savent pas comment. Ils s'attaquent à la problématique du monitoring des systèmes d'exploitation et des JVM, que ce soit en local ou à distance. Dans ce domaine il y a certainement quelque chose à faire, pas vrai ? Mais ils ne savent pas quoi, alors ils tournent autour, ils ont réinventé un système de monitoring, composé d'un agent, un store et un client de visualisation. Ils ont doté leur agent de plugins, bah par ce que ça a besoin de plugins un agent, pas vrai ? Au lieu de se concentrer sur le coeur du problème, faire du sens à partir des chiffres collectés, ils construisent un énorme boilerplate et attendent vos suggestions et cas d'usages. Le pire, c'est que ce ne sont pas les seuls.

Andrew Dinn / Tracing, Debugging and Testing With Byteman 

Andrew Dinn, toujours de chez Red Hat, travaille sur un outil de manipulation de bytecode malin appelé Byteman. L'instrumentation est faite par un agent qui est associé à la JVM et qui manipule les classes directement en mémoire. Les manipulations sont décrites sous la forme de petits textes descripteurs. J'ai l'impression que la différence avec AspectJ est que Byteman pourrait être plus indiqué pour auditer un code, le tracer et le tester simplement, sans rien toucher à son code ou à ses dépendances.

La nuit a recouvert Fosdem, il est temps de migrer vers le centre historique, de choisir ses chocolats et d'aller avec des potes dans un délicieux Resto-Pub-Salon-de-thé-Italien que je ne vous recommanderai pas ;-)

à suivre, le Dimanche à Fosdem.
crédit photo : Stéphane Bagnier

1 commentaire:

  1. Le monde des geeks n'aiment pas les femmes ou est-ce les femmes qui n'aiment pas le monde des geeks ? :-)

    RépondreSupprimer