[Discussioni] Embedded free software
Stefano Maffulli
stef a zoomata.com
Dom 14 Ott 2001 13:05:44 CEST
On Saturday 13 October 2001 15:40, Alessandro Rubini wrote:
Premessa: i commenti che seguono, per la maggior parte, sono il risultato di
uno scambio di battute sull'argomento con Chassel a fsf durante il Linux a Work
di Milano. Si parlava proprio di scatolotti firewall basati sul kernel Linux
e come rendere tali dispositivi aderenti alla GPL.
[...]
> E anche:
> If the software is modified by someone else and passed on, we
> want its recipients to know that what they have is not the original, so
> that any problems introduced by others will not reflect on the original
> authors' reputations.
>
> Quindi modifica deve essere documentata. Non e` un caso che zio bill
> non venda sistemi linux con aggiunta di bachi per dimostrare che non
> funziona. Dovrebbe o documentare i bachi aggiunti (e allora non serve)
> oppure perderebbe sicuramente la immancabile causa legale. E allora
> perche` io utente non devo sapere come e` stato modificato il kernel
> nei prodotti elencati sopra? La licenza e` rispettata o no?
No, non mi pare proprio che sia rispettata.
> Nella licenza vera e propria, il punto 0 definisce programma, gia` detto.
> Il punto 1:
> 1. You may copy and distribute verbatim copies of the Program's
> source code [...]
>
> nessun problema, nei casi elencati non viene distribuito il sorgente
> (non insieme all'hw almeno).
Dovrebbe essere messo a disposizione su un sito FTP, per esempio, o comunque
deve essere pubblicizzato un modo semplice per entrarne in possesso. E devono
esserci i changelog e tutto quanto siamo abituati a vedere per ogni tipo di
programma.
> 2. You may modify your copy [...] and copy and distribute such
> modifications or work [...] provided that you also meet all of
> these conditions:
>
> a) You must cause the modified files to carry prominent notices
> stating that you changed the files and the date of any change.
>
> Dove viene fatto?
per Agenda questo viene fatto, come pure per qualche altro PDA AFAIK (tipo la
distro per iPaq). Ma recentemente c'e` stato un caso (recentemente apparso su
newsforge, se ne sta gia` occupando la FSF --non trovo i link) di
linuxda.com, un kernel modificato per funzionare sull'hardware del palmIII di
cui non si capisce nulla: se danno i sorgenti (il link dal loro sito punta ad
un tar.gz rotto), se danno quelli che loro montano sui palmIII, ecc.
> a) Accompany it with the complete corresponding machine-readable
> source code, [...]
>
> Questo non c'e`.
per motivi di spazio sui dispositivi, come sai :-) Ma non sarebbe un problema
se fosse chiaramente reso noto dove reperirli. Con Chassel la discussione era
nata parlando di certificazione per firewall (che e`/sara` obbligatoria nella
PA) per ottenere la quale il software sul firewall non puo` essere modificato
(che senso avrebbe infatti la certificazione in tal caso?). Chassel mi disse
che si poteva fare sicuramente un firewall con Linux e iptables (per esempio)
con le modifiche necessarie alla certificazione, bruciare il software
(Programma) su prom e mettere online (ftp, per esempio, o su un CD) il
sorgente del Programma e i changelog.
> b) Accompany it with a written offer, valid for at least three
> years, to give any third party [...] a complete
> machine-readable copy of the corresponding source code [...]
>
> Nemmeno questo c'e`.
dovrebbe :)
Scusa, ma che hai comprato recentemente che ti avvelena? :-))
> The source code for a work means the preferred form of the work for
> making modifications to it. For an executable work, complete source
> code means all the source code for all modules it contains, plus any
> [...]
>
> Quindi io devo essere autorizzato a ricompilare il programma. Ora, che
> me ne faccio del ricompilare se non posso mettercelo dentro? Per
> esempio se e` scritto su prom (piuttosto che eeprom o flash)?
>
> E` vero che nella licenza non c'e` scritto che l'utente deve poter
> sostituire il programma con una versione modificata, ma questo e`
> scritto nel preambolo ("make sure that you can change the program") ed
> e` una delle quattro liberta` definite dalla FSF.
Tu infatti saresti in grado di modificare il Programma. Non potresti farlo
girare modificato pero`... Qui pero` la mia capacita` di ragionare per
astratto si ferma e mi serve fare casi pratici per sbrogliare la matassa.
Nel caso di Agenda ha avuto senso per loro rilasciare tutti i loro prodotti
(consumer e developer edition) con memoria flashabile (mi dispiace per i
puristi dell'italiano, non mi viene in mente niente di meglio) dato che tutto
il loro software e` poco maturo.
Nel caso del firewall certificato non e` possibile rilasciare il Programma su
supporti ri-scrivibili. Vuol dire che in tal caso non hai la liberta` 0 su
quel Programma? Azz, Alessa`, hai beccato un baco grosso come l'Everest! Si
tratta di un caso limite, che va trattato con la dovuta attenzione. Forse si
dovrebbe iniziare a pensare ad una versione della GPL per queste situazioni
limite.
E` un problema di semantica serio, molto serio. Ma che IMHO non scompone la
sostanza della GPL: sei libero di fare quello che ti pare con il software,
pur essendo "incorporato". Se compri un firewall certificato vuoi poterti
fidare non solo dell'ente certificatore ma anche della "peer review" cara
all'OSI. Resti in grado di costruirti una box simile e migliore dato che (i
tecnici mi correggano se il mio ragionamento falla) hai i sorgenti e puoi
quantomeno intuire l'ingegnerizzazione dell'hardware. La GPL vuole rendere
libero l'utente e lo sviluppatore, ma quando compro un palmare o un'autoradio
o un cellulare quello di cui io personalmente mi preoccupo e` che il software
faccia solo quello che dice la scatola. Ovvero non vorrei scoprire backdoor,
dispositivi di controllo remoto o microspie. La GPL attuale ha perfettamente
senso per i dispositivi che ORA (ieri?) chiamiamo computer. Per la centralina
elettronica dell'auto andrebbe adattata.
Faccio un altro esempio: il boot loader dell'Agenda VR3 e` bacato per una
strana combinazione random di hardware e alcuni kernel e fa consumare molto
le batterie. Il baco e` stato risolto, esiste un nuovo boot loader. Devo
precisare che tale boot loader e` anche responsabile delle operazioni di
riprogrammazione della memoria del PDA (serve a flashare gli aggiornamenti
kernel e programmi) e quindi anche di se stesso. Quindi il baco e` stato
risolto. Quanti _sviluppatori_ (non utenti) hanno aggiornato le loro
macchine? Uno scarso 5%, pare (stime personali dalla mailing list)! Perche`
se la procedura di flash va male (e non e` solo questione di perdita di
corrente) ci si ritrova tra le mani un mattone da 200US$. Quindi la liberta`
di modificare il Programma della GPL non e` sempre utile, ma e` sicuramente
importante poter vedere i sorci, poterli modificare per poter implementare
prodotti (hard/software) competitivi e poter avere vera concorrenza.
> Quindi i miei dubbi sono i seguenti:
> - posso mettere sw gpl non mio in contesti in cui non puo` essere
> modificato? (sembra di si)
Puoi modificarlo, se hai i sorgenti, ma non sempre puoi/potrai farlo girare
modificato sullo stesso hardware. Le certificazioni sono "cattive"? Non
rispondere, si andrebbe fuori tema :-)
> - i costruttori dei prodotti di cui sopra rispettano la GPL? Secondo me
> no.
Anche secondo me no. Le domande retoriche abbondano :)
> In particolare, nel caso del sistema industriale, chi installa le
> macchine in genere non permette all'utente di riprogrammarle (anche
> dove fisicamente possibile) o anche solo di sapere cosa c'e` dentro. A
> parte i contratti a latere per cui se l'utente mette le mani puo`
> cadere ogni forma di assistenza, la cosa secondo me non funziona
> affatto.
Sono d'accordo con te che la cosa non funzioni: volendo/potendo devo essere
messo in condizioni di cambiare il firmware di quello che ho comprato.
Pero` non puoi prescindere dai contratti a latere. Ovvero, nel caso dei
sistemi "incorporati" con SL mi pare che siano un ottimo modello di business
parallelo alla sola vendita di ferro.
Anche nel caso di software "classico" libero mi viene in mente un esempio in
cui al cliente non e` consentito "riprogrammare" il sistema: se tu vendi un
software GPL ad un cliente e gli vendi anche l'assistenza su quel software,
se lui te lo modifica "in casa" il contratto di assistenza basato sulla _tua_
versione e` ancora valido? O va rinegoziato? Ho letto in giro di gente che
consegna sorgenti e binari compilati "firmati" (con MD5 o altri metodi) e su
tale codice basa i contratti di assistenza.
In questo caso il software e` legato intimamente ad un contratto di
assistenza (sw+ass = il Prodotto), nel caso che illustri tu il software e`
legato al ferro (sw+hw = il Prodotto) su cui il fornitore fornisce
assistenza. Le cose sono legate, sono un'opzione di FSBusiness, per come la
vedo io.
Nel caso di prodotti con GPL incorporata le caratteristiche di eticita`
vengono mantenute a prescindere se si possa o no "bruciare" in casa una nuova
versione: non ci sono grosse barriere all'ingresso di concorrenti sul mercato
(hai il software, puoi re-implementare l'hw --evitando brevetti), il software
puo` essere studiato e modificato e distribuito... e per l'hw abbiamo bisogno
delle specifiche di hw libero, tenendo bene a mente che per la riproduzione
di hw i costi marginali sono alti?
> Ecco, mi sono tolto un peso.
uff, ce l'avevi dentro da parecchio, mi pare :) A me invece il magone m'e`
venuto: ho passato oltre un paio di ore per scrivere sto messaggio, mi pare
di aver esagerato :)
ciao
stef
--
Prima di tutti vennero a prendere gli zingari e fui contento perché
rubacchiavano.
Poi vennero a prendere gli ebrei e stetti zitto perché mi stavano antipatici.
Poi vennero a prendere i comunisti ed io non dissi niente perché non ero
comunista.
Un giorno vennero a prendermi e non c'era rimasto nessuno a protestare..."
Bertold Brecht, "Sentieri di Verita'"
More information about the discussioni
mailing list