PHP sposta i sui repository git su GitHub

Che GitHub sia punto di riferimento per l’hosting di repository git non è affatto una novità, anzi. La piattaforma, pur essendo closed-source, è percepita come il luogo aspettato per gestire il codice di qualsiasi progetto open-source. Non è stato un caso che Microsoft abbia acquisito GitHub qualche anno fa, come parte della sua trasformazione da oppositore a protagonista nel mondo del codice aperto.

Quindi, sapere che un progetto importante come PHP abbia deciso di fare la migrazione non meraviglia. Semmai, è la motivazione a lasciare perplessi. Se infatti la spinta si limita normalmente a sfruttare le funzionalità della piattaforma, non ultimi popolarità e infrastruttura gestita da altri, stavolta ci troviamo davanti ad una vera e propria fuga strategica, di sicurezza. Ma andiamo con ordine.

PHP gestisce il codice in casa, su server propri, con git. Il 28 marzo appare un commit come tanti: “[skip-ci] Fix typo”. Fatto nientemeno che da Rasmus Lerdorf, inventore del linguaggio. Commit di correzione di piccoli errori di digitazione non sono così frequenti, ma nemmeno inusuali… Ma qui si tratta dell’aggiunta di una decina di righe di codice: qualcosa non torna. E infatti qualche ora dopo Nikita Popov, sviluppatore del progetto, decide di rimuovere quelle righe, indicando la motivazione chiaramente:

This looks like the result of a compromised git account. Commit access has already been revoked.

Questo sembra il risultato di un account git compromesso. L’abilitazione ai commit dell’account è già stata rimossa.

Tutto bene quel che finisce bene? Forse. Perché qualche ora dopo c’è l’annullamento dell’annullamento, ovvero la reintroduzione di quel codice, ad opera di Nikita Popov stesso! Ancora qualche ora ed un altro sviluppatore rimuove anche questo tentativo.

La cosa però è tanto strana che genera una discussione interna, che porta alla decisione che vi abbiamo anticipato prima, e annunciata sulla mailing list. In cui leggiamo

While investigation is still underway, we have decided that maintaining our own git infrastructure is an unnecessary security risk, and that we will discontinue the git.php.net server.

Sebbene le indagini siano ancora in corso, abbiamo deciso che mantenere la nostra infrastruttura git in proprio è un rischio di sicurezza non necessario, e che dismetteremo il server git.php.net.

La fonte della verità quindi diventerà il repository su GitHub. Come specificato anche dall’annuncio, non si tratta di un nuovo repository, solo che finora questo aveva mera funzione di “mirror”, di copia, non di master.
Saranno attivate funzioni aggiuntive, come autenticazione multi-fattore per poter far parte del gruppo di sviluppatori, ma la discussione sulla mailing list è andata avanti proponendo anche altre tecniche di sicurezza, sia come suggerimento che come richiesta. Una fra queste: firma dei commit, per garantire l’identità dell’autore.

Un vantaggio secondario sarà la possibilità di sottoporre Pull Request, ovvero le proposte di commit. Chiunque, a patto che sia registrato con GitHub, potrà fare un fork del codice, approntare una modifica e inviarla agli sviluppatori per rivederla e accettarla. Insomma, il vero motivo per usare GitHub. O no?

Ho coltivato la mia passione per l'informatica fin da bambino, coi primi programmi BASIC. In età adulta mi sono avvicinato a Linux ed alla programmazione C, per poi interessarmi di reti. Infine, il mio hobby è diventato anche il mio lavoro.
Per me il modo migliore di imparare è fare, e per questo devo utilizzare le tecnologie che ritengo interessanti; a questo scopo, il mondo opensource offre gli strumenti perfetti.

Tags: , , ,