Vorrei pubblicare una libreria software scritta in un linguaggio di programmazione orientato agli oggetti (Java) su un servizio di hosting di codice sorgente basato sul web , che consente ai fusti del progetto di essere uniti nel progetto principale (GitHub tramite richieste pull). Ho fatto ricerche sul web e ho riflettuto molto su come ottenere la licenza del software. Sono corretto nelle seguenti ipotesi (da una IANAL prospettiva)?
-
Sia LGPL che MPL promuovono la condivisione delle modifiche al software con licenza LGPL / MPL utilizzato in altri progetti software. Invece di richiedere agli utenti della libreria modificata di ospitare un fork separato della libreria, posso promuovere contribuire alla libreria originale (ad esempio tramite richieste pull).
-
La principale differenza è il modo in cui il codice della licenza MPL / LGPL deve essere collegato al progetto. I file di codice sorgente MPL possono essere copiati direttamente in un (possibilmente) progetto software proprietario ( collegamento statico ), mentre il codice con licenza LGPL deve essere linkato dinamicamente (liberamente collegato al proprietario possibilmente progetto software, in modo che gli utenti finali possano cambiare la libreria software con licenza per un'altra versione della libreria software concessa in licenza).
-
Il collegamento dinamico e quindi LGPL impongono ulteriori ostacoli per l'imballaggio del prodotto software proprietario, senza promuovere ulteriori contributi alla libreria del software open source che con il collegamento statico (e quindi MPL). C'è un LGPL modificato che consente il collegamento statico.
-
non ci sono altre differenze rilevanti (da una prospettiva IANAL ).
-
Le precedenti versioni di licenza non soddisfano le mie esigenze e quelle più nuove.
Come puoi vedere, il mio requisito principale è che le modifiche della libreria software che potrebbero rivelarsi utili per il pubblico rimangano open-source, senza imporre restrizioni sull'utilizzo della libreria software in un prodotto proprietario.
Non esiste una licenza che richieda anche estensioni della libreria software che sono rilevanti per il lavoro originale da rilasciare come open-source, poiché l'ambito del termine rilevante può essere arbitrariamente piccolo / enorme, finendo quindi come GPL che non può essere utilizzato in un prodotto proprietario (senza rilasciare l'intera fonte).
Sono tentato di utilizzare modificato LPGL , ma d'altra parte scoraggiato dall'impopolarità. In base ai punti sopra, preferisco MPL.
Domanda: le mie affermazioni sopra sono corrette? Quale licenza dovrei scegliere considerando i miei requisiti?
Soluzione: con l'aiuto della discussione nella risposta accettata, scelgo di attenermi alla MPL a causa della popolarità , libertà nel collegamento e perché è una licenza ufficiale, non modificata .