Comment fonctionne la Fondation Apache

Comment fonctionne la Fondation Apache Hadoop, OpenOffice... Comment ces projets open source phares de la fondation sont-ils gérés ? Quelles conditions doivent-ils réunir pour devenir des "Top-Level Projects" ?

Les "Top-Level Projects" de la Fondation Apache sont des projets open source qui peuvent profondément marquer l'informatique. Ce prestigieux "label" a été attribué au fameux Apache HTTP Server, mais aussi à OpenOffice, Lucene, CloudStack, Hadoop, et d'autres autres solutions qui brillent aujourd'hui dans le Big Data comme Hive ou HBase, entre autres. Comment l'obtenir, et quelles exigences doivent être satisfaites ?

Fondation Apache : un fonctionnement hérité d'une histoire 

A l'origine, la Fondation Apache est une communauté qui a continué à maintenir le serveur NCSA HTTPd au milieu des années 1990. C'était un serveur web disponible gratuitement, avec un code source ouvert, et une licence très permissive qui autorisait à modifier et redistribuer ce code. Au terme de la phase de support officiel de cette technologie, les utilisateurs ont continué à s'échanger des patchs. La Fondation Apache est née, et, entre 1995 et 1999 ce serveur web va tout simplement devenir leader sur le marché...

La méritocratie est l'un des socles du fonctionnement de la Fondation Apache

Ce qu'il faut retenir de cette genèse, c'est que ce serveur web n'a pas été initié par un seul développeur, mais par plusieurs. Et lorsqu'un utilisateur s'investissait suffisamment dans le projet, la communauté l'autorisait à prendre une place plus importante dans le développement - comme s'il s'agissait de récompenser son mérite. La Fondation Apache va ériger ce fonctionnement, et surtout cette méritocratie comme principe fondateur. Elle tient encore beaucoup à ce que cette méritocratie soit le socle de son fonctionnement - ainsi qu'à son indépendance.

Cette méritocratie régit en effet tout son organisation, notamment celle de son incubateur, qui accueille tous ses projets avant qu'ils ne puissent devenir des "Top-Level Projects". Comme l'explique la Fondation sur son site, cet incubateur doit en effet "filtrer les projets qui n'arriveront pas à appliquer avec succès cette méritocratie". Passer de l'incubateur au projet de niveau "Top Level" prend plusieurs mois – en général un ou deux ans. Comme la Fondation a un fonctionnement décentralisé, la promotion au statut de "Top Level" veut aussi dire que le projet est capable de se gouverner seul et, évidemment, selon une façon de faire maison.

La "façon de faire" d'Apache

apache
La Fondation Apache réalise un chiffre d'affaires de plus d'un demi-million de dollars. Elle ne compte aucun employé, mais le nombre de ses volontaires a fortement augmenté (passant de 2600 à 3500 en 2 ans). Elle supporte désormais plus de 150 projets "Top Level". © Apache.org (capture)

Et cette "façon de faire" nécessite une communauté autonome qui fonctionne bien. Cette communauté doit être impérativement composée d'individus agissant pour l'intérêt du projet incubé (et non le leur ou celui de leur employeur), comme l'exige clairement la Fondation et le souligne aussi Shane Curcuru, membre de l'organisation depuis plus de dix ans et promoteur de cette façon de faire, "The Apache Way".

Quant à la méritocratie, elle devra récompenser les meilleurs contributeurs, qui devront ensuite pouvoir évoluer vers des postes à responsabilité au sein de la Fondation (en étant par exemple élu membre du "Project Management Committee" qui gère les projets). Vouloir accorder des responsabilités aux contributeurs actifs est aussi censé permettre de bien faire tourner la gouvernance.

Les prérequis pour une bonne incubation

L'incubation au sein de la Fondation exige d'autres prérequis, dont les plus importants sont sans doute : un code qui fonctionne déjà, et l'intention de donner à la Fondation les droits associés au logiciel. Bien sûr, un membre devra aussi agir comme "mentor", donnant l'orientation et faisant le lien entre le projet et la Fondation. Un projet incubé avec succès pourra ensuite devenir un vrai projet Apache (un "Top Level"), rejoindre un autre projet Top Level ou... être retiré. Evidemment, on parle plus des projets qui réussissent que de ceux qui ratent - ces derniers sont pourtant assez nombreux.

La maturité du code ne garantit pas que le projet devienne un 'Top Level'

Mark Hinkle, Senior Director Open Source Solutions chez Citrix, a notamment pu s'occuper de l'arrivée de CloudStack au sein de la Fondation Apache. Pour rappel, le code de CloudStack permet de déployer un service d'infrastructure (IaaS). Il a été acquis par Citrix avant d'être "donné" à la Fondation Apache. Or, lorsque CloudStack a rejoint l'incubateur, il s'agissait clairement déjà d'un code mature. Il n'est pourtant pas immédiatement passé Top Level pour autant. OpenOffice a eu exactement le même destin, d'ailleurs. "La maturité du code ne garantit pas que le projet devienne un 'Top Level'", a ainsi pu conclure Mark Hinkle. Selon lui, ce qu'il faut, c'est avant tout mettre en place et respecter les conditions de gouvernance et de fonctionnement souhaitées par la Fondation.

Et il n'y a pas que le code du logiciel qui doit être ouvert pour remplir ces conditions. Les décisions doivent être aussi prises en toute transparence, via les messages envoyés à la mailing list et non au sein d'échanges privés qui auraient lieu dans des bureaux fermés. Autre prérequis : une infrastructure doit aussi être mise en place pour traquer les bugs, les avis, les dépôts de source, mais aussi pour la mailing list, le site web du projet et sa promotion...

Le respect de la licence Apache

Le guide détaillant toute la procédure, très encadrée, pour pouvoir publier un logiciel Apache montre aussi toute l'importance qu'il faut accorder au respect de la licence du même nom. La licence Apache, de la famille des BSD, est des plus permissives. Sans copyleft, elle n'oblige pas ses utilisateurs à la reprendre, et le code peut être librement intégré à une offre commerciale. La publication d'un logiciel Apache doit aussi obtenir le feu vert des membres lors de plusieurs votes au sein de la Fondation. Bref, "le projet doit être examiné sous toutes les coutures avant qu'il y ait une autorisation à la publication et la diffusion", résume Mark Hinkle.

Big Data / Incubateur