Restrizioni di licenza open source GPL e LGPL [chiuso]


107

Ho problemi a comprendere le autorizzazioni di utilizzo dell'open source. Ho letto da qualche parte che GPL o LGPL impone che anche il software che utilizza software GPL debba essere rilasciato open-source. Voglio creare un'applicazione che utilizzi una libreria di riconoscimento di immagini open source. Posso vendere questa applicazione o deve essere open source?

Grazie!

Risposte:


80

LGPL ti consente di utilizzare e distribuire il software open source con la tua applicazione senza rilasciare il codice sorgente per la tua applicazione.

La GPL richiede il rilascio del codice sorgente della tua applicazione se scegli di utilizzare e distribuire il software open source con licenza GPL con la tua applicazione. In altre parole, anche la tua applicazione deve essere concessa in licenza con GPL.


14
Notare che la LGPL afferma che la libreria utilizzata deve essere sostituibile. Pertanto il collegamento statico non è possibile.
Dykam

1
Quindi una "DLL" (Dynamic Link Library) sarebbe legale, giusto?
Robert Harvey

Solo se fornisci anche il codice sorgente per quella DLL, nonché i file di intestazione o la documentazione richiesti per potersi interfacciare con il resto dell'applicazione, qualcuno dovrebbe voler modificare pesantemente, o riscrivere da zero, quello DLL.
thomasrutter

48
  • GPL

    Altri sviluppatori possono prendere in prestito e modificare il codice e ridistribuirlo come parte del proprio progetto, solo se l'intero progetto è anche concesso in licenza sotto GPL.

    Ciò impedisce che il codice venga utilizzato nel software proprietario.

  • LGPL

    Altri sviluppatori possono prendere in prestito e modificare il codice e ridistribuirlo come parte del proprio progetto, a condizione che la parte utilizzata con LGPL sia nuovamente autorizzata con LGPL. Altre parti del progetto possono avere altre licenze.

    Ciò consente al codice di essere utilizzato in software altrimenti proprietario.

La LGPL ha una serie di condizioni aggiuntive che devono essere soddisfatte per poterlo distribuire in un progetto con un'altra licenza. Ad esempio, deve essere possibile per qualsiasiutente del software finito per modificare, ricompilare o sostituire la parte del software concessa in licenza ai sensi della LGPL e utilizzare questo codice modificato con lo stesso software. Se stai pubblicando software proprietario altrimenti contenente codice LGPL, un modo per soddisfare questo requisito è inserire il codice LGPL in una libreria separata collegata dinamicamente e distribuire con il tuo software i file di intestazione e la documentazione necessari per ricompilare LGPL parte in modo che possa ancora essere collegata e utilizzata con il software fornito. Non è accettabile adottare misure per impedire la modifica del codice LGPL come l'offuscamento del codice stesso o dell'API o dei file di intestazione.

Nota che la LGPL è compatibile con la GPL: puoi scegliere di "aggiornare" il codice a GPL e incorporarlo in un progetto con licenza interamente GPL come indicato nel mio primo punto elenco, se lo desideri. Tuttavia, non puoi andare dall'altra parte e concedere nuovamente la licenza al codice con licenza GPL come LGPL.


30

IANAL, ma i concetti sono abbastanza semplici.

Innanzitutto, tu e il tuo avvocato dovete leggere le licenze GPL e LGPL . Secondo, dovresti leggere le FAQ sulla GPL . Per quanto ho capito, puoi pensare di utilizzare le librerie GPL / LGPL in questo modo:

  • Se ti colleghi dinamicamente o staticamente con una libreria GPL o LGPL, hai creato un'opera derivata.
  • Se utilizzi una libreria GPL e ti colleghi a quella libreria, il tuo software deve essere rilasciato con una licenza compatibile .
  • Se si utilizza una libreria LGPL e ci si collega dinamicamente a tale libreria, il software non deve essere rilasciato con una licenza compatibile, ma è comunque necessario rispettare la LGPL.
  • Se si utilizza una libreria LGPL e ci si collega staticamente a quella libreria, il software deve essere rilasciato con una licenza compatibile.
  • Le licenze GPL / LGPL significano "gratis" come in "libertà di parola", non "birra gratis" . Puoi creare un'opera derivata e venderla per grandi somme di denaro, ma devi rispettare la GPL / LGPL.

29
"Per prima cosa, tu e il tuo avvocato dovete leggere le licenze GPL e LGPL." - uccidimi adesso
d512

10
"semplice". Così semplice, infatti, che devi ingaggiare un avvocato solo per vedere se puoi usare un po 'di codice. Questo è il motivo per cui gli sviluppatori non dovrebbero mai utilizzare licenze GPL.
Womble

9

Se tagli e incolli o colleghi il codice GPL nella tua applicazione, la tua applicazione deve essere concessa in licenza sotto GPL e ti viene richiesto di rilasciare il codice.

Tuttavia, puoi ancora vendere la tua applicazione e, afaik, l'unica obiezione è che rilasci il codice sorgente ai tuoi clienti.

Se la libreria a cui ti colleghi è Lesser Gnu Public License aka LGPL, non è necessario rilasciare il codice della tua applicazione, ma sei comunque tenuto a rilasciare tutte le modifiche se hai modificato il codice lgpl'd.


"rilascia il codice sorgente ai tuoi clienti" - davvero? solo a loro? Pensavo che l'SRC dovesse essere reso disponibile pubblicamente?
relascope

Non sono madrelingua inglese né avvocato. gnu.org/licenses/gpl-faq.html#WhatDoesWrittenOfferValid afferma che la maggior parte fornisce i sorgenti a chiunque abbia accesso al binario. Non dice che chiunque può richiedere la fonte, ma chiunque abbia ricevuto il binario, direttamente da te o dai tuoi clienti diretti.
rasjani

lo afferma direttamente, solo ai clienti ... "Ma se rilasci al pubblico la versione modificata in qualche modo, la GPL richiede di rendere disponibile il codice sorgente modificato agli utenti del programma, sotto GPL."
relascope

7

GPL non vieta di vendere software. Tuttavia è necessario rendere disponibili i sorgenti per il software.

La questione dell'utilizzo è un po 'più complicata. GNU / Linux è rilasciato sotto GPL. Niente ti vieta di scrivere software che gira sotto Linux indipendentemente dalla licenza del tuo software. Tuttavia, non puoi distribuire Linux insieme al tuo software. Questo è spesso un problema con le librerie che devono essere parte di un programma. Questo è lo scopo della licenza LGPL. È possibile compilare un programma ac che si scrive con gcc (quindi utilizzando le librerie di routine di runtime con licenza LGPL da gcc) e rilasciare comunque il software senza le restrizioni della GPL.

Penso che questo sia il succo generale. Tuttavia, questo non è in alcun modo consulenza legale. Per la consulenza legale è necessario rivolgersi a un avvocato certificato che possa fornirti consulenza legale adatta alle tue circostanze particolari.

Spero che questo ti aiuti.


3

La distinzione tra GPL e LGPL determina se devi / non devi rilasciare il sorgente per la tua applicazione a chiunque abbia una copia del binario. In ogni caso puoi ancora vendere l'applicazione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.