È possibile utilizzare una libreria con licenza GPLv2 nell'applicazione intranet interna di un'azienda?


13

Sto creando un'applicazione interna per l'azienda a cui sono stato assegnato. Desideriamo utilizzare una libreria con licenza GPLv2 in questa applicazione. Alcuni punti

  1. L'applicazione deve essere utilizzata all'interno dei confini dell'azienda e non essere mai disponibile per uso pubblico. È solo per uso interno dell'azienda.
  2. Non sarà mai venduto, mai !! . Quindi non sarà fatto soldi direttamente dalla vendita del codice. Non è un prodotto
  3. Esistono due forme di utilizzo dell'applicazione
    • La sua forma nativa che è exe basato su console (che utilizza la libreria GPL); e
    • Utilizzo tramite un'interfaccia Web che chiama l'eseguibile.
  4. Il codice sorgente rimarrà chiuso (solo per uso aziendale) e sarà di proprietà

Ho affrontato numerose domande su SO in merito ( una chiusa come off-topic e un'altra non contrassegnata dai programmatori ), ma ho avuto difficoltà a capire se la mia interpretazione della licenza è corretta.

In base alla mia comprensione fino ad ora, mi è permesso utilizzare questa libreria senza alcuna preoccupazione. Non sto modificando il codice sorgente né sto distribuendo l'applicazione o rendendo l'applicazione disponibile al pubblico. L'applicazione non verrà venduta e non verrà distribuita a nessuno al di fuori dell'azienda (sarà comunque disponibile presso la struttura offsite della nostra azienda). È molto probabile che utilizzi i binari delle versioni rilasciate e non si ricompili dal sorgente.

La seguente domanda dalle FAQ GNU sembra supportare i miei pensieri.

La GPL richiede che il codice sorgente delle versioni modificate sia pubblicato al pubblico?

La GPL non richiede il rilascio della versione modificata o di parte di essa. Sei libero di apportare modifiche e utilizzarle privatamente, senza mai rilasciarle. Questo vale anche per le organizzazioni (comprese le società); un'organizzazione può creare una versione modificata e utilizzarla internamente senza mai rilasciarla al di fuori dell'organizzazione.

Ma se si rilascia la versione modificata al pubblico in qualche modo, la GPL richiede di rendere il codice sorgente modificato disponibile agli utenti del programma, sotto la GPL.

Pertanto, la GPL dà il permesso di rilasciare il programma modificato in determinati modi e non in altri modi; ma la decisione se rilasciarlo dipende da te.

È possibile utilizzare una libreria con licenza GPLv2 nell'applicazione intranet interna di un'azienda?


2
Questa è una domanda legale che deve essere decisa dall'avvocato della compagnia o dal capo console legale.
hotpaw2,

1
@ hotpaw2 -il tuo suggerimento ha sicuramente i suoi meriti ed è la migliore guida che una volta può dare, mi sconcerta davvero che con tutti gli sviluppatori del mondo, queste domande siano ancora poste e ancora in alcuni casi rimangono poco chiare. Immagino che si applichi la giurisdizione locale , ma seriamente, la mia sensazione è che la licenza sia deliberatamente poco chiara su alcuni aspetti. Ora, se gli sviluppatori che utilizzano questo software non sono stati in grado di ottenere risposte chiare, l'IMO cerca di spiegare concetti agli avvocati e ottenere la loro interpretazione della licenza è un molto da chiedere: una risposta per gli sviluppatori da parte degli sviluppatori è la strada da percorrere
Ahmad,

@Ahmad: gli unici aspetti che ho trovato seriamente poco chiari sono le parti che devono rispettare la legge sul copyright: cos'è un'opera derivata, cos'è la distribuzione, ecc. Fino a quando non avremo chiarimenti legali (negli Stati Uniti, che potrebbero comportare la modifica del testo della legge o delle sentenze del tribunale che producono giurisprudenza), nessuno lo saprà per certo.
David Thornley,

Come hai detto che esistono due forme di utilizzo dell'applicazione 1) La sua forma nativa che è exe basato su console (che utilizza la libreria GPL); e 2) Utilizzo tramite un'interfaccia Web che chiama l'eseguibile. Per il primo, chiarire che "È una chiamata alla libreria GPL tramite chiamate di sistema o chiamate personalizzate"?

Risposte:


22

La GPL, in tutte le sue varianti, è una licenza di ridistribuzione . Semplicemente non si applica affatto se non ridistribuisci il codice. Potrebbe applicarsi in futuro se, un giorno, decidessi di realizzare un prodotto dalla tua applicazione, ma non ora.


Finché non viene mai ridistribuito, la licenza non ha alcun effetto su di te. Nessuna. Naturalmente, gestiscilo dal tuo consulente se non sei affatto sicuro e assicurati che abbiano familiarità con la legge sulla licenza del copyright.
Michael Trausch,

2
In altre parole, tutti coloro che hanno il binario, devono anche avere la fonte corrispondente in modo che possano correggere i bug e creare un nuovo binario.

2
Quindi questo significa che posso anche usare il sito Web GPLv2 all'interno dell'azienda, senza venderne la funzionalità?
Johnny_D,

3

Penso che tu abbia citato la risposta, quindi ce l'hai.

La mia conoscenza della GPL è che per quello che vuoi fare, non hai problemi.


3

La risposta qui dipende dalla definizione legale di distribuzione .

Se dare un programma ai tuoi dipendenti da eseguire lo sta distribuendo, allora si applicano i requisiti GPL e devi dare anche ai dipendenti che ricevono il programma l'origine.

Se dare ai tuoi dipendenti una copia del programma non è distribuzione, allora non hai requisiti, poiché non lo hai distribuito.

Le FAQ che hai citato ti dicono che non devi rendere il tuo codice disponibile pubblicamente . (Cioè, a qualsiasi persona a caso per strada.)

Si noti che in GPLv2 è chiaro che un servizio Web non è considerato distribuzione. È solo l'applicazione console che confonde.

Ti suggerisco di ottenere una consulenza legale dall'avvocato della tua azienda.


2

Sì, puoi MAI prendere in considerazione la cooperazione con subappaltatori, aziende partner e simili. Questo ha fatto mordere molti amministratori sul retro, dato che "solo per interni" è diventato "condiviso tra i partner" e poi "prodotto in vendita". Quindi le parti GPL devono essere riscritte da zero o si rilasciano fonti sull'Intranet.


4
OTOH, la maggior parte dei sogni di fare soldi con gli strumenti sviluppati per uso interno che i manager sognano sono schiacciati quando si rendono conto di quanto sia specifica l'azienda e buggy l'applicazione. La licenza è sempre stata l'ultimo problema che ho riscontrato, quando si sono verificati tali scenari.
keppla,

@keppla: Sì, e questo significa: usalo, ma fai attenzione. Mantieni i confini semi-chiari tra il tuo proprietario e GPL, in modo che se arriva il momento del cambiamento non ti troverai impigliato irrimediabilmente. "Segreti commerciali" separati da un buon livello di astrazione di una certa logica di colla dalle parti GPL.
SF.

1

LGPL versione 2 consente di ridistribuire l'origine e il file binario.

Puoi persino venderlo.

L'unica vera limitazione è la seguente:

Se si modifica la libreria e la si distribuisce, è necessario rilasciare pubblicamente le modifiche apportate alla libreria. Leggi il punto 2 della LGPL.

Se non lo modifichi, non hai davvero un problema.


0

Non penso che sarebbe un problema. Le applicazioni Web che utilizzano il codice GPL ma che non sono disponibili in forma di codice sorgente per gli utenti sono uno dei problemi che GPLv3 ha cambiato rispetto a GPLv2, chiudendo quella "scappatoia". Questa sembra in gran parte la stessa domanda.

A seconda di cosa serve esattamente la libreria, un altro modo ovvio per evitare l'intero problema è quello di creare un wrapper molto semplice attorno alla libreria. Se la libreria è GPL, il wrapper potrebbe finire con la necessità di essere GPL'd, ma se le interfacce sono chiaramente separate, la licenza del codice wrapper non dovrebbe (ho quasi detto di no, ma consultare un legale adeguatamente qualificato professionista) hanno alcun impatto sui requisiti di licenza dell'applicazione principale.


0

È importante ricordare in tutti questi consigli da "programmatore a programmatore" che nessuno di essi è un avvocato. Come chiarisce questo thread, c'è spazio per l'interpretazione con GPL.

Se devi violare la GPL, devi ponderare il costo dell'esposizione della tua organizzazione a un'azione legale e ottenere una buona e valida opinione legale . Ci sono buone idee in questo thread, ma non prenderei una decisione su questo input da solo.

-

Ad esempio, ecco una ruga: cosa succede se il codice GPL'd è JavaScript?

Quando un utente accede a un sito Web con codice JavaScript GPL, tecnicamente il "codice sorgente" (in questo caso un file JS) viene "distribuito" all'utente finale. Significa che l'intero sito Web deve essere GPL? C'è anche un intero dibattito al riguardo .

Mentre odio pagare gli avvocati tanto quanto il prossimo lavoratore laborioso, dato il rischio, questa è un'area in cui è generalmente meglio non dipendere da consigli su Internet (ad eccezione di questi consigli, ovviamente).


Irrilevante: l'OP chiede un'applicazione completamente interna. In tal caso, nessuna versione di GPL dice nulla sulla necessità di distribuire qualcosa (anche se il collegamento a software non compatibile con GPL può essere un problema) e le FAQ di Gnu risolvono direttamente la mancanza di requisiti.
David Thornley,

-1

Come hanno detto i poster precedenti, la licenza GPL si applica solo se si rilascia l'applicazione, se rimane solo per uso interno, non ci sono problemi. Tuttavia, vale la pena considerare le implicazioni a prescindere, nel caso in cui ciò dovesse mai cambiare.

La mia comprensione di base della licenza è che consente di modificare il codice sorgente, quindi di vendere l'applicazione risultante, se lo si desidera, ma a condizione che si renda il codice sorgente disponibile a chiunque lo richieda, comprese eventuali modifiche apportate ad esso.

Nel caso di una libreria compilata, il codice GPL'd è separato dalla tua base di codice principale e come tale è necessario solo il codice sorgente per la libreria compilata, non il resto della tua base di codice.

Laddove la libreria non è compilata, ovvero in un'applicazione PHP, credo che la separazione esista ancora. Supponiamo ad esempio che l'applicazione utilizzi una libreria open source per generare PDF: qualsiasi modifica al codice di generazione PDF sarebbe coperta dalla licenza e gli eventuali miglioramenti devono essere rilasciati, tuttavia non è necessario rilasciare alcun codice all'interno dell'applicazione che utilizza questa libreria .

Nota che questo cambia con GPL v3 per cui il tuo codice deve essere open source se ti colleghi a una libreria open source ...


1
"è necessario solo il codice sorgente per la libreria compilata per essere rilasciato": questo descrive la LGPL, non la GPL. La GPL funziona nel presupposto che il collegamento a una libreria rende l'applicazione derivata dalla libreria e, quindi, soggetta alla stessa GPL.
Sean McMillan,

-2

Non sono sicuro che sia corretto vietare ai dipendenti di ridistribuire tale applicazione, poiché l'applicazione stessa è anche GPL. Quindi ciò che pensi possa essere una "applicazione interna" potrebbe essere potenzialmente (legalmente?) Trapelato insieme al codice sorgente.


Si prega di approfondire "poiché l'applicazione stessa è anche GPL". A cosa ti riferisci? Se qualcuno vuole prendere solo la libreria GPL e distribuirla, la licenza prende il via da ciò che ho capito finora. L'applicazione intranet (console n web) NON è destinata alla distribuzione e se un dipendente decide di 'ridistribuire' l'applicazione dell'azienda, sono abbastanza sicuro che non sarà un dipendente per molto tempo ..
Ahmad,

Il file EXE basato su console è GPL poiché utilizza una libreria GPL e, come tale, GPL richiede che debba rimanere liberamente ridistribuibile da chiunque ne abbia accesso. Sì, un dipendente potrebbe perdere il lavoro per farlo, ma è suo diritto ridistribuire il file EXE GPL con l'origine. Tuttavia, potrebbero essere applicate altre regole e leggi (ad es. Segreti commerciali). Verificare con un avvocato se si può davvero ritenere i dipendenti "sleali" responsabili per ciò che è concesso dalla GPL.
zvrba,

rileggi la domanda. La maggior parte delle risposte sembra non essere d'accordo con te o c'è qualcosa che ci manca? L'applicazione (inclusa la parte GPL) NON è destinata alla distribuzione / ridistribuzione, verrà utilizzata solo internamente, non venduta, non rivolta al pubblico. La libreria GPL NON verrà modificata in alcun modo. Sai che Google utilizza versioni modificate di Linux Kernal solo per uso interno e non distribuisce questa versione. Ho sottolineato solo l'uso interno.
Ahmad,

Non importa se si intende distribuire l'applicazione o meno. La GPL è chiara su quanto segue: chiunque metta le mani su un'opera GPL può distribuirla liberamente ulteriormente (e può richiedere il codice sorgente). Parla con un avvocato per scoprire cos'altro può essere trattenuto contro i tuoi dipendenti se scelgono di distribuire il lavoro GPL, come consentito dalla licenza GPL.
zvrba,

1
L'applicazione non è automaticamente GPL includendo una libreria GPL. Tuttavia, se si desidera distribuire un'app che include una libreria GPL, è necessario disporre di una licenza compatibile GPL. La Sezione 7 di GPL V2 afferma: Se non è possibile distribuire in modo tale da adempiere contemporaneamente ai propri obblighi ai sensi della presente Licenza e di qualsiasi altro obbligo pertinente, di conseguenza non è possibile distribuire affatto il Programma. Pertanto, se non si dispone dell'autorizzazione per distribuire il codice dell'applicazione della propria azienda, non è possibile distribuire l'applicazione.
KeithB,
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.