Il 03/04/22 19:37, Vetro' Antonio ha scritto:
[...] L'open source è vitale per una varietà di attori (piccole imprese, no profit, scuola, ecc), credo che il fattore fiducia/sicurezza sia importante per tutti, e che questo si sia incrinato
Bisognerebbe riflettere sul fatto che questa presunta "frattura" sia da ricondurre ad una reale alterazione delle dinamiche del mondo F/OSS oppure, viceversa, ad una presa di coscienze delle relative dinamiche da parte di quelle stesse categorie di attori (piccole imprese, no profit, scuola, ecc.)
Dal mio punto di vista, quello che è recentemente accaduto _NON_ altera neanche di un epsilon lo scenario: il software è lo stesso. Chi lo sviluppa è lo stesso. Le forme di "controllo" di chi lo sviluppa, sono le stesse. _NON_ è cambiato nulla... salvo il fatto che qualche sviluppatore ha deciso di trasferire alcune sopravvenute acidita' di stomaco... sul codice che sviluppa.
Trovo particolarmente grave, da parte di chi usa quei software [indipendentemente dal fatto che ne sia cosciente o meno], che ci si accorga solo ora che --di fatto-- si è "dipendenti" di qualcuno che non si conosce... con il quale non si ha alcun rapporto di subordinazione/contrattuale... e che, proprio per questo, .... puo' fare benissimo come gli pare!
Prova ne è la numerosità di "easter-egg" noti da tempo [1]
Detto questo, non credo sia pratico né sostenibile leggersi il codice di tutti i componenti aperti che si vogliono riusare.
Non sarei cosi' tranciante. Sarà perché mi è capitato piu' volte di mettere le mani nei "sorgenti" di vari applicativi e librerie che uso... che l'idea di "guardare" e "capire", magari ex-ante... non la trovo affatto "da scartare".
Chiaramente è una questione di trade-off: * se sto scrivendo il codice per supportare la tombolata del prossimo Natale, con tanto di Text-To-Speach, e quindi uso PERL e FESTIVAL... non mi preoccuperei troppo di un "bug". Mi basta una macro-occhiata ai parametri fondamentali di quello che uso [autore; eta' e versione delle librerie; data ultimo update; numero di commit; numero di contributori; etc. etc.] viceversa... * se sto contrattualizzando l'acquisto di un sistema missilistico con riconoscimento dei target, allora _VOGLIO_ avere accesso a tutto lo stack software utilizzato, fino ai disegni di tutti i PCB coinvolti ed al firmware di tutti i microcontrollori usati e di tutta la componentistica. L'obiettivo --fra gli altri-- sarebbe di verificare se --ad esempio-- chi mi vende il sistema non abbia (casualmente....) aggiunto delle feature che evitino la detonazione quando il target è nel paese del venditore (rilevato via coordinate simil-GPS, ad esempio) o, senza arrivare a tanto: * se sono una grossa software house (quelle di SOGEI? INPS? AGID? Dipartimento Innovazione?) allora _TUTTE_ le "dipendenze" dei miei software, dovrebbero stare "a casa mia" ed il processo di importazione/aggiornamento dovrebbe passare uno step di verifica esplicita. Insomma: non ti tiri giu' da Docker-Hub, GitHub o da NPM l'ultima release del componente e lo infili, senza colpo ferire, nel _TUO_ software. Quello che fai è: recupero i sorgenti, faccio il "diff", sottopongo il "diff" ad un umano e, quando questo umano preme un bottone... rimpacchetto il tutto e lo metto a disposizione per l'incorporazione.Tutto questo è tecnicamente difficile? È organizzativamente difficile? ...non credo proprio. Di fatto, è "banalità". Basta solo _VOLERLO_ fare. Ovviamente soltanto _DOPO_ che si è _SAPUTO_ che è possibile farlo...
(Piccola nota a margine: questo approccio è _IMPOSSIBILE_ quando si utilizza software proprietario...)
Invece una via di mezzo dalla cieca adozione è analizzarli con strumenti che possano verificare qualità del software, inclusa la sicurezza, e poi testarli approfonditamente.
È certamente possibile automatizzare alcuni test di salubrita' del codice. E per software minimamente importanti potrebbero essere sufficienti. Non li vedo, pero', esaustivi: semplicemente rappresentano un punto sulla scala che va dal software non-critico al software super-critico:
* non critico: import diretto dall'esterno, senza controllo * minimamente critico: import dall'esterno + verifica automatizzata del "diff" * critico: import dall'esterno + verifica automatizzata del "diff" + notifica del "diff" a team di "revisione" * molto critico: livello precedente, applicato anche alle componenti hardwaresull'ultimo punto --che a qualcuno potrebbe apparire eccessivo o, peggio, infattibile-- faccio notare che... Amazon, a suo tempo, lo fece... e trovo' cose interessanti [2]
Niente di impossibile quindi. Basta solo volerlo/doverlo fare... Bye, DV [1] https://en.wikipedia.org/wiki/Easter_egg_(media)#Software[2] https://www.bloomberg.com/news/features/2018-10-04/the-big-hack-how-china-used-a-tiny-chip-to-infiltrate-america-s-top-companies
recentemente ripreso e sviluppato anche qui: https://www.bloomberg.com/features/2021-supermicro/ -- Damiano Verzulli e-mail:dami...@verzulli.it --- possible?ok:while(!possible){open_mindedness++} --- "...I realized that free software would not generate the kind of income that was needed. Maybe in USA or Europe, you may be able to get a well paying job as a free software developer, but not here [in Africa]..." -- Guido Sohne - 1973-2008 http://ole.kenic.or.ke/pipermail/skunkworks/2008-April/005989.html
OpenPGP_signature
Description: OpenPGP digital signature
_______________________________________________ nexa mailing list nexa@server-nexa.polito.it https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa