Utilizzo di OSS con licenza MIT con dipendenze GPL

3

Mi è stato assegnato l'audit delle dipendenze di terze parti per uno dei prodotti della mia azienda per assicurarci che non corriamo il rischio di incorrere in alcuna violazione di alcuna licenza. Questo è probabilmente un lavoro per un avvocato, ma tale è la vita quando lavori in una piccola azienda.

Nella mia azienda, stiamo utilizzando CS2J , un progetto open-source, per tradurre C # in Java. CS2J è a sua volta autorizzato dal MIT e lo usiamo in due modi. Innanzitutto, lo usiamo come strumento interno per tradurre il nostro codice sorgente da una lingua all'altra. In secondo luogo, viene fornito con una libreria di supporto (un file jar) che i file tradotti fanno riferimento. Confezioniamo questa libreria di supporto con la nostra distribuzione principale.

Si scopre che la libreria di supporto dipende da JavaMail , un prodotto con licenza GPL. (C'è tecnicamente un'altra opzione di licenza, ma ha la stessa clausola di copyleft.) Credo che una volta avesse qualcosa di diverso da una licenza GPL, ma non è più così.

Avevamo intenzione di spedire la libreria di supporto (CS2JSupport.jar) e JavaMail (mail.jar) come sua dipendenza. Ho alcune domande:

  1. È possibile concedere a CS2J la licenza con licenza MIT in primo luogo se è distribuito con una dipendenza GPL?
  2. Se stiamo spedendo mail.jar come dipendenza della nostra dipendenza, significa che il permesso d'autore si applica a noi? O si applica solo a CS2J?
  3. Abbiamo una stretta relazione con l'autore di CS2J. Se chiedessimo all'autore CS2J di rendere disponibile un CS2JSupport.jar che avesse mail.jar incluso dentro il jar, allora CS2JSupport è semplicemente un'opera derivata di mail.jar? E dal momento che il lavoro derivato è coperto dalla licenza MIT anziché dalla licenza GPL, sarebbe quello di esonerare la mia azienda dal copyleft anche se non saremmo esenti nella situazione descritta al punto # 2?
posta HardlyKnowEm 08.05.2014 - 01:30
fonte

2 risposte

4

Come Ross Patterson fa notare in la sua risposta , la libreria JavaMail non è semplicemente con licenza GPL, ma GPLv2 con Classpath eccezione. Questa è una distinzione importante, perché fa un mondo di differenza per le risposte alle tue domande.

L'eccezione Classpath alla licenza GPLv2 limita in modo efficace la natura di copyleft della GPLv2 alla libreria JavaMail stessa (in un modo simile a LGPL).

Per rispondere alle domande specifiche:

  1. Poiché l'eccezione del classpath limita i termini GPL da applicare solo alla libreria JavaMail, non c'è alcun problema nell'avere un lavoro non GPL (libreria o programma, in questo caso una libreria con licenza MIT) dipende da esso .
    Anche se CS2J dipende da una libreria che utilizza la regolare licenza GPL, le sorgenti CS2J possono avere una licenza diversa. L'unica 'difficoltà' è che la licenza deve essere compatibile con la GPL, perché i termini e le condizioni della GPL si sarebbero estesi a CS2J.

  2. A causa dell'eccezione Classpath, il permesso d'autore di JavaMail è contenuto all'interno di JavaMail stesso. Senza questa eccezione, il permesso d'autore dovrebbe essere esteso anche al tuo software.

  3. Richiedere agli autori di CS2J di includere fisicamente JavaMail nel loro CS2JSupport.jar renderebbe la libreria CS2JSupport un lavoro derivato da JavaMail che deve essere concesso in licenza con GPL (con o senza l'eccezione Classpath), in modo che non fornirti un percorso per l'esenzione dai termini del copyleft GPL. Nella migliore delle ipotesi, la situazione rimane invariata (il tuo software dipende da una libreria GPL con eccezione del classpath) e, peggio, all'improvviso hai una dipendenza da una libreria GPL con licenza completa e devi anche aprire il tuo software.

risposta data 08.05.2014 - 08:47
fonte
6

Secondo il progetto JavaMail di " Licenza JavaMail " pagina, " [m] ost del codice sorgente JavaMail è concesso in licenza con la licenza CDDL e GPLv2 con licenza Classpath Exception ". Il punto chiave è l'ultimo bit - "Eccezione Classpath". Questa eccezione, comune per le librerie Java, è indicata alla fine di la licenza , dove dice:

"CLASSPATH" EXCEPTION TO THE GPL VERSION 2

Certain source files distributed by Sun Microsystems, Inc. are subject to the following clarification and special exception to the GPL Version 2, but only where Sun has expressly included in the particular source file's header the words

"Sun designates this particular file as subject to the "Classpath" exception as provided by Sun in the License file that accompanied this code."

Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License Version 2 cover the whole combination.

As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module.? An independent module is a module which is not derived from or based on this library.? If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so.? If you do not wish to do so, delete this exception statement from your version.

Nota che l'ultimo paragrafo - puoi usare la libreria JavaMail e "distribuire l'eseguibile risultante in termini di tua scelta". Nessun copyleft qui.

    
risposta data 08.05.2014 - 02:41
fonte

Leggi altre domande sui tag