Ciao Andrea,
Il software è un artefatto umano, non una creazione divina.
sono ateo e sbattezzato ;)
Lo sono stato anche io per il 60% della mia vita (ateo). Non vedo come sia rilevante. Che tu faccia derivare l'universo da una fortunatissima coincidenza che ha prodotto casualmente leggi fisiche stabili e tarate esattamente per permettere alle stelle di splendere ed agli uomini di ammirarle, o che tu creda che queste abbiano un Autore, rimane il fatto che i fenomeni di cui parli trascendono la nostra volontà. L'uomo può studiare questi fenomeni, può provare a comprenderne l'evoluzione nel tempo, e persino imparare (in alcuni casi ed entro limiti piuttosto stringenti) ad influenzarla, ma non li ha creati e non può deciderne la struttura o il funzionamento. Non può imporre loro norme di sicurezza (per sé, per la società o l'ecosistema): anche se non ci piace l'idea che il sole esploda fra qualche milione di anni, non possiamo impedirlo. Il software invece lo scriviamo noi e quindi POSSIAMO scriverlo meglio. Insomma "Si può fare!" ;-)
Se un software non può essere completamente letto, studiato e compreso in meno di un mese da un singolo essere umano, è "broken beyond repair".
mi pare un po' draconiano come criterio
Così (ap)pare a molti, in effetti.
D'altronde quanto software conosci che lo rispetta?
appunto, proprio perché è un criterio sostanzialmente inapplicabile
Eppure molti software non-mainstream lo applicano con successo. Ovviamente lo applicano perché non ambiscono al lock-in di vaste user-base da sfruttare economicamente e non hanno alcun interesse nel porre barriere artificiali per mantenere il controllo dello sviluppo o ridurre la probabilità di successo dei fork. Direi dunque che si tratta di un criterio perfettamente applicabile, fuori dall'open source.
avrebbe senso ribaltarlo, definendo come "atomo programmativo valutabile" quella parte del sistema comprensibile in un mese (anche meno) da una singola persona
Sarebbe una definizione inutile. E' un po' come dire che un libro deve essere composto di pagine leggibili entro un mese: ok, potrai valutare una pagina alla volta. E poi? Dire invece che ogni progetto software libero DEVE essere completamente comprensibile entro un mese, significa stabilire un criterio ragionevole a tutela della effettiva praticabilità delle 4 libertà. Se fosse imposto per legge a tutto il software, questo principio farebbe sparire una enorme quantità di problemi della società cibernetica contemporanea, incluso il capitalismo di sorveglianza e i bug di Horizon che hanno distrutto la vita di centinaia di lavoratori delle poste inglesi.
Naturalmente per studiarlo non usiamo una lettura lineare e disponiamo di strumenti e tecniche di navigazione del codice che possono tranquillamente dimezzare il tempo necessario.
strumenti software che andrebbero a loro volta studiati e capiti, in un mese ;)
Naturalmente. Ma non è che ci dobbiamo mettere tutti a leggere gli stessi libri! Nello stesso modo, non è importante che tutti rileggiamo lo stesso software: sarà sufficiente che qualunque software possa essere completamete compreso in un mese. Questa condizione, da sola, incrementerebbe nettamente la qualità del software stesso e la sicurezza cibernetica di tutti coloro che vi interagiscono. Giacomo