Quelle licence ?#
Changement de Licence#
- MongoDB a changé sa licence de la GNU Affero General Public License à la Server Side Public License (SSPL) en 2018.
- La licence SSPL n'est pas une licence open-source (au sens de l'Open Source Initiative).
- Cette modification est très controversée.
- En conséquence, MongoDB a été retiré des distributions Debian, Fedora et Red Hat Enterprise Linux, etc.
Info
Un logiciel libre (ou open-source) est un logiciel encadré par un contrat de concession de droit d'auteur (une "licence") prévu pour donner des droits à l'utilisateurs plutot plutôt que l'en priver.
Une licence de logiciel libre garantit les 4 libertés suivantes:
- Accès Ouvert : Le code source est accessible à tous, permettant l'examen, la modification et la distribution libre du logiciel.
- Liberté d'Utilisation : Les utilisateurs peuvent exécuter le logiciel pour n'importe quel usage sans aucune restriction.
- Liberté de Modification : Les utilisateurs ont la liberté de modifier le code source selon leurs besoins et exigences.
- Liberté de Distribution : Le logiciel peut être redistribué à d'autres, y compris les versions modifiées.
Alternatives et forks#
- Percona Server for MongoD: C'est un fork gratuit et open source de MongoDB qui offre des fonctionnalités similaires tout en restant sous la licence open source.
- Amazon DocumentDB: Bien que ce ne soit pas un fork, Amazon DocumentDB est une alternative qui offre une compatibilité avec MongoDB. Il s'agit d'un service de base de données propriétaire.
- Azure Cosmos DB: Semblable à Amazon DocumentDB, Azure Cosmos DB de Microsoft offre une compatibilité avec plusieurs bases de données, y compris MongoDB.
FerretDB : une alternative open-source#
En résumé#
- Se présente comme une alternative à MongoDB.
- Vise à apporter la même expérience utilisateur que MongoDB
- Garantit de rester fidèle à l'éthique open-source.
- Ce n'est pas un fork, c'est autre chose.
Caractéristiques#
Pas un Fork de PostgreSQL ou MongoDB :
- FerretDB n'a pas modifié PostgreSQL ou MongoDB.
- Fonctionne comme un proxy entre les pilotes MongoDB et une base de données backend.
- Construite sur un Postgres mais acceptant également d'autres backends (ex: Tigris).
Compatibilité :
- FerretDB est conçu pour être transparent et imite le comportement de MongoDB de toutes les manières possibles.
- Il peut être manipulé par des outils conçus pour MongoDB.
- La base de données Postgres sous-jacente peut également être gérée par des outils construits pour Postgres.
Performance :
- Des différences potentielles de performance.
- FerretDB focalisé sur la compatibilité plutôt que sur la performance.
- Des opportunités d'optimisation sont envisageables.
Pourquoi "Ferret" ? :
- En anglais, "to ferret out" signifie trouver quelque chose après une recherche minutieuse.