Distribuzione di software commerciale con lib di Apache 2.0 con dipendenze transitive LGPL

3

Ho un progetto software commerciale che utilizza una lib di terze parti (org.quartzscheduler), questa ha una licenza Apache 2.0. Ho pensato che stavo bene ma quando ho controllato le dipendenze transitive ho scoperto che Quartz usa la libreria c3p0 che è distribuita sotto la LGPL.

La mia comprensione è che la LGPL è una licenza copyleft abbastanza "debole" e quindi, non avendo modificato la libreria sotto la licenza, sono autorizzato a distribuire software commerciale che utilizza la lib senza dover fornire il mio codice sorgente.

La mia comprensione è corretta? Inoltre, in che misura devo preoccuparmi delle dipendenze transitive delle librerie che uso? Quanto devo andare in profondità?

    
posta paulnnosh 15.03.2016 - 22:38
fonte

1 risposta

1

LGPL è "più debole" della GPL, ma non nel modo in cui descrivi. La differenza non ha nulla a che fare con la modifica o meno della libreria LGPL.

Ecco una descrizione di alto livello molto approssimativa che dovrebbe aiutare a ottenere il tuo intuito sulla strada giusta: la GPL richiede che se il tuo programma usa un codice GPL, il tuo intero programma deve essere libero ( come definito dalle "quattro libertà" la FSF descrive qui ). La LGPL richiede che, se usi un codice LGPL, che il codice LGPL sia libero anche se il resto del tuo programma non lo è. In particolare, ciò significa che tutti gli utenti del tuo programma devono essere in grado di modificare la libreria LGPL'd nel tuo programma come preferiscono, anche se non sono in grado di modificare il resto del programma.

Se vuoi che il resto del tuo programma rimanga chiuso, in pratica il modo più semplice di rispettare la LGPL è di collegare il tuo programma alla libreria LGPL dinamicamente piuttosto che staticamente , poiché l'utente può facilmente scambiare un file .dll con un altro senza ricompilare o ricollegare il codice. Un'altra opzione meno comune è quella di fornire tutti i file oggetto che sono stati collegati staticamente al programma, ma non il loro codice sorgente, in modo che l'utente possa ripetere il collegamento se desidera modificare la libreria LGPL. Per ulteriori informazioni, ti consiglio vivamente di consultare la pagina delle FAQ ufficiali della FSF sulle licenze GNU .

Riguardo alle dipendenze transitive, la versione breve è che se questo ti preoccupa, hai bisogno di un vero avvocato per controllare questa roba. Se una delle tue dipendenze ha una dipendenza GPL che non conoscevi, stai ancora violando la GPL come chiunque altro, quindi questo può essere un problema serio.

    
risposta data 15.03.2016 - 22:59
fonte

Leggi altre domande sui tag