Prendo spunto da un commento (questo), per rispondere a domande che si presentano come una occasione per riflettere su argomenti che di solito scatenano violente reazioni emotive.

Lungi da me pretendere di insegnare o consigliare qualcosa a chiunque. Semplicemente vorrei condividere alcuni miei pensieri sull’argomento.

Non sono proprio un novellino. Ho usato i personal computer fin dal 1982, anno in cui nella mia scuola acquistarono un Apple IIe con tutta la dotazione. Nello stesso periodo mi sono progettato e costruito il mio primo microcomputer: Z80 con ben 4MHz di clock, 16k di RAM, 8k di ROM, interfaccia video grafica 256×192 pixel a colori. Da qualche parte ho ancora le schede ed i progetti…

Ma andiamo oltre. Il mio lavoro è questo, e non si limita alla questione software ed hardware, ma soprattutto all’applicazione di questi ad impianti e processi della vita reale. Qualche esempio: l’archivio digitale della Radio, il doppiaggio, le trasmissioni radiofoniche, per citare tre delle cose di cui mi sono occupato e di cui mi occupo tutt’ora (maggiori dettagli nel mio curriculum). In questi impianti, tutti molto delicati, visto anche il tipo di contenuto trattato, ho visto e vedo all’opera tutti i sistemi operativi più conosciuti, le piattaforma hardware più note, le periferiche più strane. Cose su cui in un uso casalingo non capiterà mai di mettere le mani.

Di tutto questo ho visto luci ed ombre, sulla mia pelle, tornando a casa ad orari impossibili, spesso, se non sempre, per via di qualche “feature” poco pubblicizzata dell’oggetto in questione.

Questo mi ha consentito di assumere un atteggiamento di prudenza e di cauto scetticismo per tutte le asserzioni più o meno trionfalistiche con cui un tale prodotto o una tale soluzione viene presentata. Ho imparato la sottile differenza fra marketing e realtà, distinzione non tanto ovvia.

Asserzioni categoriche come “A è meglio di B” mi fanno scattare immediatamente un interruttore di sicurezza nel cervello: e da cosa lo deduci? Quali prove sono state fatte? In quali applicazioni della vita reale A si è dimostrato migliore di B? E soprattutto, migliore in che senso?
Queste domande all’apparenza banali, la cui risposta può apparire ovvia, non hanno proprio nulla di scontato, e sono quelle a cui è più difficile dare una risposta sensata.

Di esempi ne ho infiniti. Alcuni hanno del surreale, ma lasciamo perdere…

Ed eccomi alla prima domanda: perché ho scelto proprio Fedora. La risposta è molto semplice: le prime distribuzioni Linux su cui ho messo le mani, quando avevo già esperienza di altri Unix, erano RedHat, e mi sono abituato alle caratteristiche di queste distribuzioni, ereditate poi da Fedora. Per lavoro gestisco anche server con Debian e Suse. Ci sono altre considerazioni, ma quasi tutte opinabili e probabilmente affette dalla mia maggiore conoscenza di Fedora e minore delle altre distribuzioni. Diciamo che ad oggi, partendo da un PC “vergine”, con Fedora sono completamente operativo in quattro ore, compresi aggiornamenti, impostazioni personalizzate e applicazioni realmente usate, ovviamente per un uso desktop. Se si tratta di un server, dipende molto dal tipo di servizi, ma quello che porta via molto tempo è la “regolazione fine” delle applicazioni e delle impostazioni di sicurezza.
Quindi, la risposta è: perché mi ci trovo bene. Io mi ci trovo bene.

Ma permettetemi di dire che, tranne situazioni molto particolari, le distribuzioni “dentro” sono tutte Linux. Il kernel e le applicazioni sono esattamente le stesse, e quindi il discorso di “A è meglio di B” non può e non deve coinvolgere discussioni sul kernel o sulle applicazioni. Quello che rende una distribuzione più o meno confortevole è il contorno: il supporto, la comunità che la sviluppa e la sostiene, la competenza delle persone che ci lavorano. Tutto il resto non vale come motivo di scelta, e la dimostrazione è che nelle discussioni incentrate su “quale è la migliore” nessuno esce chiaramente vincitore. Nessuno. Alcune delle affermazioni sono poi frutto della scarsa conoscenza del funzionamento di Linux e del suo kernel. Frasi come “la distribuzione A è meglio perché mi scopre più periferiche rispetto alla distribuzione B” non dimostrano proprio nulla. Vuol dire solo che la distribuzione A usa un kernel meno recente, o la distribuzione B include nel kernel dei driver ancora non presenti nel kernel ufficiale, e quindi sembra migliore. Ma c’è un piccolo dettaglio: se i driver non sono ancora inclusi nel kernel ufficiale ci sarà un motivo, no? Per esempio che sono ancora in fase di sviluppo, o sono ancora considerati instabili, e quindi possono avere un pesante impatto in termini di stabilità del sistema operativo. Inoltre, se la distribuzione è mantenuta da persone competenti, le periferiche che non funzioano oggi, potrebbero funzionare entro poche settimane: posso citare tanti esempi di questo, proprio con Fedora. Il lettore di schede SD del mio vecchio notebook (pace all’anima sua). La gestione dell’alimentazione nei notebook HP nx7300 e nc6400. E così via. Se la distribuzione ha un buon supporto, quello che non funziona oggi certamente funzionerà domani. Anche grazie al nostro aiuto agli sviluppatori.

Tutto ha un prezzo.

Quindi la mia posizione sulle guerre fra distribuzioni è molto semplice: le discussioni viste fino ad ora sono assolutamente inutili, e non portano da nessuna parte.

Ad oggi una possibile ragione di scelta di una distribuzione rispetto ad altre è la filosofia: la posizione nei confronti degli argomenti più scottanti, come software libero, brevetti, licenze aperte, diritti dell’utilizzatore. Queste sono le ragioni per cui scegliere una distribuzione, e diventano poi ragioni fortissime per sostenerne lo sviluppo.

Veniamo all’argomento più scottante: Linux e Windows™. Premesso che i primi guadagni li ho realizzati lavorando con MS-DOS™ nel 1984, non ho nulla contro Windows. E’ il cliente che comanda: se vuole pere invece di arance, non ho problemi. Ma se posso scegliere, consiglio una distribuzione Linux e software libero, e se è un cliente con dubbi per l’assistenza non esito a prendere distribuzioni con supporto Enterprise, che proprio economiche non sono.
Diciamo che tendo a semplificarmi il lavoro: Linux si gestisce con un teminale, via rete, senza alcun problema. Anzi, da shell si possono fare molte più cose che da interfaccia grafica, come è sempre stato per tutti gli Unix da quando esistono: nei primi computer con Unix si lavorava dagli uffici attraverso linee seriali a 300 bit per secondo…
Gestire Windows da remoto è molto più complesso: occorre il desktop, la grafica, il mouse e se non si usa una delle versioni con le funzioni di terminale remoto, occorre installare software aggiuntivi, con tutto quello che ne consegue.
Queste sono cose di cui tenere conto quando si deve scegliere.

Non voglio per nulla addentrarmi qui nella discussione su quale modello di distribuzione del software sia migliore. Ho già espresso la mia opinione. Dico solo: per me quello che conta è cosa succede quando ho un problema. Se acquisto una licenza costosissima, ma sono da solo con i CD del programma non ho fatto un grande affare. Se il software è gratuito, sono disposto a pagare a peso d’oro chi mi risolve un problema. Chi ha mai avuto a che fare con un qualsiasi supporto tecnico sa di cosa parlo.
Non penso occorra dire altro.

Sulla questione sicurezza le cose si fanno molto spinose. Come ho già detto, nessun software, e quindi nessun sistema operativo può a priori essere considerato sicuro. E come ho già detto, rimane da stabilire cosa si intenda con sicuro. La sicurezza è molto di più di una password robusta, di un buon antivirus o di un firewall costosissimo. E’ un processo, una impostazione mentale dell’utilizzatore, è un bagaglio di regole, qualche volta contrarie al buonsenso, che a volte si può solo acquisire col tempo e sulla propria pelle. Un sistema operativo è meno sicuro di un altro se per progetto manca qualcosa. Un esempio: le versioni 95/98/ME di Windows non possiedono il concetto di separazione dei privilegi, cosa che è implementata solo nelle versioni NT/2000/XP/2003/Vista. La separazione significa che il kernel, i servizi del sistema operativo ed i programmi usati dall’utente girano con privilegi differenti, anche in funzione del tipo di utente. In Unix, nato da subito come multiutente, l’utente normale ha un livello di privilegio sufficiente per fare quello che deve, niente di più: non può installare applicazioni comuni, non può toccare i servizi di sistema, non può dare ordini al kernel, non può neanche usare alcune funzioni del kernel. In una frase, non può fare danni, intenzionali o meno. La versione Professional di XP, se installata in una partizione con filesystem NTFS, permette di avere un livello di sicurezza paragonabile, a patto di usare un utente non amministratore per l’impiego normale del computer, ed usare l’amministratore solo e soltanto per installare applicazioni, modificare servizi ed impostazioni di sistema, cambiare il funzionamento della rete o del computer. Ma nella installazione standard di XP gli utenti vengono creati tutti amministratori, e gli utilizzatori non vengono educati all’uso dei corretti privilegi. E senza la conoscenza degli utilizzatori, anche la misura di sicurezza più estrema diventa inutile: come una cassaforte di cui tutti hanno la chiave, o lasciata con la combinazione impostata dalla fabbrica.

Quello che succede è che quando una persona si affaccia a Linux arrivando dal mondo Windows, tende ad usare solo l’utente root, con le conseguenze che è facile immaginare: ogni minimo errore di manovra si trasforma in una catastrofe.

La sicurezza non è uno scherzo, né un gioco. L’affermazione “Linux è immune ai virus” è quanto meno incompleta: è immune ai virus di Windows, certo, ma ha i suoi di virus. Come ha i suoi problemi di malware e di vulnerabilità. E se anche il kernel fosse perfetto e privo di vulnerabilità, ci sono le applicazioni: un kernel invulnerabile, su cui gira un web server invulnerabile, con una configurazione a prova di bomba, su cui gira una applicazione in PHP scritta da un bravissimo sviluppatore che però non possiede alcuna esperienza di sicurezza nelle applicazioni è il massimo della vulnerabilità, la cosa più insicura che esista: basta un normale browser per farla a pezzi con uno stupidissimo SQL injection.

Se il mio computer con Windows è una fogna, perché nessuno mi ha educato ad usarlo, il passare a Linux perché “così sto a posto”, ed usare tranquillamente l’utente root per fare tutto, non aumenta di un solo bit il mio livello di sicurezza. Ma anzi mi espone a pericoli che non conosco, perché anche l’ambiente non mi è familiare: come mi accorgo che ho un rootkit infilato nel computer?

Quindi: Linux più sicuro di Windows? Dipende. Non è la racchetta che fa il tennista. Mai.

In conclusione: uso Fedora perché mi ci trovo bene, la conosco quanto basta per sentirmi sicuro e trovo più facile tenerne sotto controllo le impostazioni di sicurezza rispetto a Windows.

E per carità: Fedora non è la migliore distribuzione Linux, ma quella con cui mi trovo più in sintonia per la sua filosofia di base.

Conto sulla maturità di chi legge per evitare spiacevoli comportamenti per quanto riguarda i commenti. Ma il blog è il mio, quindi chi non sa comportarsi in modo civile si aspetti di venire oscurato senza alcuna spiegazione.

Mario Pascucci