AWS coupe l'herbe sous le pied d'Elastic, l'éditeur de logiciels fondé par le créateur d'Elasticsearch Shay Banon pour fournir du support et des briques commerciales autour du très populaire moteur de recherche orienté documents. Le numéro 1 du cloud public vient en effet de lancer Open Distro for Elasticsearch, décrit comme une distribution à valeur ajoutée 100% open source (sous licence Apache 2.0) du moteur de recherche et qui sera supportée par AWS. La distribution inclut aussi le logiciel de datavisualisation Kibana. Cette annonce a donné lieu à une passe d'armes par billets de blog interposés entre AWS et Shay Banon, CEO d'Elastic.
« Ce n’est pas un fork », a affirmé Jeff Barr, évangéliste en chef chez AWS. « Nous continuerons à envoyer nos contributions et correctifs en amont pour faire avancer ces projets ». En plus d’Elasticsearch et Kibana, la 1ère version inclut un jeu de fonctionnalités avancées de sécurité, de gestion des alertes et de surveillance des événements, d’analyse de performance et de requête SQL. Toutes fonctions qu'Elastic développe en partie sous un mode commercial, le moteur Elasticsearch étant de plus en plus utilisé pour faire de l'analyse de logs dans le domaine de la sécurité et surveiller la performance applicative, ainsi que nous l'a confirmé Shay Banon, CEO d'Elastic, lors d'un entretien sur la conférence ElasticON Paris 2019 en février.
AWS explique vouloir garder l'open source ouvert
AWS fournit Open Distro for Elasticsearch et Kibana dans un référentiel de code source et sous forme de RPM et de containers Docker avec des téléchargements séparés pour SQL JDBC et PerfTop CLI. « Les contributions sont les bienvenues, de même que les rapports sur les bugs et les demandes de fonctionnalités », ajoute Jeff Barr. Avec cette annonce, Amazon dit vouloir « garder l’open source ouvert ». C'est ce qu'affirme dans un billet séparé Adrian Cockcroft, vice-président de la stratégie architecture cloud chez AWS. Il y rappelle qu’Elasticsearch, livré sous licence Apache 2.0, occupe une place centrale dans la productivité quotidienne des développeurs, des spécialistes en sécurité et des équipes opérationnelles.
« Malheureusement, depuis juin 2018, nous avons constaté un important mélange de code propriétaire dans le code de base », écrit Adrian Cockcroft dans son billet. Il y a un an, Elastic a en effet décidé d’ouvrir le code des briques propriétaires qu’il a développées autour du moteur de recherche open source afin d’augmenter l’engagement de la communauté autour de ses fonctionnalités commerciales. Le mois dernier, sur ElasticON, Shay Banon a consacré son keynote à l’explication de cet équilibre délicat entre open source et code propriétaire. Un premier bilan montre que les clients adoptent la démarche et commencent à contribuer, nous avait-il alors indiqué.
« Des éditeurs qui troublent l’eau » entre open source et code propriétaire
Pour Adrian Cockcroft, la situation n’est pas claire. Le vice-président stratégie infrastructure d’AWS estime que, même si un téléchargement Apache 2.0 d’ElasticSearch est toujours disponible, il y a un manque de clarté important sur ce que récupèrent les clients qui plébiscitent l’open source. « Par exemple, aucune note ni documentation ne clarifie ce qui est open source et ce qui est propriétaire », regrette-t-il. « Les développeurs en entreprise peuvent par inadvertance appliquer un correctif ou une amélioration à du code source propriétaire. C’est difficile à suivre et à gouverner, peut conduire à une rupture de licence et à la résiliation des droits (pour le code propriétaire gratuit et payant) ».
Adrian Cockcroft ajoute que les soumissions de code individuelles contiennent elles aussi de plus en plus un mélange d’open source et de code propriétaire, ce qui complique la tâche des développeurs qui ne veulent contribuer qu’à la partie open source du moteur de recherche. Selon lui, il en résulte que le focus sur l’innovation s’est déplacé de la distribution open source vers la distribution propriétaire accentuant ainsi la popularité de cette dernière. « Cela signifie que la plupart des nouveaux clients d’Elasticsearch exploitent en fait du logiciel propriétaire », écrit-il. « Nous avons discuté de nos inquiétudes avec Elastic, qui s’occupe d’Elasticsearch, y compris en proposant de consacrer des ressources pour aider à supporter une version d’Elasticsearch tirée par la communauté et sans mélange. Ils ont clairement indiqué qu'ils avaient l'intention de continuer sur leur lancée ». En évoquant par ailleurs Oracle et son support de Java, auquel Amazon a répondu en lançant Corretto, sa distribution de l’OpenJDK, le vice-président estime voir plusieurs exemples d’éditeurs qui maintiennent des logiciels open source et qui « troublent l’eau entre la communauté open source et le code propriétaire qu’ils ont créé pour monétiser l’open source ».
Des intentions masquées par « un faux altruisme »
Dans la foulée, Shay Banon a répondu dans un billet en rappelant d’abord l’importante contribution qui a été apportée au moteur Apache Lucene sur lequel repose Elasticsearch et l’apport de briques complémentaires fait à ce dernier (Kibana, Logstash, PacketBeat…), ainsi que le renforcement des communautés autour des logiciels. « Nos produits ont connu des forks, ont été redistribués et repackagés tant de fois que j'en ai perdu le décompte. (…) Depuis les grandes entités chinoises jusqu’à, maintenant, Amazon. » Pour Shay Banon, il y avait toujours une « raison » à cela, « parfois masquée par un faux altruisme ou bienveillance. Aucun d’eux n’ont duré. Ils avaient été construits pour servir leurs propres besoins, semer la confusion et faire voler la communauté en éclats », pointe-t-il. Le CEO d'Elastic pense avoir au contraire construit avec ses utilisateurs un niveau de confiance, l’innovation attendue et une collaboration incroyable. « Je crois en l’open source et en la puissance qu’il apporte. Nous avons également indiqué depuis le début que certaines fonctionnalités seraient commerciales et pourquoi. Notre honnêteté, je crois, est l’une des raisons de notre succès partagé ».
« Quand des entreprises sont venues nous voir, en constatant notre succès, et ont sollicité des relations de travail spéciales pour collaborer sur le code, en demandant un traitement préférentiel qui les placeraient au-dessus de nos utilisateurs, nous leur avons dit non », relate le créateur d'Elasticsearch. « C’est arrivé de nombreuses fois au cours des années, et encore récemment, cette fois avec Amazon. (…) Nous avons un engagement à traiter chaque développeur individuel contribuant à nos produits de la même façon que les autres. (…) Notre réponse a toujours été une constante : envoyez un pull request, comme tout le monde le fait. La qualité parlera d’elle-même », conclut Shay Banon.
Commentaire