2010-04-15 11 views
7

Vorrei utilizzare alcune parti di Glassfish in un software proprietario che si trova sotto una licenza CDDL + GPLv2. Sono autorizzato a farlo? Non ho modificato nulla nel codice di queste librerie, quindi è OK, o il mio software, perché usa queste librerie, è ancora considerato un lavoro derivato, e quindi un grande no-no?Utilizzo di librerie Glassfish nel software proprietario

Intendo, in base allo http://jaxb.java.net/, JAXB è anche in CDDL + GPLv2, ma so che posso utilizzarlo liberamente nel software proprietario. Ciò è dovuto al fatto che CDDL + GPLv2 lo consente o è distribuito con una licenza diversa quando è associato a JRE?

+4

sto votando per chiudere questa domanda in quanto fuori tema, perché si tratta di problemi di licenza o giuridiche, non di programmazione o di sviluppo del software. [Vedi qui] (http://meta.stackoverflow.com/questions/274963/questions-about-licensing/274964#274964) e [qui] (http://meta.stackexchange.com/questions/139804/can- domande di licenza-sempre-sul-argomento) per i dettagli e [aiuto] per ulteriori informazioni. – JasonMArcher

risposta

5

Ok, ho trovato la risposta. Wikipedia dice:

GlassFish è un software libero, doppia licenza in due licenze di software libero: la Common Development and Distribution License (CDDL) e la GNU General Public License (GPL), con l'eccezione classpath.

L'eccezione Classpath è la cosa principale qui. Vedere la sezione gialla nella parte inferiore del contratto di licenza sul Glassfish website:

eccezione "percorso di classe" ALLA VERSIONE GPL 2

Alcuni file sorgente fornito da Sun Microsystems, Inc. sono soggetti alla seguente chiarimento ed eccezione speciale alla GPL Versione 2, ma solo dove Sun ha espressamente incluso nell'intestazione del file sorgente particolare le parole "Sun designa questo particolare file come soggetto all'eccezione" Classpath "come fornita da Sun nel file di licenza che accompagnava questo codice."

Il collegamento di questa libreria in modo statico o dinamico con altri moduli crea un lavoro combinato basato su questa libreria. Pertanto, i termini e le condizioni della GNU General Public License Versione 2 coprono l'intera combinazione.

Come eccezione speciale, i detentori del copyright di questa libreria concedono il permesso di collegare questa libreria con moduli indipendenti per produrre un eseguibile, indipendentemente dai termini di licenza di questi moduli indipendenti, e di copiare e distribuire l'eseguibile risultante in termini a tua scelta, purché tu incontri anche, per ciascun modulo indipendente collegato, i termini e le condizioni della licenza di quel modulo. Un modulo indipendente è un modulo che non è derivato o basato su questa libreria. Se modifichi questa libreria, puoi estendere questa eccezione alla tua versione della libreria, ma non sei obbligato a farlo. Se non desideri farlo, elimina questa dichiarazione di eccezione dalla tua versione.

In sostanza, ciò significa che finché distribuisco le licenze con le librerie Glassfish, sono libero di inserirle nel classpath del mio software proprietario. Cercando nella sorgente scaricata di Metro (la parte che voglio usare) ho trovato solo una manciata di file Java che non contenevano la riga richiesta nei commenti. (Più precisamente non avevano alcuna intestazione commento a tutti.)

+0

ora sono confuso sul motivo per cui non hanno semplicemente usato LGPL, che fondamentalmente sta facendo la stessa cosa ... e l'avrebbe reso più chiaro. – xenoterracide

1

Per quanto riguarda la CDDL e la pubblicazione di Jukka:

Per quanto ho capito il CDDL, vi trovate ad non richiesto di pubblicare il software proprietario nel codice sorgente modulo! Motivo:

Sezione "3.1 disponibilità del codice sorgente" si riferisce solo a "software coperto" e che tipo di software è:.

1.3 mezzi software coperto (a) il software originale, o (b) modifiche, o (c) il combinazione di file contenenti software originale con file contenente modifiche, in ogni caso compreso porzioni loro

in altre parole:. "Software coperto" è il "vaso" rilasciato sotto CDDL e qualsiasi modifica su tale "jar", se ce ne sono. Software che sta semplicemente usando questo "jar" in il classpath è menzionato come "Lavoro più grande" e quindi non deve essere pubblicato in forma di codice sorgente.

HTH Stephan