Utilisation des licences de la communauté MongoDB
Alors que MongoDB a introduit son propre modèle de licence publique côté serveur pour la version communautaire, je me demande dans quels cas d'utilisation la version communautaire peut être utilisée en production.
Il y a différentes discussions sur le net et la page officielle de mongodb montre les différences entre les différentes versions (communauté vs entreprise), mais ce qui me manque, c'est une déclaration claire pour le cas d'utilisation simple de la version communautaire en plus de l'essayer et de jouer avec elle localement à des fins d'apprentissage.
La version communautaire de MongoDB 4.x peut-elle être utilisée en production? Il y a des interprétations qui répondent à cette question est négative .
S'il peut être utilisé en production et que la configuration simplifiée typique de l'application avec base de données pourrait ressembler à:
FrontEnd -> BackEnd -> Database
Ma compréhension simplifiée de la nouvelle licence est la suivante:
- si j'expose directement le serveur MongoDB aux clients, je devrais publier le code source de l'ensemble de la configuration.
- si j'utilise MongoDB dans une image docker personnalisée (avec ma solution de sauvegarde / vidage homebrew), dans la configuration FE-> BE-MongoDB, dans l'environnement cloud et de production et que mes clients consomment FE, cela ne m'oblige pas à publier en entier la source.
Est-ce correct ou j'ai raté quelque chose d'important? Merci
Réponses
Ma compréhension de la SSPL, basée sur le texte de la licence et la FAQ MongoDB, est:
Si vous utilisez MongoDB, ou une version modifiée de celui-ci, dans un site Web / une application Web qui ne désactive pas les services de stockage de données pour ses utilisateurs, la licence SSPL fonctionne de la même manière que la licence GPL. Vous pouvez utiliser l'édition communautaire sans problème.
Si vous faites offre de services de stockage de données à l' aide du Community Edition MongoDB dans votre back - end, le SSPL exige que vous offrez tout le code source pour tous les logiciels nécessaires pour construire un service en double et que le code source doit être offerte sous licence SSPL.
Si l'un des codes que vous devez proposer de cette manière est sous une licence incompatible SSPL, qui comprend les licences (L | A) GPL et la plupart des licences propriétaires, il n'est pas possible de remplir cette condition.
Dans tous les cas, cela signifie que le facteur de différenciation de votre service ne peut résider que dans le matériel sur lequel vous devez l'exécuter, car chaque concurrent potentiel a droit à une copie de votre logiciel complet pour démarrer son entreprise.
si j'expose directement le serveur MongoDB aux clients, je devrais publier le code source de l'ensemble de la configuration.
Si vous exposez MongoDB directement aux clients, soit vous offrez un service concurrent aux offres cloud de MongoDB lui-même, soit vous avez essentiellement créé une application Web frontale uniquement.
Dans le premier cas, vous devez absolument publier le code source de l'ensemble de l'installation sous la licence SSPL (ce qui peut ne pas être autorisé par les licences des outils que vous avez utilisés).
Dans le second cas, vous donnez probablement vos secrets d'affaires à vos utilisateurs, mais si vous utilisez cette base de données MongoDB uniquement pour stocker l'inventaire de votre boutique en ligne par exemple, cela ne déclenche pas les dispositions de la s13 de la SSPL.
si j'utilise MongoDB dans une image docker personnalisée (avec ma solution de sauvegarde / vidage homebrew), dans la configuration FE-> BE-MongoDB, dans l'environnement cloud et de production et que mes clients consomment FE, cela ne m'oblige pas à publier en entier la source.
Cela dépend de ce que vous proposez à vos utilisateurs via cette FE. Si vous offrez, par exemple, un service de sauvegarde pour leurs fichiers, alors je peux voir qu'un tel service pourrait déclencher la clause s13 de la SSPL et vous obliger à publier le code source pour l'ensemble de la configuration, y compris votre sauvegarde / solution de vidage et peut-être même docker.