Alexjan Carraturo

Alexjan Carraturo personal page

La comunità FOSS e le sue contraddizioni

leave a comment »

E’ ben noto, quando parliamo di comunità FOSS (o di FLOSS) che ci riferiamo alle persone legate al Free & Open Source Software. Il termine in se è un contenitore di numerose sfaccettature e suddivisioni che tale comunità ha in se.
Già dal nome, i bene informati sanno che ad oggi si da una accezione differente a Free Software ed a Open Source, e ciò è puntualmente rimarcato dalle rispettive fazioni. Ma se parliamo di comunità in generale, senza arrivare ai grandi temi filosofici, si può notare come essa sia suddivisa in tanti piccoli gruppi, caratterizzati in modi diversi, e talvolta, con differenze talmente minime da renderle inutili.

Chi è da qualche anno dietro al carrozzone del FOSS, ha avuto modo di assistere almeno una volta ai cosiddetti “flame” (NdA discussioni accese a mezzo mail o chat) sulla “migliore distro”.

Una “distro”, o più correttamente una distribuzione GNU/Linux (altro termine che in se nasconde una ben nota contrapposizione), è solitamente un sistema operativo completo, caratterizzato dall’utilizzo del kernel Linux, e da tool GNU ( in realtà ormai sono tanti i tool in più, non solo quelli del progetto GNU). In questo mondo il software nasce come “sorgente” (codice puro), ed è compito delle varie distribuzioni trasformare questo codice in software utilizzabile dall’utente. Già in questa trasformazione esistono delle possibili scelte tecniche (l’ottimizzazione rispetto all’architettura dei pc, le opzioni di compilazione, il formato dei pacchetti, le modifiche o patch applicate  o meno ai sorgenti dei programmi originali e la versione dei medesimi,  compreso il kernel). Inoltre, è insito nel nome stesso di “distribuzione”, il concetto di inserimento di eventuali software o meno, di come farli installare (es da CD o via rete) e di come presentarli all’utente finale.
In altre parole possiamo racchiudere il concetto di distribuzione in una sola parola “scelte“; le distribuzioni differiscono (o dovrebbero differire) per le scelte tecniche e pratiche eseguite dai progettisti, al fine di ottenere un particolare risultato. La grandezza del mondo GNU/Linux in molti casi sta proprio nella possibilità di effettuare queste scelte (cosa non riscontrabile nel mondo dei sistemi proprietari), che incidono fortemente sulla natura del futuro sistema operativo. E’ per questo motivo per cui, in molti casi, è scorretto parlare di un “unico sistema Linux”.

Tornando ai flame, nella stragrande maggioranza dei casi, si tratta di discussioni basate sulla mera tifoseria, e sull’orgoglio personale della proprio scelta, e che generalmente, non portano a nulla. In realtà queste discussioni sono lo specchio di quello che è l’attuale mondo delle distribuzioni GNU/Linux ; esiste infatti un numero nemmeno realmente quantificabile, di “distribuzioni GNU/Linux” differenti, e non parlo di 5 o 6 distribuzioni, ma di oltre 300. Il punto che la maggior parte di questi lavori in realtà si tratta di “fork” (inf: nuovo elemento creato ad immagine e somiglianza di un elemento padre, con possibili parametri difformi) di progetti originali, che in se implementano ben poche modifiche al progetto di partenza. Quindi si parla di cloni e cloni, sviluppati da piccoli gruppi che, magari per motivi campanilistici, o magari per motivi di orgoglio, creano questi sotto-prodotti GNU/Linux, in molti casi, nemmeno degni di nota.

Non fraintedetemi, il fatto di essere liberi di poter “forkare” (scusate il tecnicismo, ben distante dall’italiano), non vuol dire necessariamente doverlo fare. Sia ben chiaro che io sono fortemente a favore dei nuovi progetti, qualora introducano delle differenze (non dico neanche migliorie) o delle innovazioni significative, non certo rappresentate da poche differenze nella selezione dei pacchetti (il software, nelle distribuzioni è contenuto per l’appunto in file chiamati pacchetti). E’ chiaro quindi che posso accettare ben volentieri distribuzioni create per casi particolari, per hardware particolari, o con particolari differenziazioni, che, pur non essendo condivisibili sul piano tecnico, portano un contributo alla crescita del software.

Quello che non riesco a mandare giù è la creazione di progetti “copia rimaneggiata“, al fine di poter essere al comando del proprio sviluppo, e non sottoposti all’egida di sviluppatori più esperti all’interno dei team delle distribuzioni mainstream (quelle con maggiore successo).

Una nuova distro molte volte comporta nuove guide, manuali, how-to che solitamente vengono riscritti ex-novo o mal copiati da altro materiale in rete, tutto in nome di una supposta indipendenza (alla fine lo sviluppatore, non creando dal nulla, è sottoposto allo sviluppo mainstream da cui può aver copiato) e di un eccesso di individualismo. Ciò, non solo non porta beneficio alla comunità in se, ma potenzialmente arreca un danno. Questo anche in base al fatto che, se quel singolo sviluppatore, al posto di cercare un progetto ex-novo, avesse lavorato, magari con più calma e, diciamolo pure, più sottomissione alle linee guida di sviluppatori più esperti, ad oggi, si avrebbero distribuzioni GNU/Linux mainstream più complete.

Non voglio certo essere il tipo che dice, “basta una sola distribuzione“, anche perchè sarebbe antistorico ed irrispettoso verso tutti coloro che hanno provato ad innovare nel corso degli anni nel mondo GNU/Linux, a partire da Slackware per motivi anagrafici, per arrivare a Debian/Ubuntu e RedHat/Fedora. Ma da qui a dire che ognuno che fa una distro nuova aiuta ce ne corre…. se vedo la lista lunga (300 distro) di distrowatch mi rendo conto di quanto ottimo materiale umano non è stato ben convogliato, ed ad un indebolimento della comunità stessa. E questo, lo dico pur sapendo che non piacerà, per indicare la mancanza di umiltà di taluni sviluppatori. E badate bene, non lo dico, come pensano in molti, per motivi di promozione ( in ambienti di un certo livello non è infrequente parlare del problema “troppe distro” come un problema sul piano dell’immagine e di impatto sul pubblico), ma proprio per ragioni tecniche.

Un altro caso simile sono i cloni di localizzazione (ovvero la stessa distro cambiata di nome con il cambio della lingua di default), quando con poco sforzo (ed un po’ di sana sottomissione a chi questo lavoro la faceva prima di noi), si può partecipare ai progetti di localizzazione mainstream che possono essere veramente di aiuto a tutta la comunità.

E questo vale anche per il software open, dove in molti casi di vedono fork che non portano a grandi innovazioni, ma solo a piccoli fallimenti. Ciò è dovuto anche, a mio avviso, ad una cattiva interpretazione delle libertà 2 e 3 del software libero, dove si dice espressamente che ognuno può rilasciare la sua copia modificata, ma ciò fa riferimento anche al fatto di riportare agli autori del software le migliorie apportate dal singolo, in linea con quel principio “solidale” (ovvero di aiutare la comunità), che dovrebbe essere la chiave di volta della comunità stessa.

Ed  invece si continua a vedere (non di meno in Italia), estreme divisioni sul piano geografico e sul piano dei contenuti, con tantissime risorse sprecate nel replicare in piccolo il lavoro svolto già da altri; tantissime guide identiche o con poche differenze, numerosi wiki, progetti simili, corsi Linux che vengono riscritti volta per volta (impengnando numerose risorse all’interno del singolo gruppo).  Badate bene che quanto dico non è certo una novità per nessuno che sia all’interno della comunità FOSS; infatti, i medesimi concetti sono stati espressi durante la ultima Lugconference di Bologna in giugno, trovando il consenso di buona parte dei presenti.

Ci tengo a precisare che io stesso in passato mi sono trovato nella condizione di commettere i medesimi errori, in primo luogo realizzando un fork di una distro che poi si è dimostrato non essere troppo dissimile dall’originale, e quindi, che non apportava nulla di nuovo alla “tecnica” o alle soluzioni per qualche particolare utenza. Sarei inoltre un bugiardo a non ammettere la mia partecipazione, durante i primi anni di esperienza nel foss, a dei flames sulle distro GNU/Linux, o ad altre accese discussioni.
Ovviamente, questo è solo un accenno di quanto possa essere contraddittorio il mondo FOSS…

Written by axjslack

febbraio 19, 2010 a 2:13 am

Pubblicato su Commenti

Tagged with , ,

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: