Esecuzione del software come servizio utilizzando il programma GPL (v2 +) non modificato come dipendenza principale: il codice sorgente SaaS deve essere rilasciato?


10

Sto progettando un software come progetto di servizio a cui si accederà solo online. Potrei avere una forte dipendenza da un eseguibile che è coperto da GNU GPL (v2 o successivo).

Comprendo che il mio codice, se mai dovessi distribuirlo, deve essere distribuito anche secondo i termini GPL. Sono abbastanza sicuro che l'esecuzione del servizio sulla rete non sta trasmettendo / distribuendo il codice. Quindi, ho ragione nel pensare che potrei usare la dipendenza GPL senza dover rivelare tutto il mio codice?


Solo così posso fornire un esempio concreto: diciamo che sto progettando un sistema di elaborazione dei documenti online, un po 'come Google Documenti. Voglio essere in grado di caricare praticamente qualsiasi tipo di file nel sistema e farlo convertire in qualunque formato interno. Invece di provare a grattare un convertitore, preferirei utilizzare un programma esistente che conosco che consente la conversione. Questo programma è un eseguibile con licenza GNU GPL v2 (o successive). Posso avere legalmente un software come servizio senza fornire il mio codice sorgente?


Se è GPLv3 o Affero, allora sì. Tali licenze sono state create su misura per correggere e chiudere il foro del "software as a service".
Andrew T Finnell,

Aspetta, anche GPLv3 lo fa? Devo guardarlo di nuovo ...
Platinum Azure,

Apparentemente mi sbaglio su GLPv3. Ne è stato colpito. linux-mag.com/id/3017
Andrew T Finnell il

Risposte:


9

Dalla descrizione che hai fornito, la risposta è "no, non devi divulgare". O stai facendo affidamento sull'output dell'eseguibile GPL o lo stai trattando come un sistema, che sono due eccezioni alla natura virale della GPL. Scava nelle FAQ di GPL e troverai le tue risposte in base alle specifiche del tuo scenario.


Giusto per essere sicuro di capire correttamente (avendo letto la domanda #GPLoutput sulla FAQ): Ad esempio, se si può dire che il copyright di un documento che viene caricato (come nel mio esempio) è detenuto dallo scrittore originale, quindi viene utilizzato l'eseguibile , l'output di detto eseguibile (che non contiene alcuna parte del codice del programma stesso contenuto) conserva il copyright dello scrittore originale, e quindi poiché lo sto usando solo e l'output non è coperto di default da GPL, I non devi rivelare?
Platinum Azure,

1
@PlatinumAzure: si.
Salteri il

2
"No" è corretto ma il motivo principale per cui non lo fai è che non stai distribuendo il lavoro coperto da GPL (rendendolo disponibile solo online). Questa è una qualità nota della GPL (sia 2 che 3); esiste una licenza separata la licenza Affero GPL che copre il caso di domanda resa disponibile online e non "distribuita".
Craig,

che dire di questa domanda in cui un'applicazione GPL verrebbe utilizzata in tempo reale per generare output sul computer dell'utente? e, ad esempio: tutti gli script bash devono essere GPL?
Aquarius Power il

-1

IANAL ma IMO la GPL hanno qui una piccola ambiguità (o interpretazione). GPL ti dà molta libertà quando si tratta di "utilizzo", ma fa molte limitazioni riguardo alla "distribuzione di opere derivate". Innanzitutto riguarda l'uso contro le opere derivate. Se il tuo codice "utilizza" solo il software GPL, non è necessario distribuire il codice che utilizza il codice GPL (se modifichi il codice GPL stesso, devi comunque distribuire quella parte di te che intendi distribuire modifiche), d'altra parte se è considerato un lavoro derivato, allora devi distribuire il tuo codice sorgente. Uno dei punti chiave è se il tuo codice viene eseguito nello stesso spazio degli indirizzi di processo al codice GPL,

C'è anche l'ambiguità che la fornitura di un servizio Web per consentire alle persone di utilizzare il codice GPL sia considerata come ridistribuzione del software o solo un modo di utilizzare il software. Penso che molte persone ritengano che la semplice fornitura di un servizio Web non rientri nella ridistribuzione.

È meglio chiedere all'autore del software cosa pensano di quello che stai facendo. È meglio rispettare la loro interpretazione invece di seguire la tua interpretazione. Nel peggiore dei casi, se mai dovesse diventare un problema, potresti sostenere che hai ottenuto il permesso esplicito dagli stessi autori o che avresti la possibilità di trovare un'altra biblioteca più permissiva o di negoziare un'eccezione.


Posso vedere che è un caso limite se sto fornendo un'interfaccia proprietaria al software libero, di sicuro (con l'interfaccia che fa sostanzialmente la stessa cosa che fa il software libero sotto il cofano), ma se lo sto semplicemente usando e è essenziale per il funzionamento del programma, ma lo scopo del software libero non è intrinsecamente uguale all'interfaccia proprietaria e viene effettivamente utilizzato come una libreria di sistema, sicuramente potrebbe rientrare nell'eccezione?
Platinum Azure,

@PlatinumAzure: l'analisi è troppo pessimistica. "fornire un servizio web per consentire alle persone di usare il codice GPL" NON è inequivocabilmente la distribuzione di quel codice GPL. Non solo la mia opinione, ma anche quella della FSF. Se l'autore del software non era d'accordo con la FSF, non avrebbe dovuto usare la loro licenza.
MSalters il

Non c'è ambiguità. Uno dei motivi principali per la creazione di GPL v3 è stato quello di chiudere questa cosiddetta scappatoia, come aveva già dimostrato "Aferro GPL". GPLv2 è tutto sulla distribuzione del codice, non sul suo utilizzo.
Ross Patterson,

@RossPatterson: la domanda riguardava GPLv2, come ho detto nel mio post GPL gives you a lot of freedom when it comes to "usage", but it does it lots of limitation concerning "distribution of derivative works". Mentre quella parte della GPL è abbastanza diretta, in GPLv2 è aperto all'interpretazione se un SaaS sia un "utilizzo" o una "distribuzione". Il GPLv2 non ha detto nulla su SaaS poiché è stato progettato prima che SaaS fosse un luogo comune, quindi l'ambiguità.
Lie Ryan,

L'utilizzo di @LieRyan SaaS da parte di utenti che non hanno ricevuto distribuzioni binarie è stato riconosciuto liberamente come non "distribuzione" e non richiede la distribuzione del codice sorgente. La Free Software Foundation ha collaborato con Affero per creare un GPLv2 modificato ("Affero GPL" v1) che ha trattato tale uso come distribuzione. Non c'è ambiguità in GPLv2.
Ross Patterson,
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.