Utilizzo della licenza della community MongoDB
Poiché MongoDB ha introdotto il proprio modello di licenza pubblica lato server per la versione community, mi chiedo in quali casi d'uso sia consentito l'uso della versione community in produzione.
Ci sono diverse discussioni in rete e la pagina ufficiale di mongodb mostra differenze tra le diverse versioni (community vs enterprise), ma quello che mi manca è una chiara dichiarazione per il semplice caso d'uso della versione community oltre a provarla e giocarci localmente per scopi di apprendimento.
La versione della community di 4.x MongoDB può essere utilizzata in produzione? Ci sono interpretazioni che la risposta a questa domanda è negativa .
Se può essere utilizzato in produzione e la tipica configurazione semplificata dell'applicazione con database potrebbe essere simile a:
FrontEnd -> BackEnd -> Database
La mia comprensione semplificata della nuova licenza è la seguente:
- se espongo il server MongoDB direttamente ai clienti, dovrei pubblicare il codice sorgente dell'intera configurazione.
- se utilizzo MongoDB in un'immagine Docker personalizzata (con la mia soluzione di backup / dump homebrew), nella configurazione FE-> BE-MongoDB, nell'ambiente cloud e di produzione ei miei clienti consumano FE, ciò non mi obbliga a pubblicare l'intero fonte.
È corretto o mi sono perso qualcosa di importante? Grazie
Risposte
La mia comprensione della SSPL, basata sul testo della licenza e sulle FAQ di MongoDB, è:
Se si utilizza MongoDB, o una versione modificata di esso, in un sito web / web-application che fa non è fuori servizi di data-storage per i propri utenti, allora la licenza SSPL funziona allo stesso modo la licenza GPL. Puoi usare l'edizione della community senza problemi.
Se fai offrire servizi dati-archiviazione utilizzando il MongoDB Community Edition nel back-end, allora l'SSPL richiede che si offrono tutto il codice sorgente per tutto il software necessario per costruire un servizio di duplicati e che il codice sorgente deve essere offerto sotto licenza SSPL.
Se uno qualsiasi del codice che devi offrire in questo modo è soggetto a una licenza incompatibile con SSPL, che include le licenze GPL (L | A) e la maggior parte delle licenze proprietarie, non è possibile soddisfare questo requisito.
In ogni caso, significa che il fattore di differenziazione per il tuo servizio può risiedere solo nell'hardware su cui devi eseguirlo, perché ogni potenziale concorrente ha diritto a una copia del tuo software completo con cui avviare la propria attività.
se espongo il server MongoDB direttamente ai clienti, dovrei pubblicare il codice sorgente dell'intera configurazione.
Se esponi MongoDB direttamente ai clienti, stai offrendo un servizio concorrente alle offerte cloud di MongoDB stesso o hai essenzialmente creato un'app Web solo front-end.
Nel primo caso, devi assolutamente pubblicare il codice sorgente per l'intero setup sotto la licenza SSPL (che potrebbe non essere consentita dalle licenze degli strumenti che hai utilizzato).
Nel secondo caso, probabilmente stai dando i tuoi segreti aziendali ai tuoi utenti, ma se usi quel database MongoDB solo per archiviare l'inventario del tuo negozio online, ad esempio, ciò non attiva le disposizioni in s13 della SSPL.
se utilizzo MongoDB in un'immagine Docker personalizzata (con la mia soluzione di backup / dump homebrew), nella configurazione FE-> BE-MongoDB, nell'ambiente cloud e di produzione ei miei clienti consumano FE, ciò non mi obbliga a pubblicare l'intero fonte.
Dipende da cosa offri ai tuoi utenti tramite tale FE. Se, ad esempio, stai offrendo un servizio di backup per i loro file, allora posso vedere che un tale servizio potrebbe attivare la clausola s13 della SSPL e richiederti di pubblicare il codice sorgente per l'intera configurazione, incluso il tuo backup casalingo / soluzione di dump e forse anche docker.