n°31
Juillet
2015
Retour sur la genèse de la HEP Software Foundation

Il y a un an, dans cette même lettre, j’avais présenté un processus naissant pour créer une collaboration internationale autour du software HEP. A cette époque, suite à un appel à contributions, il existait 10 « White Papers » exprimant ce que pouvait être cette collaboration. Et j’avais conclu par « il va s’agir à partir de ces contributions initiales de définir le consensus autour duquel peut se construire cette fondation et d’en jeter les bases pratiques ». Aujourd’hui, la HEP Software Collaboration est devenue la HEP Software Foundation (HSF) en référence à l’Apache Foundation. Certes, nous ne sommes pas au bout du chemin mais l’année a été très active !

A l’été 2014, tous les auteurs de « White Papers » et toutes les autres personnes intéressées se sont réunies pour constituer un comité intérimaire, l’iFB (interim Foundation Board) ; suivi par la mise en place en septembre 2014 d’une « startup team », de 6 puis 14 personnes, prêtes à consacrer un peu de leur temps à faire avancer le projet HSF, avec comme objectif premier : l’organisation du workshop de lancement en janvier 2015 à SLAC. Depuis, cette « startup team » se réunit toutes les semaines et rend compte des progrès à l’iFB tous les mois ! L’équipe a consacré beaucoup d’énergie à rencontrer les expériences, différents groupes et communautés, pour expliquer le projet, lever les malentendus et craintes que HSF ne soit qu’une nouvelle tentative d’hégémonie de la part du CERN ou de tout autre acteur sur les développements logiciels HEP.

Le workshop de SLAC qui a réuni 100 personnes pendant deux jours, a été une étape importante (cf. notes des discussions). Cette rencontre a permis d’affiner la définition du rôle de HSF et d’identifier les activités concrètes qui pourraient être mises en œuvre à court terme avec les moyens disponibles. Le consensus initial autour d’une structure légère fédérant des projets qui restaient autonomes suivant une approche bottom-up a été réaffirmé. Mais surtout trois personnes associées à des initiatives relativement similaires dans le domaine de l’open source (B. Behlendorf de Apache Software Foundation, Dan Katz de l’Univ. de Chicago, N.C. Hong du Sustainable Software Institute) avaient été invitées dans une session « Learning from Others » et ont unanimement confirmé que c’était la seule approche possible pour une collaboration durable.

HSF : un consensus pour une structure légère autour de projets autonomes, type « open source »

Les maitres mots sont « try-and-fail », « do-cracy », « darwinism », « transparency » qui se traduisent dans les faits par :
- l’importance de ne pas surdéfinir HSF mais de mettre en place des activités concrètes, en prenant le risque d’échouer, et d’analyser les résultats décevants ou les échecs ;
- des orientations et des décisions prises par ceux qui participent activement, pas au nom d’une appartenance ou d’un pouvoir institutionnel ;
- l’absence de planification des projets qui doivent naitre ou d’évaluation des projets qui doivent s’arrêter : laisser la communauté décider par l’adoption ou non des nouveaux projets et des nouvelles idées. Le rôle de HSF est de donner de la visibilité aux nouvelles idées (incubateur) afin que le darwinisme puisse s’exercer dans de bonnes conditions ;
- la transparence des actions et des décisions comme antidote aux peurs et soupçons de prise de pouvoir.

Si vous êtes intéressé par HSF, le principal point d’information est le site web http://www.hepsoftwarefoundation.org. Plusieurs activités ont été initiées pour construire cette collaboration durable et améliorer le potentiel de la communauté pour répondre aux défis de l’avenir.

- Training : Dans un premier temps, il a été décidé de recenser toutes les formations de qualité existantes sur des sujets pertinents pour les logiciels de la communauté et de mettre en place un portail permettant d’y accéder rapidement, avec un accent particulier sur le matériel en ligne.
- Software Packaging : Le but de HSF étant de permettre de réutiliser l’existant, un groupe a été chargé de définir un moyen permettant d’importer/intégrer un logiciel dans un autre, même si leurs outils de construction sont différents. Il ne s’agit en aucun cas de définir un nouvel outil de configuration qui s’imposerait à tous les projets HSF. Les containers pourraient être une partie de la réponse.
- Software Licensing : Réutiliser un logiciel suppose de respecter sa licence. Mais les différents logiciels de la communauté n’ont pas toujours des licences compatibles et beaucoup n’en ont tout simplement pas. Il s’agit de produire des recommandations pour les projets qui en souhaitent mais là encore pas d’imposer une licence unique.
- Software Project Support : Il s’agit de préciser ce que peut signifier concrètement la notion d’incubateur avec des projets qui accepteraient d’être des cobayes, définir différents types d’association entre des projets et HSF, fournir des modèles pour des nouveaux projets.
- Development Tools and Services : Il ne s’agit pas d’offrir des infrastructures d’hébergement (la recommandation étant d’utiliser GitHub) mais de donner accès à des outils ou des infrastructures disponibles dans certains laboratoires de la communauté comme le CERN ou FNAL.
- Communication and Information Exchange : Les deux principales actions concrètes sont la Software Knowledge Base qui répertorie les logiciels de la communauté et leur utilisation et les Technical Notes, des retours d’expériences faisant l’objet d’un minimum de « peer review ».

Les premières réalisations sont encore modestes. La « fatigue » (surtout la concurrence des multiples autres responsabilités) se fait un peu sentir chez les « fondateurs ». Mais la Software Knowledge Base existe, les premières Technical Notes sont imminentes, le portail « Training » est en bonne voie et plusieurs projets ont exprimé leur intérêt pour être des cobayes.

Le site est mis à jour très régulièrement, particulièrement les onglets « Events » et « Activities ». Si vous êtes développeur d’un logiciel, il suffit de demander un compte pour pouvoir l’ajouter à la Software Knowledge Base. Toutes les discussions autour des activités ont lieu via des mailing lists décrites dans l’onglet « Get Involved » : la liste principale de HSF (hep-sf-forum), peu verbeuse, et la liste (hep-sw-comp), en cours de constitution, de toutes les personnes impliquées dans le développement logiciel et plus largement l’informatique de nos communautés, à laquelle chaque informaticien de l’IN2P3 est invité à s’inscrire.

Un sigle à retenir : HSF

HSF pour HEP Software Foundation est né des besoins de la communauté HEP (de physique des particules), à cause des défis posés par la prochaine génération d’expériences (HL-LHC, Belle2, « Intensity Frontier experiments ») dites de haute luminosité, haute énergie, ou encore de haute intensité pour la physique des neutrinos. Pour répondre à ce défi, il est apparu nécessaire de construire une vraie collaboration allant au-delà des enjeux immédiats et au-delà du seul domaine de la physique des particules. Cette collaboration se veut ouverte à toutes les communautés qui partagent du logiciel ou des défis techniques avec le monde HEP, particulièrement la physique nucléaire et les astro-particules. Dans cette perspective, l’IN2P3 qui regroupe toutes ces communautés à un rôle particulier à jouer pour établir le contact autour du projet HSF.

Michel JOUVIN (LAL)

Rechercher
     

Directeur de la publication  : Alain FUCHS.
Responsables éditoriaux : Giovanni LAMANNA et Pierre-Etienne MACCHI.
Comité de rédaction : Frédérique CHOLLET LE FLOUR, Virginie DELEBARRE DUTRUEL, Christian HELFT, Dirk HOFFMANN et Gaëlle SHIFRIN.

logo CCIN2P3
© CCIN2P3