La LGPL mi consente di fare questo?

16

Sto pianificando di sviluppare un software commerciale utilizzando un software LGPL.

Nel software LGPL che sto usando alcune funzioni in una classe non sono pienamente implementate. Voglio modificare il codice LGPL in modo che la classe e le funzioni non implementate siano rese visibili al di fuori della DLL aggiungendo dllexport di classe e aggiungendo la parola chiave virtuale di fronte alla funzione.

Quindi ho intenzione di implementare tali funzioni nel mio software proprietario. Sono pronto a distribuire il codice LGPL modificato ma non il software proprietario che implementa le funzioni nel modo che voglio.

Violare i termini e le condizioni LGPL?

    
posta Daenyth 24.02.2012 - 05:20
fonte

5 risposte

25

Questa è una domanda complessa, ma credo che ciò che proponi non sia permesso.

Stai suggerendo di aggiungere ganci nella libreria per renderlo più facile per te sottoclassare la libreria e quindi, per lo meno. per bypassare lo spirito della LGPL.

Il problema è che se sottoclassi una classe soggetta alla LGPL licenza nel tuo codice, quindi il tuo lavoro diventa un lavoro basato sulla libreria , piuttosto che un lavoro che usa la libreria , il che significa che il tuo codice è un lavorativo di lavoro trattato nella sezione 2 ( LGPL v2.1 ) piuttosto che uno trattato nella sezione 6 ( LGPL v2.1 ). Cioè diventa soggetto alla LGPL !

Penso che Stephen Colebourne fornisca un buon sommario su javalobby.

Non sono un grande fan delle infermiere parlare ai suggerimenti del tuo avvocato , ma in questo caso penso che valga la pena farlo se pianifichi per procedere con questo, altrimenti potresti ricevere una brutta lettera dal Free Software Foundation team legale.

In alternativa, puoi chiedere direttamente FSF . Dalla loro pagina di contatto :

For questions about free software licensing and copyright

Please check our licensing FAQ, the license list, general copyleft information, and related pages. If questions remains, email <[email protected]>.

Per inciso, nella domanda correlata Reflection e LGPL , gbjbaanb risponde con la prospettiva LGPL 3.0 .

    
risposta data 24.02.2012 - 15:23
fonte
13

Standard non sono un diniego di responsabilità dell'avvocato.

LGPL richiede modifiche al codice sorgente della biblioteca da distribuire a chiunque utilizzi il tuo codice. non richiede che il tuo codice, che utilizza la libreria, sia open source e rilasciato sotto la stessa licenza.

Wikipedia per una descrizione più dettagliata, ma non legale di LGPL, inclusa una sezione su ereditarietà di classe .

    
risposta data 24.02.2012 - 05:36
fonte
5

"Voglio modificare il codice LGPL ..." questo è sufficiente per consentire a di rilasciare qualsiasi codice modificato. Quindi l'estensione che estende o meno il codice modificato è un lavoro derivativo è pronto per la contesa e in tal caso diventa soggetto alla LGPL.

Ciò che sembra che tu stia cercando di fare è eludere la LGPL, che in questo caso con queste tecniche non puoi.

If it is a derivative work, then the program's terms must allow for "modification for the customer's own use and reverse engineering for debugging such modifications." Whether a work that uses an LGPL program is a derivative work or not is a legal issue.

Ma se quello che stai cercando di fare è eludere la LGPL, vorrei contattare la FSF come raccomandato da Mark Booth .

    
risposta data 24.02.2012 - 21:55
fonte
1

La mia ipotesi: (ma IANAL) dovresti rilasciare come open source la libreria modificata come codice LGPL e quindi rilasciarlo in un programma commerciale. Quello funzionerebbe. Effettivamente finirai per avere un fork open source della libreria e poi venderai un front-end per questo.

Ma come hanno detto giustamente molti altri, chiedi alla FSF : è uno scenario patologico intrigante che hai lì; potrebbero chiedersi quanto te se è applicabile o meno. (o almeno preoccupatene abbastanza da pubblicare una voce di FAQ sull'argomento)

    
risposta data 25.02.2012 - 01:07
fonte
1

link

In breve, non c'è alcun problema con l'ereditarietà finché non si modifica il codice della libreria stesso, ma anche se lo si modifica, è necessario rilasciare solo il codice modificato della libreria, non il codice dell'applicazione.

    
risposta data 02.05.2015 - 13:47
fonte

Leggi altre domande sui tag