MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

È possibile utilizzare mongodb come database incorporato?

(Non ho ancora 50 punti rep su cui commentare e sviluppare la risposta accettata; altrimenti, mi dispiace!)

Puoi incorporare MongoDB nella tua soluzione OEM, ma ci sono due cose da considerare:

  1. È scritto in C++, quindi se stai codificando in un linguaggio diverso potresti dover scrivere un wrapper che avvii il processo del database separatamente.

  2. MongoDB è concesso in licenza in base a Gnu AGPL-3.0, che è una licenza server con sinistra di copia. La risposta accettata e la citazione del gruppo Google affermano entrambe correttamente che ciò normalmente costringerebbe anche l'utente ad avere la licenza AGPL. Tuttavia, MongoDb afferma che l'intenzione della licenza è di consentire la restituzione dei perfezionamenti al loro codice e che il tuo prodotto rimarrà separato. Questo mi fa pensare che non si applichino le normali regole del copy left.

L'obiettivo della licenza del server è richiedere che i miglioramenti a MongoDB vengano rilasciati alla comunità. La GPL tradizionale spesso non riesce più a raggiungere questo obiettivo poiché un'enorme quantità di software viene eseguita nel cloud. Ad esempio, Google non ha l'obbligo di rilasciare i propri miglioramenti al kernel MySQL:se lo fanno, si comportano bene.

Per rendere pratico quanto sopra, promettiamo che l'applicazione client che utilizza il database è un lavoro separato. Per facilitare ciò, i driver supportati da mongodb.org (la parte che colleghi alla tua applicazione) sono rilasciati con licenza Apache, che è priva di copyleft. Nota:se desideri una lettera firmata che affermi la promessa di cui sopra, ti preghiamo di richiederla via e-mail.

Fonte:http://www.mongodb.org/display/DOCS/Licensing