E Debian ne è, in questo momento, la più grande dimostrazione.
Se qualcuno pensva che la debacle OpenSSH avrebbe avuto ripercussioni solo sugli amministratori di sistema e, più in generale, su tutti coloro che si trovano abitualmente a lavorare con autenticazioni SSH, allora questo qualcuno si sbagliava clamorosamente.
Le ripercussioni maggiori si sono viste, infatti, all’interno di Debian stesso. Prima qualcuno ha cominciato a chiedere che il pacchetto OpenSSH fosse affidato ad un nuovo manutentore ma poi, per fortuna, il discorso si è spostato su argomenti ben più costruttivi.
In questo momento la mailing list degli sviluppatori è, infatti, pienamente concentrata su un problema a dir poco fondamentale: si sta cercando di trovare una soluzione a quel fin troppo diffuso malcostume che porta la gran parte degli sviluppatori (Debian e non, sia chiaro) a modificare direttamente i sorgenti dei programmi che “pacchettizzano” senza utilizzare un sistema di patch appropriato.
Qualcuno di voi si starà chiedendo cosa implica tutto questo: la cosa è molto più semplice di quanto sembra.
Immaginate di voler impacchettare per Debian un software sviluppato da una terza parte. Scaricate i sorgenti, compilate tutti i documenti necessari per la documentazione ed il copyright, preperate ed installate il pacchetto sul vostro sistema, fate qualche test e, finalmente, procedete all’upload sui server Debian.
La soddisfazione iniziale è grandissima ma, purtroppo, non è destinata a durare troppo a lungo: i primi bug sono, infatti, sempre in agguato e così siete costretti a mettere voi stessi mano al codice per correggere e risolvere le vulnerabilità in questione. Nessun problema, direte voi: in effetti la cosa non è poi tanto terribile o tediosa ma il primo impulso di qualsiasi sviluppatore è quello di moficare direttamente il codice, reimpacchettare il tutto e procedere all’upload della nuova revisione.
Tutto ciò sarebbe giustissimo se solo non rendesse incredibilmente complesso, per chiunque vada a studiare il vostro pacchetto, recuperare le informazioni riguardo le modifiche che, nel corso del tempo, sono state apportate al codice originale. Per quanto, infatti, ogni pacchetto Debian contenga, al suo interno, un file che rappresenta tutte le modifiche rispetto ai sorgenti “upstream”,
tale file non è, tuttavia, particolarmente comodo da leggere ed interpretare.
Come potete facilmente immaginare, dunque, qualsiasi bug che sia stato provocato da modifiche operate dal manutentore del pacchetto risulta particolarmente difficile da scovare e correggere.
Il problema potrebbe, tuttavia, risolversi molto facilmente se ogni sviluppatore applicasse le proprie modifiche ai sorgenti con delle semplici patch. I sistemi per ottenere tutto questo sono svariati e, soprattutto, molto semplici. Da Quilt a Dpatch passando per innumerevoli altri sistemi, le operazioni a carico dello sviluppatore sono davvero pochissime: pensate a quanti problemi potrebbero essere evitati se ogni maintaner perdesse qualche minuto in più prima di compilare i nuovi pacchetti!
Sbagliando, dunqe, si impara: tutta questa brutta storia riguardo OpenSSH sta, quantomento, servendo a smuovere gli animi riguardo un problema tanto grosso quanto semplice da risolvere. Vedremo come andrà a finire: io, nel frattempo, mi tengo stretto il mio buon Dpatch.