Newsgroup: it.comp.os.linux.development
Titolo: Domande su licenza GPL e applicazioni commerciali

Sono in procinto di sviluppare un dispositivo hw al cui interno girerà
un sistema operativo Linux embedded (non ho ancora ben chiaro quale,
sono ancora in fase di studio).
Prima di fare una scelta sbagliata, vorrei capire meglio la questione
del "software libero" nelle applicazioni commerciali.
Diciamo subito che non voglio rilasciare il codice sorgente delle
applicazioni che girano sotto Linux e che sviluppo completamente io:
ovviamente ho dei concorrenti e non è bello dare a loro il mio lavoro
fornendo il codice sorgente.
I scenario
Utilizzo un Linux "standard": kernel+qualche applicazione tutte GPL.
Creo un'applicazione *tutta* mia linkando dinamicamente qualche
libreria LGPL (glibc in primis). Cosa sono costretto a fornire al
cliente senza violare alcuna licenza?
Sono costretto a pubblicizzare (nei manuali, brochure, altro) che
all'interno del dispositivo gira un software GPL (il kernel)?
Sono costretto a fornire (tramite link o CDROM) il codice sorgente del
kernel e/o delle librerie LGPL utilizzate?
Sono costretto a fornire il binario della mia applicazione?
Sono costretto a fornire il codice sorgente della mia applicazione?
II scenario
Sono costretto ad utilizzare delle librerie GPL (e non LGPL). Cosa
cambia rispetto al I scenario?
Se le librerie sono linkate staticamente, quasi sicuramente anche la
mia applicazione deve essere rilasciata come open-source, quindi devo
fornire il mio codice sorgente. Cosa succede invece se linko queste
librerie in modo dinamico? Posso mantenere chiuso il codice sorgente
della mia applicazione?
III scenario
Mi serve modificare il kernel per poterlo compilare sulla mia
architettura hw. Devo rilasciare le modifiche (patch) al sorgente
originale e/o tutto il sorgente modificato? Deve essere sempre sotto
GPL?
Ci sono molte software-house che sviluppano immagini del kernel per
piattaforme di vario tipo (ARM, XScale, ecc.). Tutte queste sono
obbligate a fornire il codice sorgente (anche se a pagamento) ai
clienti?
A tal proposito non mi è chiara una cosa. La GPL garantisce la libertà
del software piuttosto che la sua gratuità. Se un'azienda modifica il
kernel originale Linux per una propria (o di altri) piattaforma hw
essa può farsi pagare il lavoro basta che rilasci il codice sorgente.
Ma la GPL garantisce anche la possibilità di ridistribuire il software
libero. Quindi, in teoria, un cliente può comprare da questa azienda
il kernel modificato e poi distribuirlo a mezzo mondo gratuitamente...
qualcosa non mi torna.
IV scenario
Utilizzo un Linux "standard" (una distribuzione tipo Debian o simili)
e software GPL (per esempio, il web server apache). Sviluppo poi solo
delle pagine web, magari con alcuni script (PHP o phyton) lato server.
Sono costretto a rilasciare il codice sorgente di queste pagine web e/
o gli script ai clienti?
Scusate le numerose domande, ma in giro c'è tanto materiale per
avvocati, non per programmatori...

rispondo brevemente, con l'avvertenza che questo e' quanto ho capito
io e non e' necessariamente la verita'.
1) se distribuisci software GPL non modificato, devi in teoria mettere
   a disposizione il sorgente; ma la licenza prevede che tu possa
   limitarti soltanto ad indicare dove questo sorgente puo' essere
   trovato (e.g.: scrivetemi e ve lo mando; guardate sul mio sito e
   scaricatelo da li'; guardate su 
kernel.org
).
2) se distribuisci software GPL modificato, devi mettere a
   disposizione il sorgente con le tue modifiche esplicitamente
   annotate come tali; in pratica ricadi nel caso precedente e metti a
   disposizione delle patch da applicare al sorgente non modificato.
3) se compili un programma tuo con gcc e se lo linki con librerie GPL
   o LGPL *non* sei tenuto a fornire il sorgente del tuo programma.
-- 
|   Maurizio Loreti -- 
ROT13:ybe...@cq.vasa.vg
   |  (@_
| Un. of Padova, Dept. of Physics, Padova, Italy |  //\
|     
http://www.pd.infn.it/~loreti/mlo.html
     |  V_/_

Per esempio, guardando la vetrina dei prodotti commerciali su
www.linuxdevices.com
,
si notano numerose ditte che usano Linux.
Uno a caso: 
www.akcpinc.com
Questi fanno una videocamera per monitoraggio con la possibilità di
connessione a
diversi sensori ambientali. Il tutto è basato su Linux, come
chiaramente indicato nel
sito stesso. Si dice anche che il processore usato è un ARM e penso
che un minimo
adattamento del kernel ci sia stato.
Io però non ho trovato alcun codice sorgente sul loro sito. Al massimo
la pagina degli
aggiornamenti del firmware (che saranno probabilmente solo in formato
eseguibile
e neanche molto sfruttabile) che, tra l'altro, è accessibile non da
tutti.
La domanda è spontanea: la AKCP sta violando la GPL oppure no? Se no,
perchè?

 avvocati, non per programmatori...
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   Registered Linux user #337974  < 
http://giovanni.homelinux.net/
 >

 gli script ai clienti?
No. Non stai vendendo il software, ma il servizio online. Il software 
rimane tuo, quindi anche se ci fai modifiche ma non lo distribuisci, puoi 
tenertele in casa e non rendere conto a nessuno.
Poi dipende dal contratto. Se fai un sito per un cliente, per sicurezza, 
specifica nel contratto che stai fornendo il servizio di realizzazione del 
software e il suo hosting, ma non il software stesso, che rimane di tua 
proprieta`.
Bye.
 

 Io però non ho trovato alcun codice sorgente sul loro sito. Al massimo
Se tu compri uno di quegli apparecchi hai il diritto di chiedere loro una 
copia (compilabile) del sorgente kernel utilizzato.
Non sono obbligati a renderlo disponibile sul sito, ma solo dietro 
richiesta a chi dimostra di aver acquistato uno dei loro apparecchi.
Bye.

 cosa ha fatto, pensi gliele fornira`?
Io sto parlando di "spionaggio industriale". Un mio cliente, che è
anche cliente
di un mio concorrente, mi compra il mio apparato all'avanguardia con
questa
nuova tecnologia (Linux embedded che mi semplifica notevolmente il
lavoro
in molti casi). Il cliente mi chiede il codice sorgente, del kernel,
della toolchain,
del mio programma (che non può fare a meno di una libreria GPL).
A questo punto io sono obbligato a fornirglielo e lui ha il diritto di
ridistribuirlo,
per esempio al mio concorrente.
Ovvio che il mio concorrente non si sogna di venire da me a chiedere
modifiche,
ma ha già una ottima base di partenza (per cui io ho perso mesi se non
anni)
per una applicazione simile alla mia a prezzi super-concorrenziali.

 per una applicazione simile alla mia a prezzi super-concorrenziali.
Piu` o meno quello che hai fatto tu usando Linux (che compie 16 anni), il 
gcc (che ne compie 20? 22?), la libc (idem), ecc. ecc.
L'alternativa e` scriverti tutto il codice da solo e applicargli una tua 
licenza.
Bye.

 licenza.
Per carità, non voglio minimizzare il lavoro di 16 anni di milioni di
utenti
sparsi per il mondo. Il discorso è che, nel mondo commerciale dove
Linux
può essere usato in apparecchiature elettroniche e non come sistema
operativo desktop, ha senso usarlo rispetto a soluzioni proprietario
(WindowsCE
e simili)?
Se il lavoro dei programmatori GNU non può essere usato in
applicazioni
commerciali cioè in quelle applicazioni dove il sorgente deve essere
tenuto
nascosto ai concorrenti, allora tanto di cappello a tali programmatori
e al
mondo Linux nel desktop, ma che utilità ha per noi sviluppatori
embedded?
E' questo quello che mi chiedevo...
Tra l'altro non ho ancora capito una cosa.
Se il mio software è GPL devo distribuirlo (binario e sorgente)
insieme al mio
prodotto. Quindi sono tenuto a distribuirlo SOLTANTO ai miei clienti
(ecco che
posso mettere i sorgenti in un'area riservata del sito web).
Ma che vincoli ha il cliente a sua volta? Possibile che io,
sviluppatore del prodotto
e detentore del copyright, ho la facoltà di scegliere a chi
distribuire il software (ai
miei clienti, nella fattispecie) e il mio cliente può distribuirlo a
chiunque senza
vincoli?

Altra cosa che non capisco.
Su 
http://www.linuxdevices.com/articles/AT9952405558.html
 c'è un lungo
elenco di aziende
che forniscono distribuzioni commerciali per Linux embedded.
Non capisco come campano.
Io compro da loro la distribuzione, con tanto di sorgenti (è GPL a
tutti gli effetti). Poi la voglio
ridistribuire (e la GPL me lo consente) e così la metto on-line e
tutti se la copiano. Ed io non
ho violato nessuna licenza.
Cosa mi sfugge?

 vincoli?
Si`, e` possibile, e anzi, sicuramente troverai qualcuno che lo fa appena 
te li chiede. Ma non pensare che succeda solo con l'open source.
Guarda l'iPhone, e` uscito da 2 giorni e gira gia` il firmware su 
Internet... 
In piu` hai il vantaggio che chiunque lo modifichi ha lo stesso obbligo di 
redistribuzione, che va a vantaggio tuo (vedi sopra).
Bye.

 come campano.
Campano tramite accordi commerciali con Sharp, Motorola, ecc. per 
personalizzare la distribuzione e farla diventare standard per quel 
palmare/cellulare/UMPC/ecc.
Personalizzano l'interfaccia, creano launcher, middleware per l'accesso 
alle periferiche, ecc. in base alle specifiche hardware che gli vengono 
fornite dal produttore.
Se vuoi qualcosa di "quasi pronto" per cellulari, palmari, set-top-box, 
tablet e/o UMPC, prova a vedere 
www.angstrom-distribution.com
In pratica e` una collezione di "makefile" particolari per costruire 
distribuzioni prendendo pezzi in giro per Internet.
Bye.

 palmare/cellulare/UMPC/ecc.
Non mi sembra aziende così grandi da intrattenere rapporti commerciali
con
Sharp e Motorola. Tra l'altro, la stessa TomTom ha sviluppato il suo
Linux
internamente per i suoi navigatori... possibile che Sharp e Motorola
si
affidino ad altri?

 redistribuzione, che va a vantaggio tuo (vedi sopra).
Ma il mio prodotto non può essere paragonato all'iPhone che comunque
non
sarà intaccato da questa diffusione del firmware.
Il mio prodotto, invece, al massimo lo vede il concorrente per
studiarselo e
se gli dò i sorgenti lui esce con un prodotto analogo dopo una
settimana.
Non è per contraddirti, anzi sono io stesso in un dilemma amletico.

    o LGPL *non* sei tenuto a fornire il sorgente del tuo programma.
Solo se lo linka dinamicamente. Se lo linka staticamente allora diventa
derived work.
Per il link dinamico ci sono dispute per quanto riguarda il solo GPL, che
presumo sia poi il motivo per cui č nato LGPL:
http://en.wikipedia.org/wiki/GNU_General_Public_License#The_GPL_in_court
-- 
emboliaschizoide.splinder.com

 per una applicazione simile alla mia a prezzi super-concorrenziali.
Tipicamente chi vende software puramente GPL lo vende come valore 
aggiunto su un hardware che e' la principale fonte di guadagno. Gli 
altri usano appunto librerie LGPL.
Bye,
  Gabry

 Non capisco come campano.
Campano sul supporto e sugli aggiornamenti.
Comunque non vedo il problema nel tuo caso, rendi l'applicazione non 
dipendente da librerie GPL (relativamente facile, esiste una 
corrispondenza LGPL o BSD per quasi qualunque libreria GPL) e il tuo 
binario non potra' essere piu' modificato, ne distribuito a terzi come 
binario, in quanto avra' la licenza che credi tu.
Per quanto riguarda INVECE un'applicazione GPL che tu vendi a un tuo 
cliente:
Lui puo' modificarsela, ridistribuirla a chi vuole, che a sua volta puo' 
modificarla, quello che non puo' fare e' MODIFICARE la licenza e (credo) 
il copyright dei vari file che compongono l'applicazione, l'unico che 
puo' decidere di rilasciare un pezzo di codice con un'altra licenza e' 
il detentore del copyright del pezzo di codice stesso.
Quindi SE (e sottolineo il SE) prendi la strada GPL PURA il tuo 
concorrente potra' sfruttare il tuo sistema come base, ma tu potrai a 
tua volta sfruttare le sue modifiche come enhancement del tuo prodotto.
Bye,
  Gabry

 derived work.
In realta' praticamente tutte le librerie LGPL prevedono una clausola 
sulla licenza che permette il link statico nel caso si sia su 
piattaforme embedded dove i limiti strutturali non permettono il link 
dinamico, inoltre anche nel caso uno esegua il link statico e non ci sia 
clausola non e' costretto a dare i sorgenti, ma solo gli object files, o 
una versione alternativa dell'eseguibile linkato dinamicamente.
La questione della possibilita' del relink e' solo per garantire 
all'utente la possibilita' di eseguire il programma con versioni diverse 
delle librerie (piu' nuove) rispetto a quelle distribuite dal "vendor", 
non vuole in alcun modo forzare l'apertura dei sorgenti dell'applicazione.
Bye,
  Gabry

 sono ancora in fase di studio).
]zac[
Premesso che sul sito della GNU trovi un bel po' di informazioni:
- Se usi, copi, modifichi codice sotto licenza GPL e lo distribuisci (per
uso interno puoi fare quel vuoi) devi rendere disponibile tutto quel codice 
sorgente a chiunque e liberamente.
- Se non si vuole ciò bisogna usare (linkare) solo le librerie LGPL, BSD
(bsd per esempio permette l'uso anche del codice senza rilascio) o sotto
altra licenza che permetta l'uso chiuso/commerciale, o altrimenti fare come
fa la nvidia che rilascia sotto GPL le modifiche basilari e di interfaccia
con il kernel e la parte vitale e importante in una libreria sotto una lo
licenza chiusa/commerciale.
Ogni discorso tipo 'ma come campo', 'è roba per hobbisti' è piuttosto
puerile/inutile (più o meno come lamentarsi che con una ferrari (e regalata
per giunta) non la puoi usare sulle mulattiere), se sfrutti il lavoro (a
gratis per giunta) altrui accetti le loro condizioni (il diritto d'autore
comanda), punto e basta e in ogni caso è la persona a saper sfruttare gli
strumenti che ha disposizione.

 richiesta a chi dimostra di aver acquistato uno dei loro apparecchi.
]zac[
????
Se hanno modificato codice GPL (ad esempio il kernel) e hanno  distribuito
la cosa, sono tenuti a rendere disponibile tutto il sorgente a chiunque lo
voglia e senza nessuna forma di restrizione.
Il libero accesso alle modifiche di codice GPL è una dei punti basilari
della licenza GPL.

 strumenti che ha disposizione.
Discorso corretto... ma io non mi stavo assolutamente lamentando.
Mi stavo solo chiedendo quanto il mondo GPL potesse essere utile nella *mia 
particolare* situazione commerciale, penso molto simili ad altri programmatori o 
aziende. Niente di più.
Se la GNU e la licenza GPL non mi permette di usare i loro software in 
applicazioni commerciali, certo non mi metto a piangere né mi lamento per 
questo. Voglio solo sapere se è possibile e in quale misura... punto e basta.
Se l'autore di un software ha deciso per una licenza non sarò certo io a voler 
fargli cambiare idea solo perchè voglio sfruttare il suo lavoro.

Giuseppe Della Bianca ha scritto:

Allora, a questo punto, penso che il problema sia cosa si intende per "distribuire".
Se dò un software GPL-modificato al mio collega della porta accanto per utilizzo 
internamente all'azienda, sto distribuendo il software e lo devo rilasciare GPL? 
Mi sembra di capire che non è questo il caso.
Se, invece, lo dò al collega che lavora nell'azienda accanto?
E se, invece, lo dò ad un mio cliente? E' una forma di distribuzione del software?
Se tu avessi ragione, sai quante aziende che fondano il loro business su Linux e 
il mondo GPL sono nel torto? Molte di queste hanno delle aree protette da 
password per scaricare il loro software GPL modificato. E la password viene data 
solo ai loro clienti...

 E se, invece, lo dò ad un mio cliente? E' una forma di distribuzione 
del software?
Si.
http://www.fsf.org/licensing/licenses/gpl-faq.html#DoesTheGPLAllowMoney
http://www.fsf.org/licensing/licenses/gpl-faq.html#TOCWhatDoesWrittenOfferValid
Piu' in generale:
http://www.fsf.org/licensing/licenses/gpl-faq.html
E non temiamo di annoiarci dopo averla letta...le cose si faranno
ancora piu' complicate con la GPLv3! ;-)
Ciao.
C!
-- 
E ora scusami ma ho un programma da portare a termine
-- heba

 misura... punto e basta.
la gpl non vieta di usare il software in applicazioni commerciale
Ciao
-- 
Andrea Corradi | Debian User | 
www.debian.org
Fingerprint: A41E F6B0 DBDB F04C 4940 E411 30F3 CD62 57B1 8458
gpg --keyserver 
keyserver.linux.it
 --recv-key 57B18458
Please avoid sending me Word or PowerPoint attachments.
http://www.gnu.org/philosophy/no-word-attachments.html

 voler fargli cambiare idea solo perchè voglio sfruttare il suo lavoro.
E invece è una ottima idea, se la GPL non va a genio invece di cercare una
scappatoia è il caso di cercare prodotti simili con altre licenze (BSD,
ecc.) o contattare l'autore per farsi rilasciare una licenza di tipo
diverso (i prodotti multi licenza sono frequenti), ma naturalmente in
questi casi spesso si paga (e sarò malpensante, ma qui casca l'asino).

 password viene data solo ai loro clienti...
Io di aziende cosi non conosco, fare quella cosa se il codice deriva da GPL
è un tentativo in contrasto con le leggi sui diritti d'autore.
A meno che la parte sotto password non sia la parte a licenza chiusa, o che
sia codice GPL non modificato, o che siano i soliti furboni (italiani?) che
fanno un uso illecito del lavori di altri in stile winzip (c'è qualcuno che
paga le licenze?).

 la gpl non vieta di usare il software in applicazioni commerciale
]zac[
Su dai, il concetto espresso da pozz era chiaramento riferito alla
convenienza/possibilità di uso, non al fatto che sia o meno vietato.

 è un tentativo in contrasto con le leggi sui diritti d'autore.
Non sono d'accordo. Se vai a leggere la sezione relativa alla
distribuzione di *binari* dice che uno deve *accompagnarli* con i
sorgenti (o con l'indicazione di dove prenderli etc etc etc).
Non dice chiaramente che deve renderli disponibili al mondo. 
Il punto è questo. Io posso farmi il mio sito con una distribuzione di
software GPL (eventualmente non modificato) e farti pagare un'iscrizione
allo stesso di mille mila euro. È un mio diritto. Nessuno si iscriverà,
ma questo è un altro discorso.
Posso anche vendere il mio software sotto GPL al prezzo che voglio. Non
posso impedire tuttavia a chi me lo ha comprato di distribuirlo a costo
0 (lasciando stare giochetti con icone e simili).
Posso vendere i binari. A questo punto la licenza dice che devo
accompagnarli con i sorgenti. Non dice che i sorgenti devono essere
disponibili *a tutti*.
Il succo della GPL è che io devo concedere a chi riceve da me il
software gli stessi diritti che io ho ricevuto da chi me lo ha dato. Chi
*non* riceve da me il software (fra cui chi non lo riceve affatto),
*non* può chiedermi *nulla*.
-- 
blog:  
http://www.akropolix.net/rik0/blogs
 | Uccidete i filosofi,
site:  
http://www.akropolix.net/rik0/
      | tenetevi riso e
forum: 
http://www.akropolix.net/forum/
     | bacchette per voi.

 software gli stessi diritti che io ho ricevuto da chi me lo ha dato. Chi
]zac[
Quindi non avrai nessun problema a fare una bella lista di tutti i programmi
sotto licenza GPL che sono stati MODIFICATI e DISTRIBUITI e i cui sorgenti
sono disponibili SOLO di alcuni clienti o NON pubblicamente, e inviare ai
rispettivi autori del codice e alla FSF (o alla GNU se preferisci) questa
personale interpretazione della licenza GPL e a chiedere ufficialmente e
pubblicamente a loro che cosa ne pensano.
Penso che le loro opinioni sarebbero molto interessanti.

 Penso che le loro opinioni sarebbero molto interessanti.
Probabilmente non è l'uso che avevano pensato per la GPL, ma io non vedo
un impedimento legale. Comunque suggerirei di spostarci su
it.comp.software.libero che è fatto apposta per parlare di queste cose.


 Invece che fare ironia con tono arrogante, prova a spiegare dove sarebbe
]zac[
? ... va beh ...
Non posso che rinnovare l'invito qui sopra (chiedere delucidazioni/conferme
a chi ha deciso l'uso di una certa licenza e/o a chi la pensata/creata)

 a chi ha deciso l'uso di una certa licenza e/o a chi la pensata/creata)
Come ti dicevo conosco almeno un software che lo ha fatto. 
Inoltre non è cosa non comune nel mercato embedded e simile.
Ed è un bel po' che giro nel mondo del software libero, e la mia
'interpretazione' non è certo mia e basta. Ti ho anche mostrato i punti
della licenza che rendono lecita la mia interpretazione.
Se poi parliamo del fatto che chiaramente non è quello che chi ha
scritto la licenza si aspettava, sono d'accordo. E in effetti è un uso
non comune.
Un altro uso non precisamente in linea con lo spirito della stessa è
quella di sviluppare un sw in GPL e poi fare una doppia licenza. Le
aziende commerciali che vogliono tenere chiuso il loro sorgente pagano e
hanno l'altra licenza (mentre lo scopo principale della GPL sarebbe
quello di rendere libero quanto più codice possibile).


 'interpretazione' non è certo mia e basta. Ti ho anche mostrato i punti
]zac[
La discussione ha poco senso, convincere me o meno vale meno di zero, quello
che conta è l'opinione degli autori del codice, della fsf, della gnu, dei
tribunali (che applicano le leggi sul diritto d'autore), ecc. ...
Per quanto riguarda me, la gpl 1/2/3 e lgpl me le son lette da tempo e da
tempo ho avuto chiarimenti diretti e indiretti.
E da tempo i giochetti/tentativi di aggirare la gpl come quelli scritti nei
post precedenti saltano fuori, li ha usati tempo fa la redhat, la suse e
altri.
E c'è ne sono una marea di altri, per esempio le modifiche le rendo
pubbliche però le cripto (magari in egiziano antico), tanto nella gpl mica
c'è scritto che non devono essere criptate o che devono essere in inglese.
E tutte queste cosucce hanno lo stesso difetto, stanno in piedi finche
qualcuno non ritiene conveniente o ha tempo da perdere per fargli le pulci.
Qualcuno ritiene che le cose siano/o le vuole diverse? benissimo
problema/vantaggio suoi, e a rischio di essere citato per plagio, tutto il
resto e noia.

 resto e noia.
Anche doverti convincere di cose abbastanza ovvie è noioso.
