In realtà, la LGPL consente il collegamento statico finché si soddisfano alcuni requisiti molto specifici. Ad esempio, se tutta la distribuzione è fatto dal tuo sito web in cui si dispone StaticProgram.exe, che stai bene fintanto che gli utenti possono anche scaricare StaticProgram.obj e LGPL-biblioteca-source.tar.gz. È inoltre possibile distribuire StaticProgram.exe con un'offerta scritta per fornire gli altri file.
In particolare, il collegamento statico crea un singolo eseguibile che è un derivato del codice LGPL, quindi è necessario rispettare sezione 6 della LGPL:
6) Come eccezione alle sezioni sopra, si può anche combinare o collegare un "opera che utilizza la Libreria" con la Libreria per produrre un'opera contenente porzioni della Libreria, e distribuire che opera secondo termini di scelta, a condizione che i termini permesso modifica dell'opera per uso proprio del cliente e inversione ingegneria per il debug di tali modifiche .
Si deve dare avviso ben visibile con ogni copia dell'opera che la Biblioteca viene utilizzato in esso e che la Biblioteca e la il suo uso sono coperti da questa Licenza. È necessario fornire una copia di questa licenza . Se il lavoro durante l'esecuzione visualizza le note sul copyright, è necessario includere la nota di copyright per la libreria tra di loro, nonché un riferimento che indirizza l'utente alla copia di questa licenza.Inoltre, è necessario fare una di queste cose:
a) Accompagnare il lavoro con il codice sorgente completo corrispondente leggibile dalla macchina per la Libreria compresa qualsiasi modifica sono stati utilizzati nel lavoro (che deve essere distribuito sotto Sezioni 1 e 2 sopra); e, se il lavoro è un eseguibile collegato con la Libreria, con il "opera che utilizza la Libreria" completa e leggibile, come codice oggetto e/o codice sorgente, in modo che l'utente può modificare la libreria e quindi ricollegarsi per produrre un eseguibile modificato contenente la libreria modificata. (Resta inteso che l'utente che cambia il contenuto dei file delle definizioni nella Libreria sarà non necessariamente in grado di ricompilare l'applicazione per utilizzare le modificate definizioni.)
b) Utilizzare un adeguato meccanismo di libreria condivisa per il collegamento con la libreria . Un meccanismo adatto è uno che (1) durante l'esecuzione utilizza una copia libreria già presente sul computer dell'utente , anziché funzioni di libreria copia nella eseguibile, e (2) funzionerà correttamente con un versione modificata di la libreria, se l'utente ne installa uno, purché la versione modificata sia compatibile con l'interfaccia con la versione con cui è stato eseguito il lavoro.
c) Allegare all'opera un'offerta scritta, valida per almeno o tre anni, per fornire allo stesso utente i materiali specificati nella sottosezione 6a, sopra, per un costo non superiore a quello costo di esecuzione di questa distribuzione.
d) Se la distribuzione del lavoro viene effettuata tramite accesso per copiare da un determinato luogo, offrono accesso equivalente per copiare i suddetti materiali specificati dal medesimo posto. e) Verificare che l'utente abbia già ricevuto una copia di questi materiali o che sia già stato inviato a questo utente una copia di questo .
Per un eseguibile, la forma richiesta del "lavoro che utilizza la Libreria" deve includere tutti i dati e di utilità programmi necessari per riprodurre il file eseguibile da esso. Tuttavia, come eccezione particolare , i materiali siano distribuito non deve includere nulla che sia normalmente distribuito (in formato sorgente o binario) con i principali componenti (compilatore, kernel, e così via) del funzionamento sistema su nell'esecuzione dell'eseguibile, a meno che il componente non sia accompagnato dall'eseguibile .
Può accadere che questo requisito contraddice le restrizioni di licenza di altre librerie proprietarie che facciamo non accompagnano normalmente il sistema operativo .Tale contraddizione significa che non è possibile utilizzare entrambi e la Libreria insieme in un file eseguibile che si distribuisce .
Oh bene. Grazie per la risposta. – PythonGem
È possibile utilizzare il collegamento statico se si distribuisce anche il codice oggetto. –
Leggere la versione 2.1 di LGPL sezione 6. Questa risposta è errata. – Kevin