Alla ricerca di quel Bug: Eccovi la Patch !

Ritratto di joebew

Quello che segue è il resoconto di una giornata in cui due soci fondatori si incontrano per discutere sulle incongruenze che gravitano attorno un'associazione come l'Hacking Laboratory cercandovi di trovare soluzioni valide, intelligenti e pressochè ovvie. Qualsiasi riferimento (anche trasversale) a fatti, cose o persone è puramente casuale. Questa è una riflessione "partorita" con divertimento durante una tiepida ma sempre ventosa, nottata di Catanzaro.

Ciò che rende un progetto "Software Libero" valido risiede nelle quattro libertà fondamentali che promouovo uno sviluppo trasparente, collaborativo e di confronto del progetto stesso. Per rendere meglio l'idea ecco quali sono le libertà che un progetto "Software Libero" deve garantire: la Libertà numero zero garantisce che il programma può essere eseguito da chiunque per qualsiasi scopo; la Libertà numero uno garantisce la possibilità di studiare il funzionamento del programma ed in caso sia necessario, adattarlo alle proprie esigenze, in questo caso, l'accesso al codice sorgente ne è un requisito; la Libertà numero due ci invita a ridistribuire copie del programma per aiutare un nostro conoscente che ne ha bisogno; infine la Libertà numero tre – probabilmente la più importante – garantisce la possibilità di migliorare il programma e rilasciare tali modifiche in maniera pubblica, cosi' facendo sarà l'intera comunità a beneficiare del nostro contributo – anche in questo caso l'accesso al codice sorgente è un requisito.

La potenza del "Software Libero" è racchiusa proprio nelle libertà sopra elencate. Garantire la trasparenza più totale sul software, rendere pubblico il funzionamento di un programma e permettere a tutti di utilizzare il programma per qualsiasi scopo, senza limitazioni di alcun genere. Non nascondere niente, garantire la privacy dell'utilizzatore e attendere il contributo di tutti affinchè il programma si evolva e migliori sempre più. E' la cooperazione che rende i programmi "Software Libero" funzionali e utili. Tutti possono contribuire perchè a tutti è concessa la libertà di capire come il programma funziona e perchè in fondo, l'unico interesse che ci lega non è personale bensì collettivo. Cerchiamo di migliorare un programma per il bene della collettività e non per puro interesse personale. Magari per molti sarà un hobby, una professione, una sfida, una curiosità, un'occasione per approfondire tecniche di programmazione, ma alla fin fine, ne và di mezzo sempre e comunque il bene collettivo. In ogni circostanza purchè le quattro libertà vengano rispettate, c'è sempre un guadagno.

Lo sviluppo è intelligente e aggiungerei anche oggettivo: solitamente rendere pubblico del codice sorgente significa avviare un confronto con un'intera comunità e restare speranzosi che in qualche modo il lavoro svolto venga apprezzato, così da raccogliere la soddisfazione di aver proposto qualcosa di nuovo e veramente utile. Per arrivare a questo, un ruolo importante è evidenziato dallo studio. E' bene accertarsi di aver controllato minuziosamente ogni piccola parte di ciò che abbiamo scritto e vogliamo proporre, per evitare dunque, pessime figure. Questo è uno sprono a fare del nostro meglio per la comunità. In genere per iniziare è importante avere un'idea, una bozza di codice ben scritto ed essere pronti a raccogliere critiche per avviare - successivamente - discussioni costruttive su come migliorare il lavoro svolto.

Uno sviluppo oggettivo... Mai nessuno si azzarderebbe a modificare o riscrivere parte del codice sorgente già presente se non con la certezza che la sua modifica possa realmente migliorare un programma. Se qualcosa funziona, e funziona anche bene, perchè mai provare soluzioni *campate in aria* o solo per un *capriccio* personale ? E' qui che risiede anche l'intelligenza delle persone che sviluppa e partecipa a progetti Free Software/Open Source.

Un'associazione come l'Hacking Laboratory può essere considerata come un progetto Software Libero, in cui il codice sorgente è rappresentato dall'organizzazione delle attività e dai progetti che si portano avanti, mentre i collaboratori sono tutti coloro che offrono il loro contributo per il successo collettivo dell'associazione. Anche in questo caso le quattro libertà del Software Libero devono essere garantite - con qualche accorgimento ovviamente, ma non è il caso di soffermarsi su questo punto - affinchè l'associazione sia veramente Libera. Una in meno delle libertà ed il progetto va a farsi friggere. Olio di semi o d'oliva non fa molta differenza. Si frigge e basta.

Il titolo di questo articolo non scritto a caso ovviamente – non sono ancora pazzo – ha un senso. Effettivamente, all'interno del progetto HackLab è presente un Bug, un problema non del tutto indifferente che potrebbe causare seri problemi alla libertà numero tre. La più importante tra l'altro. Per chi fosse pigro o scettico riguardo una traduzione on-the-fly per la terza libertà, all'interno del contesto di Associzione e non più di Programma, mi preoccuperò di farla al posto suo:

“La libertà di migliorare l'associazione attraverso consigli, considerazioni, proposte intelligenti o collaborazioni varie; Rilasciare successivamente, le informazioni riguardanti questi miglioramenti in modo pubblico, cosicchè sia l'intera comunità a beneficiarne. L'accesso alle varie attività ed informazioni dell'associazione ne è un requisito.”

Per un HackLab – come qualiasi altra associazione che fa della cooperazione il proprio punto di forza - è molto importante garantire la trasparenza dell'informazione verso tutte le persone che ve ne fanno parte, senza alcun filtro e senza nessuna discriminazione. E' importante rendere pubblica qualsiasi iniziativa, qualiasi aggiornamento riguardi le attività in corso o future e cosa ancora più importante, qualsiasi proposta. Chiudersi e mantenere l'informazione solo per un gruppo ristretto della stessa associazione, non è un bene. Il commento, la critica costruttiva, l'aiuto o l'idea potrebbe giungere da chiunque, anche dalla persona che, per diversi motivi, segue meno le attività dell'associazione. L'aiuto di tutti è fondamentale per la riuscita del progetto HackLab. Gli strumenti di comunicazione esistono e vanno usati. C'è qualcuno che dice che non è necessario porre dei paletti, ma ultimamente di paletti se ne vedono anche troppi.

La patch che intendiamo sviluppare andrà a garantire un maggiore flusso di informazione, prima di tutto nella Mailing List dell'associazione e successivamente sul sito. Ciò che riguarda l'HackLab deve essere reso pubblico a tutti i partecipanti. Le Cricche non sono permesse. Se qualcuno vuole fare Cricca puo' benissimo andarsene, sono il primo a indicargli la porta per l'uscita. Se qualcuno vuole fare un fork, che lo faccia pure, se qualcuno deve parlare che parli in maniera pubblica. Se sono due, tre o quattro, le persone che si incontrano e discutono sull'HackLab, devono rendere pubblico ciò che si è discusso. Tutti devono sapere. Tutti. E tutti devono essere invitati, pubblicamente agli eventi che si organizzano. Se ad accogliere l'invito non sono tutti è normale. E' impossibile che ci si riesca ad organizzare in breve tempo per essere tutti presenti in una certa occasione. Oggi mi assenterò io, domani qualcun altro. E' la vita, purtroppo, lo so. L'olio non c'entra niente, non è una questione di frittura, qui si parla di probabilità... Numeri per capirci... 1,2,3,4,5,6 e così via.

Oggi – 21 Agosto 2008 - due soci fondatori si sono incontrati a Catanzaro Lido, l'incontro non è stato casuale dal momento che partecipavamo io ed Emanuele Perricelli ( under_Score ). Si è provato il nuovo sistema di comunicazione, che va di voga – almeno ultimamente - all'interno dell'associazione, per organizzare incontri: Un cellulare e messaggi di posta elettronica privata. La conclusione è stata che eravamo solo in due. Eravamo solo due, peccato, speravo in qualcuno in più, ma gli strumenti di comunicazione utilizzati ( non convenzionali per un HackLab ) hanno permesso di raggiungere questo numero. Comunque, in piena filosofia Free, rendiamo pubblico l'argomento discusso. L'incontro può definirsi ufficiale, è stata una riunione ufficiale HackLab Catanzaro. Si è discusso di cosa non va – attualmente – all'interno dell'HackLab: la mancanza di informazione per via degli strumenti utilizzati ( l'incontro di questa sera ne è un caso pratico ).
Quali sono le attività in corso nell'HackLab. Si esce ? Si organizza qualche cena per discutere tutti insieme ? Dove sono finiti gli incontri ? L'organizzazione per il Free Summer ? Chi viene all'HackMeeting ? Quali sono le novità sui vari progetti che si stanno portando avanti ? Io non so niente. Qualcuno si organizza per telefono, qualcuno esclude la partecipazione di tutto il gruppo. Che state combinando HackLab ?

Gli strumenti per comunicare pubblicamente con il gruppo ci sono: Mailing List, Forum e Blog. Ciò che dobbiamo fare è usarli. La patch prevede un maggiore utilizzo di questi strumenti. Si avverte un'aria di menefreghismo. Questo non è un bene. Per lo meno, come abbiamo fatto io ed Emanuele, si dovrebbe avere il buon senso ed il rispetto – anche se ci si vede di NASCOSTO – verso tutto il gruppo, di rendere, in tempi brevi, il resoconto di quanto si è detto/fatto.
Questo anche perché non ci si può né è giusto nascondersi dietro un dito, manifestando solamente ipocrisia quando si grida a gran voce l'assenza del gruppo, l'inesistenza del gruppo, quando poi ci si organizza in incontri privati che, come già fatto notare, nulla hanno a che fare con la mentalità aperta (open/free) che un'associazione come la nostra dovrebbe, anzi, DEVE avere !

E' ovviamente un concetto del tutto utopistico pensare di - quando magari si raggiungeranno grandi numeri ed il “gruppo attivo” sarà composto da centinaia di persone - riuscire a far incontrare tutte insieme queste persone ad ogni incontro dell'HackLab ( vedi storia dei numeri e delle probabilità ), ed è proprio per questo che ci si deve render conto che in realtà, il “gruppo” non è costituito unicamente da una forma solo appariscente di *presenze*, ma il “gruppo” si costituisce con i risultati, si costituisce con le attività, si costituisce quando si vengono a creare nuove amicizie tra persone che al di fuori dell'HackLab non si erano mai viste, quando queste stesse persone iniziano a collaborare insieme ed organizzare anche la più semplice delle attività, questi sono i primi ed a mio avviso i più grandi risultati che un HackLab può rappresentare se è vero com'è vero che l'attività principale della nostra associazione è quella di fare comunità, di lavorare ed intervenire nel sociale, e per conto nostro, in un anno di vita, abbiamo visto nascere più e più volte questo genere di situazioni e di questo bisognerebbe solamente andar fieri ed essere sicuri che si possa solamente migliorare da oggi in avanti, cercando di eliminare quegli aloni di pessimismo e disfattismo che offrono solamente negatività e che hanno come unico risultato l'opposto di quello prefisso - negativismo attira negatività, positivismo attira positività ! Io voto per il positivismo !

"La verità si ritrova sempre nella semplicità, mai nella confusione." - Isaac Asimov

Un ringraziamento particolare a under_Score ( Emanuele Perricelli ).