Motivazioni

Oggi ho scritto una risposta a una mail in cui si parlava di Debian, motivazioni degli sviluppatori, altruismo, Debian come sistema operativo per tutti.

La mia risposta è venuta lunga e dettagliata, e l'ho sistemata un po' per postarla anche nel blog. Ne viene fuori una riflessione un po' estemporanea, ma con alcuni spunti credo interessanti.

E' facile (e anche affascinante) vedere Debian come un grosso esempio di amore disinteressato verso il mondo, e anch'io all'inizio la pensavo un po' cosí. Mi sono però reso conto che le persone attive in Debian lo fanno principalmente per soddisfare esigenze personali.

La cosa diventa ancora piú affascinante, però: stiamo parlando di un sacco di persone con esigenze personali spesso diverse, e talvolta pure contrastanti, che si sono rese conto che lavorando assieme possono raggiungere i loro obiettivi piú facilmente che non lavorando da soli. È bellissimo vedere Debian come una specie di "effetto collaterale" di tante persone che si fanno i fatti loro, ma tutti assieme :)

Questo non vuol dire che tutti coloro che partecipano nello sviluppo di Debian sono dei gretti egoisti. Ci sono tanti esempi di diversi motivi personali, ognuno ha i suoi. Questi possono essere alcuni esempi:

ce ne possono essere tanti altri. La cosa bella è che se uno ha uno scopo nella vita per il quale è utile avere il miglior sistema operativo del mondo, allora può usare Debian per raggiungere i suoi scopi e avrà senso per lei/lui contribuire a Debian lungo il cammino.

Detto questo, allora "fare un sistema operativo per tutti" non necessariamente rientra negli scopi del progetto in generale, nel senso che può non essere uno scopo condiviso da tutti gli sviluppatori Debian. "Our priorities are our users and Free Software" significa che Debian ha come scopo comune occuparsi dei propri utenti, non di coloro che non sono ancora utenti ma potrebbero esserlo.

Tornando agli scopi personali dei vari sviluppatori, questi cambiano a seconda delle proprie motivazioni. Per esempio, se io ho bisogno di un grande sistema operativo da mettere nei miei server, mi disinteresserò completamente di tutti gli utenti desktop. Se invece io ho bisogno di mettere in piedi un bel sistema desktop per postazioni fisse personali, allora posso benissimo disinteressarmi di tutti i servizi di rete, e magari anche della gestione utenti.

Questo non vuol dire che non ci sia gente che vuole fare un sistema operativo "per tutti", ma vuol dire che chi vuole fare un sistema operativo "per tutti" deve prendersi a carico di lavorare affinché questo avvenga, senza aspettarsi che tutti condividano i suoi scopi.

Ma anche il "per tutti" è controverso: può esistere un sistema operativo davvero per tutti? Ma chi sono, nello specifico questi "tutti"? Se prendiamo un "tutti" abbastanza ampio da includere "tutti", allora abbiamo una gamma enorme di esigenze, che possono essere alle volte contrastanti. Di conseguenza, si è parlato di lavorare a Debian come a un universo indifferenziato di software pacchettizzato con specifici livelli di qualità, e di distribuire agli utenti non Debian (troppo grande e complesso da gestire), ma delle version "Custom" adattate agli specifici tipi di utente. Da qui l'idea delle Custom Debian Distribution, cioè di "declinare" Debian in tante salse diverse per andare a soddisfare gusti diversi, e allo stesso tempo non disperdere gli sforzi di sviluppo.

Le CDD non sono l'unico modello che funziona: il piú comune è fare fork e basta (ma poi si fa una grade fatica a star dietro all'evoluzione di Debian), oppure ultimamente Ubuntu ha mostrato un nuovo modello di fork&merge, che però probabilmente funziona solo se si ha a disposizione un team molto esperto e capace come quello messo assieme da Canonical.

Il bello delle CDD però è che basta avere un DD decente nel gruppo per mantenere attivo il ponte tra i propri interessi e Debian. Ci sono dei begli esempi di CDD come Skolelinux, Llurex e Debian-BR-CDD, ma sono convinto che il potenziale delle CDD non sia ancora stato ben capito, né sfruttato, da un gruppo piú numeroso di fornitori di servizi.

Quindi, sconsiglio a chiunque di cercare di fare un sistema operativo "per tutti". Consiglio invece di mirare a uno specifico tipo di utenti che si conosce bene, e di lavorare perché Debian possa diventare la migliore soluzione ai loro problemi.

Per molti tipi di utenti, non ci sarebbe nemmeno tanto lavoro da fare.