Ciao Antonio, ti assicuro che non intendevo attribuirti l'opinione dell'autore dell'articolo e mi scuso se in qualche modo le mie parole possono essere state fraintese in questo senso.
> Detto questo, non credo sia pratico né sostenibile leggersi il codice > di tutti i componenti aperti che si vogliono riusare. Ahimé, nessuno legge le licenze. :-( ``` THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ``` https://opensource.org/licenses/MIT Clausole simili sono presenti in TUTTE le license open source (ed anche in tutte le license proprietarie!) La disponibilità dei sorgenti è ciò che caraterizza il codice open source (paradossalmente, persino di più del software libero, che è caratterizzato dalle libertà, di cui la disponibilità del software è solo precondizione dell'esercizio [1]). Se quei sorgenti non vengono studiati e nemmeno letti tale caratteristica definitoria viene completamente meno. Quindi chi installa software open source di cui non legge i sorgenti corre ESATTAMENTE gli stessi rischi che corre installando software proprietario. In particolare, software proprietario che non paga. ESATTAMENTE gli stessi rischi che corre usando il software preinstallato su Windows o il software preinstallato su Android. ESATTAMENTE gli stessi rischi che corre usando software proprietario trovato su un sito qualsiasi internet. > credo che il fattore fiducia/sicurezza sia importante per tutti Attenzione che io non credo affatto si possa fare a meno della fiducia in un sistema cibernetico complesso. Trustless significa solo opaco e primo di responsabilità riconducibili. Io mi fido degli sviluppatori dei software liberi che utilizzo perché ci parlo, ne frequento le comunità e perché quando ho un dubbio ne leggo i sorgenti. Quando non posso e sono costretto a fidarmi, prendo precauzioni. Alcune rare volte, che posso letteralmente contare sulle dita di una mano accetto consapevolmente il rischio. Uno di questi casi è Linux, di cui ho letto molte parti, ma è che troppo vasto e complesso per una seria lettura completa. Tuttavia nel caso delle aziende, non è questione di praticità o sostenibilità: è SOLO una questione di costi e profitti. Ed esiste sempre almeno un'alternativa: non usare quel software. > Invece una via di mezzo dalla cieca adozione è analizzarli con > strumenti che possano verificare qualità del software, inclusa la > sicurezza, e poi testarli approfonditamente. Sicuramente. Se le aziende effettuassero analisi statica ed investissero in sistemi di verifica formale automatizzata del software libero, avrebbero molte meno sorprese. Perché non lo fanno? Perché tanto scaricano i rischi sui clienti/utenti. E quando qualcosa va male è colpa degli sviluppatori cattivi! Tuttavia è ridicolo pensare che senza una lettura accurata sia possibile detectare uno spyware ad esempio, che viene progettato per non essere identificabile: se un software funziona da specifiche ma invia i dati degli utenti ad un ente ostile potrà facilmente aggirare i sistemi di controllo automatizzato. E qualche volta non sarà nemmeno necessario: pensa a Google Chrome che invia qualsiasi cosa venga scritta nella omnibox prima ancora che venga premuto il tasto Invio! Con il giusto marketing, anche il malware diventa una "feature"! :-D > Su entrambi gli aspetti ci feci ricerca alcuni anni fa, il problema > è complesso e il tema sembra ancora aperto a giudicare dalle nuove > pubblicazioni che vedo nei programmi di molte conferenze. Leggerei volentieri la tua ricerca sul tema e tutte quelle che puoi condividere. Tuttavia permettimi di farti notare che con questo problema io ci convivo quotidianamente da 20 anni! :-D Quando dico che l'informatica è una disciplina ancora primitiva, faccio riferimento anche a questo. Ma perché così tanto software è scritto in un linguaggio ridicolo come JavaScript? Un hack di 10 giorni di un neolaureato letteralmente impossibile da sottoporre ad una verifica statica esauriente? Perché la verifica formale del software non viene mai nemmeno presa in considerazione da "piccole imprese, no profit, scuola, ecc" ? Perché la lettura dei sorgenti è "insostenibile"? Perché si pretende di esternalizzare le competenze. E l'open source permette di farlo a costo zero. Ti bastano un paio di programmatori sottopagati per costruire applicazioni apparentemente funzionanti (ma insicure, instabili etc...) perché riutilizzi componenti di altissima qualità scritti da sviluppatori che non paghi. Ma senza competenze sei vulnerabile. Il tuo software è vulnerabile. E questo resterà vero sempre: è per questo che tutti dovrebbero essere in condizione di debuggare il software che eseguono! Perché altrimenti diventano inevitabilmente ingranaggi vulnerabili! E nel momento in cui "piccole imprese, no profit, scuola, ecc" diventano dipendenti da questo sistema di sviluppo, normalizzano lo sfruttamento che lo caratterizza. Per questo l'OSI si strappa le vesti: perché ci sono sviluppatori che OSANO rendere evidente la dinamica di potere e sfruttamento su cui si basa l'informatica contemporanea! Osano vedere il bluff! Ma se invece di esternalizzare le competenze cercassimo di acquistarle? Se trattassimo il software come CULTURA? Leggere i sorgenti delle proprie dipendenze non sarebbe visto come una perdita di tempo insostenibile o poco pratica, ma come una attività fondamentale ed estremamente arricchente non solo per lo sviluppatore, ma per la comunità/azienda/scuola che lo paga! E' una fortuna che, ogni tanto, qualche sviluppatore ricordi a tutti che chi non legge i sorgenti, accetta proprio che il software faccia quel che gli pare! By design! Nella licenza! Penso (e spero) che questo tipo di proteste si diffonderà sempre di più. A poco varranno le lacrime di coccodrillo che scorrono a fiumi. Ci portiamo i mezzi di produzione saldamente ancorati al collo. Siamo pronti ad usarli. E siamo capaci. Perché non dovremmo? Giacomo [1] https://www.gnu.org/philosophy/free-sw.it.html _______________________________________________ nexa mailing list nexa@server-nexa.polito.it https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa