Ces éditeurs open source qui entrent en résistance face à Amazon
Confluent, Redis Labs et MongoDB ont modifié leur contrat de licence afin d'éviter que leur solution open source ne soit commercialisée par des fournisseurs tiers, comme AWS, sous la forme de services cloud managés.
Branle-bas de combat dans le monde de l'open source. Au cours de ces derniers mois, trois éditeurs du logiciel libre ont décidé de modifier leur modèle de licence afin de lutter contre la domination croissante des grands fournisseurs de cloud. Que leur reprochent-ils ? Ils constatent qu'Amazon Web Services, Alibaba Cloud et consorts prennent leurs logiciels gratuits et ouverts pour les reconditionner sous forme de services managés payants. Ces géants du cloud, et tout particulièrement AWS, tireraient ainsi profit des solutions open source sans contribuer au projet originel de façon satisfaisante.
Dans ce combat à la David contre Goliath, on trouve MongoDB et Redis Labs qui développent les bases de données open source éponymes tandis que Confluent est le principal développeur de Kafka, une plateforme de streaming événementiel, outil majeur du big data. Ces start-up ont vu rouge face notamment aux annonces faites par AWS. Depuis quelques années, la filiale d'Amazon propose la base de données Redis Labs en tant que service et a lancé, fin novembre, en version préliminaire publique Amazon Managed Streaming pour Kafka (Amazon MSK), basé sur Apache Kafka version 1.1.1. MongoDB a de son côté été vampirisé par des plateformes de cloud étrangères dont celles d'Alibaba, Tencent, Yandex et Baidu. En janvier, AWS lançait de son côté DocumentDB, une base de données compatible avec les composants MongoDB.
Trois éditeurs, trois modèles de licence différents
Pour protéger leurs intérêts commerciaux, les trois éditeurs ont fait des choix différents. Redis Labs a été le premier à tirer. Au cœur de l'été 2018, la société qui commerciale la base Redis décide de passer d'une licence AGPL (Affero GPL) à une licence open source Apache 2.0 encadrée par des clauses limitatives, les Common Clauses.
Si le cœur de Redis reste toujours sous licence BSD, ce nouveau cadre doit empêcher les fournisseurs de cloud de vendre des services gérés à partir des add-ons développés par Redis Labs comme le moteur de graphes RediSearch, le format JSON ReJSON ou les composants de machine learning, Redis-ML. En gros, il est possible de développer des produits internes, externes et commerciaux sur ces modules et de les vendre, mais pas de vendre directement les modules originaux.
"Les fournisseurs de cloud profitent de la communauté open source depuis des années"
"Ces modules représentent une valeur ajoutée que Redis Labs souhaite pouvoir fournir uniquement aux utilisateurs finaux souhaitant compiler et installer le système eux-mêmes, ou aux clients de Redis Labs utilisant ces services", avance sur son blog Salvatore Sanfilippo, créateur de la base. Tout en précisant qu'il continuera à écrire du code BSD pour Redis.
Dans un autre billet de blog, Yiftach Shoolman, cofondateur et CTO de Redis Labs, estime que "les fournisseurs de cloud profitent de la communauté open source depuis des années en vendant pour des centaines de millions de dollars des services basés sur du code qu'ils n'ont pas développé comme Docker, Spark, Hadoop, Redis ou Elasticsearch". Selon lui, "cela décourage la communauté d'investir dans le développement de code open source sachant que tous les gains potentiels vont aux fournisseurs de cloud plutôt qu'aux développeurs ou à leurs sponsors."
Trouble au sein de la communauté open source
Ce choix d'utiliser les Common Clauses a été diversement apprécié par la communauté open source pour qui la question du choix de la licence est un sujet particulièrement sensible. Les développeurs les plus activistes ont rappelé que le code devrait être gratuit pour tous, y compris les principaux providers de cloud. Pour eux, toute enfreinte à cette règle contredit l'essence même de l'open source. Ce changement de modèle pourrait, à leurs yeux, saper les fondements du monde libre, pilier de l'industrie du logiciel moderne. Dans un billet particulièrement virulent, le développeur Drew DeVault estime que ces Common Clauses vont ni plus ni moins détruire l'open source.
Une nouvelle licence baptisée Redis Source Available Licence
Interrogé par le JDN, Manish Gupta, directeur marketing de Redis Labs, rappelle que sa société a compris l'émoi de la communauté open source et que les commentaires ont aidé sa société à affiner sa vision en matière de licence. "Au cours de la dernière année, nous avons consulté des dirigeants de la communauté open source et des experts juridiques pour élaborer notre stratégie"
Cette réflexion a conduit Redis a proposer, en février dernier, une nouvelle mouture de sa licence baptisée Redis Source Available Licence. Avec RSAL, les développeurs peuvent utiliser les modules créés par Redis, modifier leur code source, l'intégrer à une application, utiliser, distribuer ou vendre leur application. La seule restriction est que l'application ne peut pas être une base de données, un moteur de mise en cache, un moteur de traitement de flux, un moteur de recherche, un moteur d'indexation ou un moteur de desserte ML/DL/AI. Yiftach Shoolman détaille le dispositif dans un nouveau post, schéma à l'appui.
Une stratégie que Redis Labs estime gagnante. Toujours en février, la société annonçait la clôture d'un financement de série E de 60 millions de dollars. Elle aura, à ce jour, collecté 146 millions de dollars. "Tous nos investisseurs, y compris le plus récent, Francisco Partners, ont l'habitude de travailler avec des sociétés open source et comprennent le besoin de licences open source pour évoluer avec l'ère du cloud, poursuit Manish Gupta. Ils nous ont beaucoup aidés dans notre approche en la matière tout en faisant entendre leur voix au sein de la communauté."
MongoDB demande l'approbation de l'OSI puis recule
Redis Labs s'est aussi réjoui de voir que d'autres éditeurs, Confluent et MongoDB, ont eu une approche similaire pour se protéger des fournisseurs de cloud, même s'ils ont fait des choix différents. Start-up fondée par les créateurs de Kafka, développée à l'origine au sein de LinkedIn, Confluent a, elle, décidé de passer d'Apache 2.0 à une licence dénommée Confluent Community License.
Cette nouvelle licence autorise les développeurs à télécharger librement, à modifier et à redistribuer le code mais il ne permet pas de fournir le logiciel comme une solution en mode SaaS. Cela signifie qu'Amazon Web Services, Google Cloud Platform ou Microsoft Azure ne pourront pas héberger KSQL Confluent pour en faire un "KSQL as a Service". Idem pour Confluent Schema Confluent, Confluent Connectors ou Confluent REST Proxy passés sous la Confluent Community License. Pour les autres, "c'est-à-dire 99,9999 % des utilisateurs, cela ne changera rien à leur usage du logiciel", assure Jay Kreps, PDG et cofondateur de Confluent, dans un billet, publié mi-décembre.
Red Hat a supprimé la prise en charge de MongoDB de son système d'exploitation Red Hat Enterprise Linux
Editeur d'une base de données NoSQL open source, MongoDB est peut-être celui qui a été le plus loin en soumettant sa nouvelle licence, Server Side Public License (SSPL), à l'approbation de l'Open Source Initiative (OSI), une organisation qui délivre en quelque sorte un tampon d'honorabilité aux licences estampillées open source. Avec SSPL, dévoilé en octobre, les développeurs peuvent toujours modifier et redistribuer le logiciel, mais si un individu ou une entreprise veut fournir publiquement MongoDB en tant que service, il doit ouvrir le code source de ce service et le rendre disponible à tous gratuitement. Dans le cas contraire, il doit obtenir une licence commerciale. Un choix que n'a pas apprécié Red Hat qui a supprimé la prise en charge de MongoDB de son système d'exploitation Red Hat Enterprise Linux.
Las, au bout de quelques mois, le 9 mars dernier, MongoDB jette l'éponge. Sachant qu'il n'obtiendrait pas l'aval de l'OSI, il annonce le retrait de sa demande d'approbation. Interrogé par le JDN, Eliot Horowitz, CTO et cofondateur, explique que "MongoDB reste déterminé à travailler une licence plus largement acceptée par la communauté FOSS (Free and open-source software, ndlr). Entre temps, bien que la SSPL ne soit pas approuvée par l'OSI, les utilisateurs de MongoDB sont libres d'examiner, modifier et distribuer le logiciel ou de redistribuer les modifications du logiciel conformément à cette licence."
AWS réplique et s'attaque à Elasticsearch
Le dernier coup de théâtre vient cette fois d'Amazon Web Services. Jouant le rôle de l'arroseur arrosé, AWS a lancé le 11 mars dernier sa propre distribution d'Elasticsearch. Le numéro un du cloud public tacle Elastic, l'éditeur du populaire moteur de recherche orienté documents, estimant que celui ne joue pas le jeu en développant des extensions propriétaires payantes. Baptisée Open Distro for Elasticsearch, la distribution d'AWS qui "n'est pas un fork", précise Jeff Barr, chief evangelist d'AWS, se veut 100% open source, sous licence Apache 2.0. Elle inclut également le logiciel de datavisualisation Kibana.
La réponse ne s'est pas faite attendre. Dès le lendemain, Shay Banon, le créateur d'Elasticsearch, a répliqué dans un long billet. Il rappelle qu'il a écrit les premières lignes du moteur de recherche en 2009, quitté son emploi et passé deux ans à concevoir le produit et développer la communauté qui l'entoure. "Nous croyons en l'open source et à la puissance qu'elle confère. Nous avons aussi indiqué dès le début pourquoi certaines fonctionnalités seront commerciales." Une transparence qui serait, selon lui, à l'origine du succès d'Elasticsearch.
"Notre marque a été utilisée, malmenée, détournée et dénaturée à de nombreuses reprises"
"Le code que nous avons écrit sous licence propriétaire en a "inspiré" d'autres, poursuit Shay Banon. Il a été copié sans ménagement par plusieurs entreprises, et on le retrouve dans certaines distributions ou dans certains forks, comme dans l'un des nouveaux services d'Amazon qui comporte malheureusement de graves bugs."
Plus loin, il reprend : "Notre marque a été utilisée, malmenée, détournée et dénaturée à de nombreuses reprises. Des entreprises ont déclaré de façon mensongère collaborer avec la nôtre, en l'occurrence Amazon." Pour asséner : "Lorsque des entreprises intéressées par notre succès viennent à nous pour contribuer au code et demandent un traitement de faveur qui les placerait au-dessus de nos utilisateurs, nous refusons. Cela est arrivé à de nombreuses reprises au fil des années, et dernièrement, ce fut le cas avec Amazon." La suite au prochain épisode ?