È un programma collegato a una libreria LGPL in linux ancora in GPL?

3

Se dovessi scrivere, ad esempio, un video server Linux incorporato, quanto del codice devo offrire a qualcuno che richiede la fonte? Devo offrire il codice che si collega direttamente al codice coperto GPL o devo offrire tutto il codice? Per esempio, se uso gstreamer, o qualsiasi altro codice LGPL, su una piattaforma Linux nel mio programma, tutto il mio codice diventa sotto GPL semplicemente perché da qualche parte nella catena, il programma LGPL doveva collegare il codice GPL agaist?

Immagino che questa sia un'estensione della domanda. Riesci a scrivere una libreria C che compili in Linux che non sia soggetta alla GPL?

    
posta Jonathan Henson 16.11.2011 - 19:59
fonte

4 risposte

3

Ob: IANAL e per consulenza legale dovresti trovarne uno.

Detto questo: rispondere alla domanda dal titolo "È un programma collegato a una libreria LGPL in Linux ancora sotto licenza GPL?" La risposta è no, perché non lo è mai stata.

Il semplice fatto di eseguire un programma su Linux non lo rende soggetto a GPL. Esistono tutti i tipi di programmi closed-source che funzionano su Linux.

Analogamente il collegamento a una libreria LGPL non ti rende soggetto a GPL, ma generalmente solo a LGPL.

Quindi, per il tuo caso, se utilizzi solo il codice LGPL e inoltre il link dinamico in base alla sezione LGPL quattro rimuove l'obbligo di fornire il codice sorgente per la libreria stessa.

Il riepilogo della FSF sul motivo per cui dovresti non secondo loro usare la LGPL per un nuovo lavoro è

The GNU Project has two principal licenses to use for libraries. One is the GNU Lesser GPL; the other is the ordinary GNU GPL. The choice of license makes a big difference: using the Lesser GPL permits use of the library in proprietary programs; using the ordinary GPL for a library makes it available only for free programs.

Che tenta di chiarire che le librerie LGPL non sono infettive come la stessa GPL.

Se quindi, d'altra parte, stai collegando le librerie GPL complete con il tuo codice, la situazione è molto diversa, e sì sei obbligato ad aprire il tuo programma, come avresti dovuto fornire (o offrirti per fornire ) il codice per tutto il tempo.

    
risposta data 17.11.2011 - 03:34
fonte
5

Dovresti davvero leggere la LGPL, sezioni 4, 5 e 6. Nessun tentativo di semplificare quelle parole conserverà il loro significato. Scoprirai anche che ci sono posizioni multiple su alcune di queste domande e l'unico modo per ottenere una risposta autorevole su cui puoi contare legalmente è ottenere la tua opinione scritta da un avvocato.

    
risposta data 16.11.2011 - 20:07
fonte
1

L'essenza fondamentale di LGPL è che il suo codice può essere collegato a qualsiasi software di licenza senza influire sulla sua licenza, a patto che sia fatto in modo che il codice LGPL possa essere modificato, modificato e collegato al codice contro sarà possibile arrivare a lavorare con la versione modificata. La licenza del programma che utilizza i pezzi LGPL può essere arbitraria e non cambia, ma il modo in cui è scritta o distribuita deve consentire la sostituzione della parte LGPL. E devi fornire tutto il codice necessario per la sostituzione: il codice della parte LGPL e tutto il necessario per integrarlo nel tuo programma.

Ciò significa:

  • se utilizzi il collegamento dinamico, fornisci solo il codice LGPL, consentendo una facile sostituzione del file .so / .dll gratuito
  • se si utilizza il collegamento statico, è necessario fornire file oggetto che possono essere collegati alla libreria per fornire un file eseguibile funzionante.
  • se si integra profondamente, unità di compilazione (file oggetto) contenenti sia il tuo codice che il codice della libreria, è necessario fornire il codice, almeno per quanto necessario per compilare il programma pronto dopo aver modificato i contenuti della libreria.
  • se hai modificato la libreria stessa in base alle tue esigenze, anche se le modifiche sono estese e ben oltre l'ambito della libreria originale, devi fornire le fonti alla nuova libreria modificata come LGPL. Se vuoi mantenere le modifiche proprietarie, devono atterrare altrove all'esterno della libreria, sia come livello wrapper / astrazione, sia come libreria separata.
risposta data 17.11.2011 - 11:22
fonte
-1

La LGPL esiste specificamente per consentire l'utilizzo del codice sorgente GPL, senza i termini più restrittivi dell'intera GPL.

Questo di solito viene applicato a macro, librerie di script e file di intestazione complessi dove senza includere l'origine nel codice, il resto della libreria GPLed sarebbe inutilizzabile.

    
risposta data 17.11.2011 - 05:55
fonte

Leggi altre domande sui tag