martedì 2 giugno 2020

Immuni, chiedete e vi sarà dato

https://www.zeusnews.it

immuni3Cassandra Crossing/ Visto che laggiù forse ascoltano Cassandra, ripetiamo due cose importanti.

Una volta si diceva che un motociclista ottimista si riconosce dai moscerini tra i denti. Ora i caschi sono integrali e certi indizi bisogna cercarli in modo diverso.
Il lavoro del programmatore è vivere in un mondo in rivoluzione permanente, in cui i problemi sono sempre gli stessi e la miglior rivoluzione è una conservazione intelligente di pochi principi di base. È proprio valutando questo che si può di analizzare andreottianamente quello che succede. Oggi abbiamo anche alcuni sorgenti del lato server dell'app Immuni. Ottima cosa, dovuta in effetti fin dall'inizio. Ma ancora una cosa parziale.

La questione irrisolta è se si voglia fare bella figura con le persone (e questo obbiettivo di marketing è ormai stato raggiunto) o si voglia davvero sfruttare (sì, proprio sfruttare) il circolo virtuoso del software libero. In questo caso mancano ancora parecchie cosette, e il diavolo, come sempre, sta proprio nei dettagli.

Per innescare il circolo virtuoso che porta a contributi esterni e maggiore sicurezza, si deve permettere di riprodurre il software completo, per consentire di fare test e sviluppo, in maniera rapida ed efficiente. Senza sprecare quel tempo, che volontariamente molte persone possono regalare, con il lavoro non necessario di riuscire a riprodurre, faticosamente e a tentativi, il software e l'infrastruttura di test.
Questo vuol dire documentazione (tecnica, non solo politica o gestionale) in forma di brevi documenti, script di compilazione, un minimo di verifica che tutto funzioni. Un piccolo esempio di cosa è ancora da fare? Permission sui repository referenziati negli script.
marcoc@talus:~$ git clone --recurse-submodules git@github.com:immuni-app/immuni-backend-exposure-ingestion.git
Cloning into 'immuni-backend-exposure-ingestion'...
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Lo so, si può aggirare, ma perché deve essere necessario?
Un altro piccolo esempio? Script per la riproducibilità binaria dell'app. Dove sono? Su, basta poco, li avete. Aggiungeteli con due righe due di spiegazione del processo di build.
Lo so, questo costerà un po' di tempo (ma non tanto) di una persona che potrebbe invece lavorare ("sudare") sul codice, e sarebbe uno spreco. No, non è uno spreco, è una risorsa preziosa.
Questo è il discorso sballato (il solito discorso sballato) che Cassandra ha sentito mille volte dal capo di turno in una vita lavorativa da (più o meno) softwarista. "Non serve, non è il momento, non c'è tempo..."
No, è indispensabile, ed è ora il momento perfetto; poche ore di lavoro per far partire e curare un prezioso feedback (e anche questo dovrà essere gestito) di aiuto, bugfix, informazioni, correzioni; un contributo impagabile e che premierà senza alcun dubbio con sicurezza ed efficienza. Sicurezza ed efficienza, il circolo virtuoso del software libero. Pare che anche il Copasir sia d'accordo.
Non è un problema di gestione di un gruppo di lavoro; è un problema (il solito problema) di reale convinzione e volontà (povero me!) politica. Lo si vuol veramente fare? Allora va fatto con la massima convinzione e intensità.
Poi, se di Immuni ci sia davvero bisogno, e se i rischi che comporta valgano la candela dei possibili benefici... beh, come diceva la voce narrante di Conan il Barbaro, "questa è un'altra storia". Ma certamente una Immuni sicura è meglio di una Immuni insicura.

Nessun commento:

Posta un commento