Ho due plug-in. Uno ha la licenza GNU LGPL 3 e l'altro ha la licenza del software Apache, versione 2.0. Posso usarli nella mia app commerciale? E se sì, quali precauzioni dovrei prendere?
Ho due plug-in. Uno ha la licenza GNU LGPL 3 e l'altro ha la licenza del software Apache, versione 2.0. Posso usarli nella mia app commerciale? E se sì, quali precauzioni dovrei prendere?
Can I use them in my commercial app?
Dipende da cosa intendi fare con il software che produci.
Innanzitutto, né ASL 1 , GPL o LGPL stabiliscono restrizioni su ciò che è possibile utilizzare con il software all'interno dell'organizzazione. Le restrizioni sono tutte sul codice distribuito al di fuori della tua organizzazione.
Per GPL la limitazione è che se si incorpora il codice GPL nel proprio software, E quindi si distribuisce il software al di fuori della propria organizzazione, ALLORA è necessario rendere disponibile il codice sorgente secondo i termini della GPL o di una licenza aperta licenza di origine.
Quindi, se utilizzi il codice GPL nell'applicazione e lo distribuisci, l'applicazione deve essere open source ... oppure stai violando la licenza.
Per LGPL, la restrizione (vedi sopra) si applica solo al codice sorgente della stessa libreria LGPL; Ad esempio, se cambi la libreria. Se si utilizza solo la libreria, non è necessario rendere disponibile il codice sorgente.
C'è anche una restrizione che il codice LGPL nella tua applicazione deve essere sostituibile dall'utente del tuo codice. Ciò significa (in effetti) che se si distribuisce il codice solo come file binari, non è possibile collegare staticamente il proprio codice a quello della libreria. Devi utilizzare il collegamento dinamico.
Per ASL, l'unica limitazione significativa è che devi dire se hai cambiato qualcosa dalla versione originale del codice ASL che stai usando.
Infine, per chiarire, GPL, LPGL o ASL non impongono alcuna restrizione al tuo scopo nell'utilizzo del software. E questo include se il tuo scopo è fare soldi. Limitano semplicemente il modo a fare soldi ... e nel caso di LGPL e ASL, il vincolo è piuttosto ridotto.
And if yes, what precautions should I take?
Per LGPL e ASL, non sono necessarie precauzioni.
IANAL - Non sono un avvocato. Se hai bisogno di essere sicuro, chiedi a un vero esperto qualificato; cioè un avvocato specializzato in diritto IP del software.
1 - Ai fini della presente risposta, ASL == Apache Software License versione 2.
La licenza Apache non pone alcuna restrizione sul software che si collega a un plug-in o una libreria che è distribuita sotto la licenza Apache. La LGPL d'altra parte ha il requisito che la libreria LGPL si collega in modo dinamico (e può essere sostituita da un utente) o l'intera opera deve essere rilasciata con una licenza open-source compatibile con GPL.
Per l'utilizzo in un'applicazione closed-source, ciò significa che è possibile utilizzare il plug-in Apache con licenza senza restrizioni e che il plug-in con licenza LGPL deve essere collegato in modo dinamico.
Se distribuisci uno dei plug-in insieme alla tua applicazione, devi anche fornire le fonti per i plug-in o informare i tuoi utenti dove possono ottenere tali sorgenti.
Prima di tutto, questo non è un consiglio legale.
Il software GPL non può essere collegato a (incluso in rete), essere compilato o essere fornito con software non GPL di qualsiasi forma. LGPL allenta un po 'questo per consentire il supporto di terze parti non GPL, inclusi i prodotti commerciali. La parte importante qui è che deve essere di terze parti (per così dire), che crea un piccolo buco.
In breve, si collega a una libreria LGPL esistente (chiamala la prima), ma il software che rende questo collegamento deve essere reso LGPL. Chiamalo questo software la seconda festa. Anche se il software di seconda parte deve essere rilasciato come LGPL, in quanto proprietario del software di seconda parte è possibile consentire ad altri software di utilizzarlo al di fuori della LGPL (a condizione che il software di seconda parte rimanga disponibile anche sotto LGPL). In altre parole, il software di seconda parte deve essere reso disponibile come LGPL, ma non è richiesto per la licenza come LGPL in tutti i casi. Ogni singolo utente di un software deve avere la licenza per utilizzare detto software per legge. Quello che sto dicendo è che finché ogni utente ha accesso al software come LGPL, puoi anche concederlo in licenza usando termini non virali. È anche possibile creare il software di terze parti, in effetti autorizzando la licenza del software di seconda parte a se stessi per l'utilizzo da parte del software di terze parti in termini non LGPL. Ho persino sentito parlare di persone che scrivono loro stessi un contratto e la licenza per utilizzare il proprio software. La legge può essere strana! Il software di terze parti non deve essere in ogni caso LGPL.
Quindi quello che fai è creare una libreria per collegarsi alla lib LGPL come un semplice wrapper e rilasciare il wrapper come LGPL. Puoi quindi collegarti a questo wrapper ( tuo wrapper) in software non LGPL, purché il tuo wrapper sia disponibile come LGPL.
Non posso parlare per la licenza del software Apache perché non sono familur con esso.
Leggi altre domande sui tag licensing apache-license lgpl