Base de données : la guerre est déclarée entre FerretDB et MongoDB

FerretDB propose aux géants du cloud de s’unir derrière un clone de MongoDB qui ne se base pas sur son code Open source, mais sur PostgreSQL. L’intéressé crie à la violation de propriété intellectuelle.

Du rififi dans le monde des bases de données. En marge d’un événement IT Press Tour consacré aux acteurs du stockage qui innovent en Europe, l’éditeur FerretDB est intervenu pour dénoncer la pression qu’il subirait de la part de son concurrent MongoDB. En filigrane, l’éditeur essaie d’unir les géants du cloud autour de sa solution, qui vient d’arriver en version 2.0, contre l’hégémonie de MongoDB.

« Nous éditons une alternative à la base de données MongoDB. Notre solution FerretDB, écrite en Go, consiste à rajouter une couche de compatibilité MongoDB [Base dite NoSQL, qui stocke ses données dans des fichiers et non des blocs, N.D.R.] par-dessus PostgreSQL. Nous ne reprenons rien du code de MongoDB. Mais ils nous menacent d’une action en justice pour copie illégale. Un comble alors qu’eux-mêmes revendiquent publier du code Open source », s’énerve Peter Farkas, le PDG de FerretDB (en photo en haut de cet article).

Cloner MongoDB, une quête qui ne date pas d’hier

Développé en Open source depuis 2007, MongoDB s’est imposé comme la base de données par excellence pour les applications web, car sa gestion des données sous forme de collections de fichiers BSON (une sorte de JSON binaire) est bien plus efficace que les bases SQL pour garnir les sites de contenus multimédias (images…). En fait, MongoDB inclut même un accès en mode fichier, GridFS, qui simplifie radicalement les développements. Fort de son succès, l’éditeur éponyme a décidé en 2018, avec la version 5.0, de changer la licence de son produit.

La SSPL (Server Side Public Licence), inventée pour l’occasion, est pratiquement identique à la GPL d’origine, si ce n’est que tout éditeur packageant MongoDB dans son application est obligé de partager lui aussi le code source de son logiciel. Selon FerretDB, il s’agirait d’une contrainte. Mimer le comportement de MongoDB par-dessus PostgreSQL, sous licence Open source BSD, ferait sauter cette contrainte.

FerretDB n’est pas le premier à mimer le fonctionnement de MongoDB. Microsoft, au travers de son service Azure Cosmos DB, apporte aussi une couche de compatibilité qui permet aux applications écrites pour MongoDB de fonctionner avec sa base multiformat. AWS a de son côté mené les mêmes efforts que FerretDB au travers de DocumentDB qui consiste à apporter à PostgreSQL une certaine compatibilité avec MongoDB, en l’occurrence avec sa vieille version 4.0. Citons aussi GaussDB.

Tous implémentent le langage de requêtes MQL créé par MongoDB, mais avec une compatibilité discutable. En l’occurrence, les différences seraient suffisantes pour qu’il soit impossible de migrer simplement le contenu d’une base MongoDB moderne vers autre chose. Sauf dans le cas de FerretDB, qui se revendique compatible avec les versions post-2018 de MongoDB. Celles sous licence SSPL.

Un standard MongoDB contre MongoDB

Là où le bât blesse est que FerretDB a manifestement tenté de réunir les géants d’Internet en début d’année sur sa technologie. En janvier, Microsoft a d’abord annoncé un service appelé, lui aussi, DocumentDB – plus exactement pg_documentdb_api – qui ajoute le support des fichiers BSON à PostgreSQL. FerretDB, cité comme partenaire technologique, a lancé dans la foulée une version 2.0 de son produit. Celle-ci est capable d’utiliser la couche DocumentDB de Microsoft, ce qui augmenterait singulièrement ses performances, jusqu’à un facteur 20. Au point de constituer, cette fois-ci, une véritable alternative libre à MongoDB.

À présent, FerretDB tâche de réunir AWS, Azure, Oracle et d’autres acteurs du cloud dans une initiative appelée OpenDocDB. Elle consiste à proposer une sorte de standard pour cloner MongoDB, sur la base de PostgreSQL et de sa solution 2.0. « Évidemment ! Le marché a besoin d’une nouvelle norme ouverte, sur le modèle de ce qu’a été SQL, mais pour le langage de requête MQL. De sorte que tout le monde ait exactement le même niveau fonctionnel », lance Peter Farkas.

Propriété intellectuelle ou Open source ?

MongoDB, qui voit son hégémonie menacée, ne l’entend pas de cette oreille et a fait parvenir plusieurs courriers d’avocat à FerretDB.

« Nous avons fait examiner leurs courriers par plusieurs équipes juridiques : leurs accusations sont sans fondement. D’ailleurs, ils ne nous ont toujours pas attaqués ».
Peter FarkasPDG, FerretDB

« FerretDB s’est approprié 15 années de recherche et de développement de MongoDB […]. Il viole le système de licence de MongoDB. Il s’appuie également sur une publicité déloyale en fournissant la couche proxy de FerretDB à des partenaires – dont SAP, Vultr, Scaleway – avec des instructions pour que ces vendeurs ajoutent la compatibilité MongoDB à leur propre base de données […]. FerretDB doit soit cesser et renoncer à proposer FerretDB, soit travailler avec nous pour obtenir une licence valide d’utilisation de nos spécifications », dit notamment l’un des courriers que LeMagIT a pu consulter.

« Voici à quoi cela ressemble lorsque MongoDB réalise que la SSPL n’est pas suffisante pour arrêter complètement la concurrence ! Ils ont progressé sur la promesse marketing de l’Open source et ils prétendent à présent faire payer des redevances. Ce n’est pas du véritable Open source, selon moi. Nous avons fait examiner leurs courriers par plusieurs équipes juridiques : leurs accusations sont sans fondement. D’ailleurs, ils ne nous ont toujours pas attaqués », conclut Peter Farkas. L’avenir dira si l’affaire sera portée devant un tribunal.

Pour approfondir sur Base de données