[email protected] writes: > "Vi sembra una gran bella trovata mettere a disposizione di un ipotetico > nemico i sorgenti GNU di un software di lancio e navigazione di un > missile, software finanziato con le vostre tasse e difficilmente > deviabile in quanto ben debuggato - e gratuitamente - dalla comunità > open source di cui facciamo parte?
C'era una volta una agenzia spaziale europea a caso, questa agenzia spaziale europea a caso aveva un vettore funzionante chiamato Arianne IV. Arrivò la decisione dei dirigenti di creare un nuovo e più potente vettore, Arianne V. Vennero i responsabili della preparazione del codice di controllo navigazione (non dico la nazione, ma la so) e affermarono "possiamo risparmiare varie decine di migliaia di euro (su svariati milioni!) utilizzando direttamente il software di controllo di Arianne IV su Arianne V". Applausi e approvazione. Arriva il giorno del lancio. Il computer di bordo si inizializza e dice "bene, sono ad altezza tale (diciamo 10 m slm) e velocità 0". Peccato per il computer di navigazione che Arianne V - confrontato ad Arianne IV - sia un dragster e quando il nostro computer di controllo "fa quella affermazione" il missile sia già in volo e corra come un razzo. E qui devo fare una digressione sui controlli automatici (ramo cui appartiene il programma di controllo navigazione di un missile). Nei controlli automatici si usano delle funzioni matematiche che sono sicure solo quando le si fa lavorare su un certo insieme di valori, altrimenti danno errori - che in un computer si trasformano in eccezioni (SIGFPE nel caso di Linux). Per maggiori dettagli vedete ad esempio http://it.wikipedia.org/wiki/Controllo_automatico Risultato? Il povero computer di controllo si trova a lavorare con valori al di fuori dell'insieme in cui le funzioni matematiche non vanno in errore. Quindi il computer va in errore e... - non c'è supporto di debug o per trappare e gestire l'errore? - Non serve! Il sistema ha dimostrato di essere funzionante in tutti i voli di Ariane 4 OOps, l'errore c'è stato, viene lanciato un SIGFPE e visto che nessuno lo gestisce, il programma viene terminato scaricando il core dump. Su disco? Disco?? Ma siamo matti? I dischi "PESANO" e vanno a discapito del carico pagante. Quindi il computer scarica il dump in memoria e... sovrascrive i registri di controllo degli ugelli, forzando una strettissima virata che compromette l'integrità strutturale del missile che si spezza. La cosa viene rilevata dall'apertura del circuito di cui fa parte un sottile conduttore che ricopre il missile come una 'calza', rotto il conduttore si considera compromessa l'integrità strutturale e parte l'autodistruzione. Da terra premono il pulsante apposito solo per essere sicuri. Morale: anche se ti rubano il programma di controllo non è detto che siano in grado di debuggarlo. Secondo errore: pensare che il software libero implichi la comunità. Io posso fare un programma per un singolo cliente e cederglielo sotto GNU GPL. Posso anche non distribuire ulteriormente il programma, i.e. perché il cliente è anche mio amico e voglio lasciargli un vantaggio o più probabilmente perché nessun'altro me lo chiede o ancora più probabilmente tale prodotto non risulta immediatamente riutilizzabile. Ma potrei usare comunque parti dell'applicazione in altre per usi diversi o anche in altre per gli stessi usi ma che sono diverse perché diversi sono i processi in cui si inseriscono. Tutto questo con i sorgenti che rimangono solamente nelle mie mani ed in quelle dei miei clienti. Peraltro, non è infrequente che una P.A. commissioni la creazione di un programma che rimane proprietà della P.A. e la cui ridistribuibilità viene decisa dalla P.A. proprietaria e non dalla software house creatrice. -- /\ ___ Ubuntu: ancient /___/\_|_|\_|__|___Gian Uberto Lauri_____ African word //--\| | \| | Integralista GNUslamico meaning "I can \/ coltivatore diretto di software not install già sistemista a tempo (altrui) perso... Debian" Warning: gnome-config-daemon considered more dangerous than GOTO -- Per REVOCARE l'iscrizione alla lista, inviare un email a [email protected] con oggetto "unsubscribe". Per problemi inviare un email in INGLESE a [email protected] To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: https://lists.debian.org/[email protected]

