Ho riflettuto un po’ sulla tematica da affrontare in questo mio primo articolo. La prima domanda che mi sono posto è se fosse meglio scrivere di qualche argomento specifico oppure in generale del mondo del software libero.
Al giorno d’oggi è talmente facile trovare how-to o articoli tecnici di alta qualità, che se cercate come installare qualcosa o conoscere se il tal hardware è supportato non dovreste avere il minimo problema. Ciò che invece mi sembra più difficile è comprendere la comunità culturale sottostante il mondo tecnico; ho quindi deciso di parlare di questa tematica.

La Linux Foundation, il progetto GNU, la Mozilla Software Foundation e tutti gli altri, sono produttori di software, ma sono prima di tutto espressione di una comunità culturale, che esprime un certo modo di concepire il software e quindi di produrlo. Infatti, il più grande contributo al mondo del software, da parte della comunità del software libero è probabilmente il capovolgimento del concetto di copyright in copyleft e tutte le conseguenti licenze che ne derivano, a partire dalla GPL.

La mia prima installazione di Linux risale al 1995, me lo ricordo chiaramente, perché aspettavo l’uscita di Windows che però veniva rimandata di mese in mese. Da allora la mia passione è cresciuta e il mio interesse verso Windows è diventato sempre più basso, fino ad essere quasi nullo. Nel frattempo ho studiato molte distribuzioni di Linux, per cui, ragionare in questi termini, per me, è diventato naturale. Al punto che trovo strano il fastidio che provano i neofiti nel vedere così tante distribuzioni in giro.

Troppa libertà di scelta e assenza di informazioni, una certa soggezione nei confronti di ciò che non si conosce e che si deve imparare o re-imparare, generano una certa distanza, una determinata voglia di tornare nella sicura cella di un sistema Windows o Apple, che saranno anche proprietari, ma almeno sono sempre uguali a sé stessi.

Veniamo al dunque: perché ci sono tante distribuzioni?

La risposta è semplice ed allo stesso tempo complessa:

Una nuova distribuzione nasce quando qualcuno ha bisogno di modifiche in quella che sta usando e che col tempo, diventano talmente tante, da giustificarne la creazione di una nuova.

Il Distrowatch page hit ranking indica 291 distribuzioni Unix, che per la maggior parte sono GNU/Linux. Non le ho contate, ma è molto probabile, quando si clicca su una distribuzione, leggere che questa è basata su un’altra precedente.

Ciò non è un caso, infatti, il modo più semplice, e probabilmente anche il più sensato, di creare una nuova distribuzione è effettuare un fork della distribuzione più vicina ai nostri obiettivi. Per questo motivo, sono nate delle “famiglie” che hanno dei capostipiti e delle distribuzioni “figlie” che vengono definite “derivate”.

I capostipiti sono le distribuzioni che sono sopravvissute agli anni ‘90 e che hanno definito lo standard de-facto. Senza presunzione di completezza, credo che si possano indicare come capostipiti: Redhat, Slackware, Debian, Suse. Quest’ultima è una derivata di Slackware, ma dall’inizio ha assunto differenze così sostanziali da meritare uno spazio tutto suo. Successivamente c’è stata una seconda ondata, quella che ha visto nascere ArchLinux, Gentoo, Nix.

Quindi, se vogliamo andare alla sostanza, esistono meno di dieci sistemi operativi che possono essere considerati veramente diversi tra loro. Le derivate tendono a mettere l’accento su qualche caratteristica specifica della distribuzione, ma chi conosce i genitori riuscirà quasi immediatamente a relazionarsi con i figli.

Ovviamente, per fare questo ragionamento ho dovuto escludere tutte le distribuzioni orientate a compiti specifici, come ad esempio quelle per i sistemi mobile o per i router.

Veniamo però alle differenze, perché dovrei scegliere una distribuzione al posto di un’altra?

La risposta veloce è: scegli quella del tuo vicino di casa, che magari potrebbe consigliarti nel caso di problemi.

La risposta lenta è: dipende. Cioè dipende dall'utilizzo che ne vuoi fare. La presenza stessa di tante distribuzioni attive indica tante esigenze diverse.

Se abbiamo scartato l’idea di far decidere al nostro vicino di casa, dobbiamo chiederci quali criteri vogliamo usare per scegliere la nostra distribuzione. Abbiamo già escluso le distribuzioni con compiti specifici, un elenco di criteri per distribuzioni general purpose potrebbe essere:
  •     Server/Desktop
  •     Comunità (documentazione)
  •     Supporto hardware e questioni etiche
  •     Eleganza/Ambiente Desktop
  •     Stabilità
  •     Semplicità d’uso

Server vs Desktop
Immagino che qui la scelta sia semplice: se la state pensando per il vostro notebook, non scegliete Server! L’unica distribuzione che può stare comodamente in entrambi è probabilmente Debian, le altre hanno tutte una versione Server e una versione Desktop. Le regine incontrastate dei Server sono Red Hat e CentOS, probabilmente al secondo posto ci sono Debian e Ubuntu Server. Numericamente parlando, Debian dovrebbe essere la più presente, ma in ambito Enterprise, incontrerete al 90% CentOS e RedHat. Quindi… Long life and prosper… scusate la battuta geek, ma non ho resistito.

Comunità
Ci sono distribuzioni dove la comunità è molto presente e la documentazione per imparare è veramente ben fatta, alcune di queste sono sostenute da aziende di tipo commerciale, altre sono completamente libere e la distribuzione non è influenzata da decisioni commerciali. Ubuntu è sostenuta essenzialmente da Canonical, ma ha anche una nutrita comunità libera intorno, lo stesso si può dire del rapporto tra Fedora e Redhat, mentre altre come Debian, Gentoo, ArchLinux sono guidate dalle loro rispettive comunità, CentOS fa eccezione perché anche se non ha rapporti con RedHat, delega completamente a lei la scelta del software della distribuzione.

Per capire la differenza, si pensi ad esempio a come Ubuntu ha abbandonato Unity, con un comunicato stampa, e invece Debian, che per passare da sysv a systemd ha avuto un dibattito interno lacerante.

Supporto hardware e questioni etiche
Il supporto hardware, anche se non sembra, è strettamente correlato con le licenze d’uso, perché al giorno d’oggi molte aziende continuano a non rilasciare le proprie sorgenti, in particolare questo problema è legato alle schede video e alle antenne wi-fi e per far funzionare questi hardware si deve accettare di far funzionare codice proprietario nel proprio computer, se ad oggi si tentasse di avere un sistema operativo 100% libero, probabilmente si sarebbe costretti a comperare hardware apposito e a verificare la compatibilità di ogni singola parte interna. In genere più l’approccio della distribuzione verso le questioni etiche è morbido, più si ha un supporto hardware vasto. Lo stesso sta accadendo per i DRM.

Eleganza/Ambiente Desktop
Oggi le maggiori distribuzioni permettono l’installazione di Desktop diversi da quelli di default, ma cambia il livello con il quale l’estetica è curata, se si pensa al crollo di Ubuntu in favore di Mint, con il semplice passaggio da GNOME a Unity, si capisce come il Desktop sia importante.

Stabilità
Nella mia esperienza le distribuzioni maggiormente stabili sono quelle che hanno il ciclo di release classico, cioè con una numerazione che definisce e blocca il numero di versione dei vari software e offre solo gli aggiornamenti di sicurezza. Questo metodo ovviamente rende le distribuzioni meno accattivanti e meno soggette alle novità, probabilmente chi ha un desktop preferisce vedere le novità appena arrivano, per questo motivo sono nate anche le rolling-release, che cercano di essere allineate con l’ultima versione distribuita del software installato, questo a discapito di una minore stabilità del sistema.

Semplicità d’uso
Molti pensano che le distribuzioni semplici da usare siano per i neofiti. Questo modo di ragionare è sbagliato, una delle regole degli Hacker (hacker nell’accezione classica) è di non dover reinventare continuamente la ruota, cioè di non dover riaffrontare continuamente lo stesso problema a meno che non si stia imparando. Ne consegue che molta utenza esperta preferisce concentrarsi sul suo lavoro, piuttosto che sulla customizzazione del sistema e che potrebbe preferire un sistema che vuole poca manutenzione in modo da massimizzare le ore di lavoro. Questo è probabilmente uno dei motivi che giustifica il successo di Ubuntu rispetto ad altre distribuzioni.
Ma anche per i neofiti, partire con una distribuzione che ti costringe a capire già durante la prima installazione come partizionare un hard disk, non è propriamente quello che si definirebbe un inizio con una bassa curva di apprendimento.

Quindi per concludere, direi che qualunque sia la distribuzione che si vuole scegliere, si devono tenere presenti le proprie esigenze, ma se si vuole diventare esperti in materia si devono anche conoscere tutte le distribuzioni “capostipite” o perlomeno le famiglie Redhat e Debian, che sono quelle più comuni.