Ho creato un programma basato su un progetto LGPL e non sono autorizzato a pubblicare il codice sorgente

13

Pensavo che LGPL fosse una licenza permissiva, proprio come MIT, BSD o Apache. Ma oggi ho letto che solo il linking per LGPL (librerie ecc.) È consentito da codice closed-source - a parte questo, è copyleft - quindi devo pubblicare codice basato su un programma LGPL.

Ho creato un programma per il mio datore di lavoro che si basa su un programma LGPL, ma ha notevoli modifiche ad esso. Naturalmente, non sono autorizzato a mettere il codice sorgente modificato là fuori. Allo stesso tempo, devo, se lo distribuisco (giusto?).

Quindi mi chiedo se esiste una soluzione alternativa, quindi posso mantenere questa closed-source (vorrei poter pubblicare la fonte) - qualche suggerimento?

La mia idea: posso inserire la maggior parte delle funzioni dell'app LGPL originale in una libreria esterna, scrivere il core eseguibile da zero, ma fare riferimento alla libreria per tutte le funzioni che non ho modificato?

Attualmente, tutto è in un file .jar (è Java / Swing). se pensi che la mia idea sia legalmente / tecnicamente fattibile, quanto sarebbe disposta a separare ciò che ho scritto e che cos'è l'originale? Non sono il più esperto di java.

    
posta Esuus 17.05.2011 - 22:25
fonte

8 risposte

13

Prima di tutto, prendere una consulenza legale qui (come in: gli internet) non è una buona idea.

In secondo luogo, e sono solo io a parlare, non un avvocato, avresti dovuto pensarci prima di prendere un programma LGPL e modificarlo per il tuo datore di lavoro.

Se la licenza fosse qualcosa che potevi ignorare solo perché non ti piaceva, non sarebbe molto utile avere uno adesso?

Se tu e / o il tuo datore di lavoro non siete disposti a pubblicare il codice sorgente con le vostre modifiche, è necessario smettere di usare quel codice LGPL e sbarazzarcene.

Ancora, sono solo io che parlo.

Chiedi consiglio a un vero avvocato.

In risposta alla tua domanda sull'elusione della licenza aggiungendo il codice a una DLL, suppongo che funzionerebbe nel modo seguente.

Quello che faresti sarebbe cambiare il programma originale in modo sufficiente a renderlo in grado di chiamare le funzioni nelle librerie esterne. Dovresti farlo senza fare quel pezzo di codice specifico per le tue esigenze, librerie, nomi di funzioni, ecc.

Quelle modifiche che pubblichi, in base ai requisiti della licenza.

Quindi crei la tua libreria esterna con il tuo codice proprietario e chiedi al programma di caricarlo ed eseguirlo, usando le modifiche che hai apportato.

Non conoscendo l'intera estensione della licenza LGPL, non posso dire se questo è sufficiente per evitare di dover pubblicare la tua libreria anche se ho il sospetto che lo farà.

Tuttavia, ancora ...

Chiedi consiglio ad un avvocato

    
risposta data 17.05.2011 - 22:36
fonte
4

La maggior parte delle librerie open source pubblicate sotto licenza LGPL o paragonabile, almeno quelle abbastanza buone da usare nei tuoi progetti, sono costruite usando il principio open / closed: link .

Dovresti essere in grado di ridefinire il codice in modo che la tua applicazione sia collegata alla libreria LGPL e tutte le estensioni siano contenute nel tuo codice applicazione chiuso.

    
risposta data 17.05.2011 - 22:42
fonte
2

Stessa dichiarazione di non responsabilità: IANAL.

Qualcosa che nessun altro ha menzionato finora è che anche se si separa il codice, è comunque necessario distribuire il codice sorgente alle parti LGPL o almeno fornire informazioni su dove possono essere scaricati.

L'unico modo per aggirare è non distribuirli in primo luogo.

    
risposta data 08.08.2011 - 16:56
fonte
2

Non penso che tu abbia bisogno di un avvocato per capire che cercare di eludere una licenza non è una buona cosa. Il buon senso è abbastanza.

Invece, puoi contattare l'autore originale del programma LGPL e chiedere / acquistare una licenza diversa e proprietaria.

Le sole altre alternative sono di rilasciare il sorgente o di riscriverlo completamente.

    
risposta data 08.08.2011 - 17:08
fonte
1

IANAL, TINLA, ecc.

I thought LGPL was a permissive license, just like MIT, BSD or Apache. But today I read, that only linking to LGPL (libraries etc) is allowed from closed-source code - other than that, it's copyleft - so I have to publish code that is based on an LGPL program.

Sì, la LGPL richiede che sia reso disponibile il codice sorgente a chiunque riceva una copia dell'opera, oppure è necessario distribuire il proprio lavoro in un modulo in cui i destinatari del software possono sostituire la propria versione del lavoro LGPL. con una nuova versione. In entrambi i casi, tutte le modifiche alla parte LGPL del lavoro devono essere disponibili per tutti i destinatari del lavoro.

I created a program for my employer that is based on an LGPL program, but has considerable modifications to it. Of course, I am not allowed to put that modified source code out there. At the same time, I have to, if I distribute it (right?).

Una corretta. La licenza impone a tutti i destinatari del software di accedere al codice sorgente.

My idea: can I put most functions of the original LGPL app into an external library, write the core executable from scratch, but refer back to the library for all functions that I haven't modified?

Potrebbe essere un'opera derivata e ti verrà comunque richiesto di distribuire tutti gli script di build che eliminano il programma in una libreria.

Currently, everything is in a .jar file (it's Java/Swing). if you think my idea is legally/technically feasible - how much effort would it be to seperate what I wrote and what the original is? I'm not the most java savvy.

Java aggiunge una serie di nuovi problemi alla LGPL, dal momento che non è chiaro cosa costituisca il collegamento "statico" e "dinamico". Dal momento che le eccezioni della LGPL sulla GPL si basano su questo concetto, la LGPL è davvero equivalente alla GPL nella maggior parte dei casi. Dovrai consultare il team legale della compagnia per rispondere a qualsiasi domanda che possa sollevare.

Il mio consiglio è che se qualcuno al di fuori della tua azienda avrà accesso al programma, scaricalo e ricomincia. Se non puoi soddisfare i requisiti della licenza, non ti è permesso di distribuirlo , a tutti.

Se il programma sarà disponibile solo all'interno della società, ti verrà richiesto solo di rendere disponibile la fonte ai dipendenti della società. Suggerirei di aggiungerlo al controllo del codice sorgente dell'azienda esistente. Questo soddisferà i requisiti della LGPL, finché nessuno all'esterno della società avrà accesso.

    
risposta data 08.08.2011 - 17:14
fonte
1

è possibile utilizzare la configurazione dell'adattatore e non toccare il codice originale. Inoltre LGPL ti consente di ereditare le classi e sovrascrivere le funzionalità delle sue classi nel tuo progetto.

    
risposta data 02.04.2012 - 08:13
fonte
0

Questa è la mia comprensione, IANAL.

Controlla il testo della versione LGPL che copre il codice che stai utilizzando. Credo che il requisito sia che qualsiasi codice LGPL debba essere scambiabile con un altro, solitamente usando un file libreria / jar condiviso. Se puoi separare il codice che utilizzi che è LGPL in una libreria, puoi rilasciarlo sotto la LGPL, mentre rilasci la tua applicazione con qualsiasi licenza tu voglia.

    
risposta data 08.08.2011 - 15:54
fonte
0

Non puoi eludere la licenza. Anche se trovi una scappatoia, è ancora non etico (anche se questa è una domanda diversa per alcune persone). Quello che puoi fare è contattare l'autore di detto software, spiegare la situazione e chiedere una licenza separata. Se è disposto a concedere una licenza speciale a un prezzo, è possibile confrontarlo con il costo di riscrivere il software senza utilizzare il componente in questione. E semplicemente vai con quello più economico.

    
risposta data 08.08.2011 - 17:14
fonte

Leggi altre domande sui tag