Uso de licença da comunidade MongoDB
Como o MongoDB introduziu seu próprio modelo de licença pública do lado do servidor para a versão da comunidade, eu me pergunto em quais casos de uso a versão da comunidade pode ser usada na produção.
Existem diferentes discussões na rede e a página oficial do mongodb mostra diferenças entre as diferentes versões (comunidade vs empresa), mas o que eu sinto falta é uma declaração clara para o caso de uso simples da versão da comunidade ao lado de tentar e brincar com ela localmente para fins de aprendizagem.
A versão da comunidade do MongoDB 4.x pode ser usada na produção? Existem interpretações que a resposta a esta pergunta é negativa .
Se ele puder ser usado na produção e a configuração simplificada típica do aplicativo com banco de dados pode ser assim:
FrontEnd -> BackEnd -> Database
Meu entendimento simplificado da nova licença é o seguinte:
- se eu expor o servidor MongoDB diretamente aos clientes, precisarei publicar o código-fonte de toda a configuração.
- se eu usar MongoDB em uma imagem docker customizada (com minha solução homebrew de backup / dump), em FE-> BE-MongoDB setup, no ambiente de nuvem e produção e meus clientes estão consumindo FE, isso não me obriga a publicar tudo fonte.
Isso está correto ou perdi algo importante? obrigado
Respostas
Meu entendimento do SSPL, com base no texto da licença e no FAQ do MongoDB, é:
Se você usar o MongoDB, ou uma versão modificada dele, em um site / aplicativo da web que não desligue os serviços de armazenamento de dados para seus usuários, a licença SSPL funciona da mesma forma que a licença GPL. Você pode usar a edição da comunidade sem problemas.
Se você fazer serviços de armazenamento de dados oferecer usando o MongoDB Community Edition em seu backend, então a SSPL requer que você tem a oferecer todo o código fonte para todo o software necessário para construir um serviço duplicado e que o código fonte devem ser oferecidos sob a licença SSPL.
Se algum código que você deve oferecer desta forma estiver sob uma licença incompatível com SSPL, que inclui as licenças GPL (L | A) e a maioria das licenças proprietárias, então não é possível cumprir este requisito.
Em qualquer caso, isso significa que o fator de diferenciação para o seu serviço só pode estar no hardware em que você precisa executá-lo, porque cada concorrente em potencial tem direito a uma cópia de seu software completo para iniciar seus negócios.
se eu expor o servidor MongoDB diretamente aos clientes, precisarei publicar o código-fonte de toda a configuração.
Se você expõe o MongoDB diretamente para os clientes, ou está oferecendo um serviço concorrente para as ofertas de nuvem do próprio MongoDB ou essencialmente criou um aplicativo da web apenas de front-end.
No primeiro caso, você deve definitivamente publicar o código-fonte para toda a configuração sob a licença SSPL (o que pode não ser permitido pelas licenças das ferramentas que você usou).
No segundo caso, você provavelmente está dando seus segredos comerciais aos usuários, mas se usar esse banco de dados MongoDB apenas para armazenar o inventário de sua loja virtual, por exemplo, isso não acionará as disposições em s13 do SSPL.
se eu usar MongoDB em uma imagem docker customizada (com minha solução homebrew de backup / dump), em FE-> BE-MongoDB setup, no ambiente de nuvem e produção e meus clientes estão consumindo FE, isso não me obriga a publicar tudo fonte.
Depende do que você está oferecendo aos seus usuários por meio desse FE. Se você está, por exemplo, oferecendo um serviço de backup para seus arquivos, então posso ver que tal serviço pode acionar a cláusula s13 do SSPL e exigir que você publique o código-fonte para toda a configuração, incluindo seu backup caseiro / solução de despejo e possivelmente até docker.