Un programma GPLv2 può contare su librerie con licenza Apache?

12

Un programma software con licenza GPL (versione 2) può fare affidamento su librerie con licenza APLv2 senza eseguire afoul della GPL? La lingua qui mi suggerisce forse no.

Nel mio caso specifico sto guardando un demone che usa alcune librerie esterne con licenza APLv2.

Aggiorna (In risposta a risposte / commenti.)

  1. Ai fini di questa domanda, non posso rilasciare la licenza del programma principale (il demone)
  2. Il programma principale è stato esteso con funzionalità che utilizzano apr-util e forse altri componenti APLv2

La mia domanda è, posso rilasciare il demone esteso sotto GPLv2, o è qualcosa che devo tenere per me (nessuna distribuzione) e / o reimplementare senza APLv2 se mi impegno a (a) rilasciando questa estensione e, (b) mantenendo il demone GPL'd?

    
posta pilcrow 15.02.2012 - 23:36
fonte

2 risposte

6

Prima chiariamo la terminologia. Quando FSF dice un la licenza è compatibile con la GPL non significano ciò che molte persone interpretano per significare. Molti interpretano "compatibile" nel senso che i due software possono coesistere felicemente nella stessa applicazione.

Questo è vicino a ciò che significa la FSF, ma la fornitura di copyleft della GPL richiede un po 'di più.

Dalle Domande frequenti sulla GPL , enfasi sulla mia.

It means that the other license and the GNU GPL are compatible; you can combine code released under the other license with code released under the GNU GPL in one larger program.
All GNU GPL versions permit such combinations privately; they also permit distribution of such combinations provided the combination is released under the same GNU GPL version.

Quindi una licenza è compatibile con la GPL se i suoi termini possono essere assorbiti sotto la GPL.

Diamo un'occhiata a APLv2 e GPLv3.

  • APLv2_Lib + GPLv3_Lib = > La lib combinata come GPLv3 va bene.
  • APLv2_Lib + GPLv3_Lib = > La combinazione di lib come APLv2 non va bene.

E Apache dice qui :

We avoid GPLv3 software because merely linking to it is considered by the GPLv3 authors to create a derivative work. We want to honor their license.

Ma stai lavorando con un demone che è stato concesso in licenza in GPLv2, non in v3.

FSF è carino chiaro che ciò che vuoi fare non è accettabile per una distribuzione pubblica .

Please note that this license is not compatible with GPL version 2, because it has some requirements that are not in that GPL version. These include certain patent termination and indemnification provisions.

Quindi, per rispondere alla tua domanda:

No , non puoi distribuire il daemon combinato usando GPLv2 e il materiale con licenza APLv2 .
La FSF richiama esplicitamente tale combinazione come non consentita per la distribuzione pubblica.

Alternative:

  1. sei puoi usarlo in privato.

  2. Avresti anche la possibilità di riscrivere la funzionalità APLv2 e combinare il tuo nuovo lavoro con quello di GPLv2.

  3. Si può vedere se il demone può essere cambiato in GPLv3. Se è così, si sarebbe in chiaro di unire il lavoro APLv2 nel daemon GPLv3 ora.

risposta data 16.10.2013 - 16:44
fonte
2

La mia vista è in accordo con OP sulla base del testo del link ASF dell'OP.

ASF (Apache Software Foundation) non ama l'idea che il codice ASFv2 sia parte di un sistema che utilizza GPLv2, in base alle informazioni limitate del tuo caso e alla mia comprensione delle varie licenze FOSS: indipendentemente dal fatto che l'ombrello progetto ha GPLv2, o il progetto ombrello è GPLv2, tentando di includere ASFv2.

Inoltre sembra un progetto ombrello ASFv2 che non dovrebbe avere il codice GPLv3, ma un progetto ombrello GPLv3 può avere il codice ASFv2.

Il caveot, forse (secondo Gnu), è il modo in cui interagiscono tra loro. Se collegati, condividendo le stesse copie dei dati durante l'esecuzione, sono uno nello stesso programma; tuttavia, se stanno lavorando come processi separati (cioè biforcati) passando i dati tra diversi processi distinti, ciò che si sta facendo potrebbe essere ammissibile perché essi sono, per loro, programmi separati. Se utilizza lo spazio dati condiviso durante l'esecuzione e non opera con processi distinti, allora ciò che stai facendo potrebbe non essere consentito, perché per loro sono uguali o troppo strettamente accoppiati per essere distinti o indipendenti.

    
risposta data 16.02.2012 - 01:45
fonte

Leggi altre domande sui tag