Ultimamente la comunità Linux è cresciuta molto: tante persone vi si avvicinano entusiaste, abbracciano gli ideali del software libero e senza conoscere a fondo quel che stanno facendo cominciano un’opera di “reclutamento” impreparata ed ossessiva, oserei dire RELIGIOSA.
Io stesso talvolta esagero con la mia propaganda.

Il risultato che questi nuovi adepti ottengono è spesso quello di allontanare gli utenti da Linux e dal software libero, spaventandoli.

Linux è una scelta! Non dev’essere imposto, se si vuole promuoverlo come alternativa non si può omettere di elencarne i difetti o, comunque, i problemi a cui un utente andrà incontro se decide di provare questa alternativa.

L’articolo è piuttosto lungo (è da un po’ che lo preparo). Cercherò di evidenziare le parti più importanti e di strutturarlo per una migliore leggibilità, tenterò di mantenerlo aggiornato per quanto mi sarà possibile e sarò lieto di valutare suggerimenti e segnalazioni che vogliate fornirmi nei commenti.

Con questo articolo cercherò di spiegare in breve le motivazioni del software libero, ed in particolare di Linux, quindi cercherò di stilare una lista dei vantaggi rispetto al suo principale rivale, così come dei problemi che si potrebbero incontrare. L’ambizione è quella di creare una lista completa e aggiornata: con l’aiuto dei lettori spero di riuscirci. Se dovesse diventare troppo lunga valuterò il trasferimento su un wiki.

Versione Guida: 1.3.3

******* LOG AGGIORNAMENTI *******

08/11/2007 – 1.3.3

  • Correzione della correzione ortografica (mi sono accorto ora che durante la correzione e il restiling di alcune frasi ho incasinato il significato o lasciato pezzi per strada :P )
  • aggiunta sezione per spiegare cos’è una distribuzione
  • aggiunta sezione “più lavoro in Italia e meno soldi all’estero”
  • aggiunta una nota importante che spiega come comportarsi correttamente per avere aiuto nei forum nelle mailing list e nelle chat

07/09/2007 – 1.3.1

  • Aggiunto qualche aggiornamento (dichiarazione di AMD sul rilascio delle specifiche delle schede video, driver conexant Dell ecc…)
  • Correzione ortografica e formale dell’intero testo: ringrazio Paola per l’aiuto.

10/07/2007 – 1.3.0

  • Enfasi sui problemi con i modem 56k integrati e ADSL modem USB nella sezione dei problemi con i driver
  • Spiegata meglio la sezione “niente .exe”
  • Programmi per Linux, come orientarsi e dove cercare
  • Link alla guida “da Windows a Ubuntu”

10/06/2007 – 1.1.3

  • Aggiunto link all’articolo sul perché i Virus per Linux non saranno mai una minaccia.

21/05/2007 – 1.1.2

  • NTFS è stabile anche in scrittura fino alla versione per Windows XP

19/05/2007 – 1.1.1

  • Aggiunta la sezione “link ad articoli simili” a fine articolo

25/04/2007 – 1.1.0

  • Introduzione versioni
  • Aggiunto problema/differenza: gestione permessi
  • Aggiornata la guida sul filesystem

*********

Buona lettura..

Perché Linux? Perché Software Libero? Perché GPL?

Per comprendere il presente ed il futuro è necessario conoscere il passato, quindi inizierò con un po’ di storia cercando di essere breve e non annoiare.

Devo tornare in dietro agli anni ’70, agli albori dell’informatica:
Negli anni precedenti a questa data i programmatori al mondo erano davvero pochi, i sistemi che si utilizzavano e tutti i software e i programmi erano distribuiti in codice aperto, il lavoro non veniva mai duplicato ma sempre migliorato a partire da quello esistente. Era software libero, ma non si chiamava ancora così perché esisteva solo quello.

Richard Stallman (principale autore della GPL e promotore del software libero) in quegli anni lavorava al MIT come ricercatore nel campo dell’intelligenza artificiale. Nel suo laboratorio la stampante aveva diversi problemi (es. si inceppava sempre la carta) così decise di prendere il codice sorgente del driver della stampante e di sistemarlo. Da quel giorno la stampante non diede più problemi.

Quando la stampante del laboratorio venne sostituita con una HP (o era una Xerox?), fornita senza codice sorgente dei driver, i problemi ricominciarono come prima. Stallman tentò in tutti i modi di ottenere i sorgenti dall’HP e dai programmatori che lavoravano all’HP, che però rifiutarono perché firmatari di un NDA (Non Disclosure Agreement, accordo di non divulgazione).

Nel 1983 vennero sostituiti tutti i computer dei laboratori perché i precedenti erano ormai fuori produzione. I nuovi computer erano forniti senza codice sorgente dei programmi. Il software proprietario era nato e si espandeva, ovunque proponevano contratti che obbligavano a firmare NDA; la comunità di programmatori liberi si dissolse perché non poteva più esistere collaborazione.

Fu allora che Stallman prese la decisione:

si era arrabbiato moltissimo quando gli avevano rifiutato il codice del driver di quella stampante, non poteva fare lo stesso a qualcun altro! Era di fronte a 3 scelte:

  • accettare di scrivere software proprietario e firmare NDA: avrebbe fatto sicuramente molti soldi, ma a fine carriera, alla fine della sua vita, si sarebbe guardato indietro consapevole di aver eretto dei muri alla conoscenza, di aver contribuito a rendere il mondo peggiore.
  • avrebbe potuto abbandonare il campo del software e dell’informatica: così facendo le sue abilità sarebbero andate sprecate
  • Trovare un modo per ripristinare la comunità in modo che non potesse più essere distrutta.

Optò per quest’ultima.
Nel 1984 lasciò il MIT e istituì la fondazione per il software libero: scelse di creare gli strumenti per poter utilizzare un computer e di renderli compatibili con Unix, così che fosse facilmente portabile, e che chiunque potesse decidere, volendo, di cambiare piattaforma di sviluppo (sistema operativo e architettura, i386,powerPc ecc..). L’insieme di applicazioni andò sotto il nome di GNU: interprete di comandi (terminale), assemblatore, compilatore (gcc), editor di testi (emacs), client e-mail e molti altri programmi.

Doveva inoltre trovare un modo per cui nessuno potesse nuovamente prendere il suo codice e toglierne la libertà. Nacque così la GPL, una licenza i cui punti fondamentali erano (e sono):

  • Libertà 0 (fondamentale): di eseguire un programma per qualunque scopo, senza vincoli per l’utilizzo
  • Libertà 1: di poter studiare il codice sorgente e, nel caso di necessità, adattarlo alle proprie esigenze, migliorarlo
  • Libertà 2: di poter copiare interamente o in parte tale programma
  • Obbligo di conservare queste libertà nel ridistribuirlo, e quindi l’obbligo di distribuire tale programma ancora coperto da licenza GPL

In altre parole, se vuoi utilizzare o modificare un programma coperto da GPL, GNU in questo caso, sei liberissimo di farlo, anzi sei incoraggiato a farlo, ma non puoi togliere le libertà che ti sono state date a qualcun altro.

Notare che si intende “libero” ma non gratis: nessuno vieta di vendere un codice sotto GPL.

Qualcuno può però prendere quel codice copiarlo e ridistribuirlo gratuitamente. È una scelta etica che ha dimostrato comunque di poter funzionare.

I guadagni quindi si possono ricercare altrove: nell’assistenza, nelle donazioni, nelle commissioni (per personalizzare il codice). L’importante è conservare la libertà.

I fatti hanno dimostrato che è possibile scrivere software libero di successo ottenendo al contempo un tornaconto personale; in più, tutto il software è orientato e pensato per gli utenti. Tutto si basa su un’idea fondamentale che la società debba, prima di tutto, aiutare il prossimo.

L’idea del software proprietario che “il codice sorgente di un programma non si può condividere con altri e/o non vi è permessa alcun tipo di modifica” è, secondo Stallman, antisociale.

Però GNU da solo non bastava: il kernel su cui si basava non era libero come GNU.

Nel 1991, il 3 Luglio (giorno del mio compleanno, destino?), un ragazzo, Linus Torvalds, scrisse un messaggio su usenet: quel giorno fu “concepito” Linux.

Hello netlanders,
Due to a project I’m working on (in minix), I’m interested in the posix standard definition. Could somebody please point me to a (preferably) machine-readable format of the latest posix rules? Ftp-sites would be nice.

Salve popolo della rete,
Per un progetto a cui sto lavorando (in minix [ un sistema operativo unix minimale ] ) sono interessato alla definizione di standard posix. Qualcuno potrebbe indicarmi una implementazione delle ultime regole posix in formato (preferibilmente) leggibile da una macchina? Un sito FTP non sarebbe male. [ traduzione di mastro ]

In pratica stava lavorando ad un progetto per creare una versione libera di minix. In seguito si giustificò spiegando che non poteva permettersi un sistema operativo commerciale e non voleva usare DOS o Windows.

Il 5 ottobre del ’91 (solo 2 mesi dopo!!!) Torvalds notifica l’esistenza di Linux 0.02 e chiede a chi voglia un sistema libero alternativo a minix/Unix di dargli una mano. Ovviamente Linus utilizza le utility GNU sopra al suo kernel. In breve tempo il kernel diventa stabile e comincia a supportare diverso hardware. Nell’aprile del 1992 (solo 10 mesi dopo) nascono le prime distribuzioni Linux e nel 1994 viene rilasciata la prima versione definitiva: Linux 1.0. Nascono Debian, RedHat e Suse. Nel ’96 con Linux 2.0 nasce anche TUX, il pinguino, mascotte di Linux, che assieme alla mascotte di GNU forma lo zoo il sistema operativo GNU/Linux.

Così sono nate la GPL e Linux. Ora conoscete le motivazioni e avete visto come dal nulla, con la collaborazione, sono nati grossi progetti.

Adesso torniamo ad essere pratici e vediamo i problemi che potrebbe incontrare un utente che decidesse di migrare da “Microsoft” a Linux.

Quali problemi avrò passando a Linux? Perché?

Praticamente tutti i problemi che si incontrano non sono in realtà dovuti a Linux in sè, come vedremo, ma sono comunque problemi in cui si può incorrere.

  • Diversità: cambiare è sempre difficile, modificare le abitudini e imparare a pensare diversamente. Linux spesso ha delle scelte architetturali completamente diverse da altri sistemi (leggasi Windows). Diverso non vuol dire peggiore, anzi, in genere sono tutte scelte molto ragionate, compiute avendo in testa cosa può servire ad un utente. Nonostante ciò il cambiamento e le novità spaventano.
    • Grande Varietà: questo è positivo, ma essendo qualcosa di diverso si trasforma in una difficoltà per i nuovi utenti. Su Windows siete abituati a considerare il sistema come un “tutt’uno”, indivisibile. Su Linux non è così: prima di tutto la parte “grafica”, cioè quella che vi permette di cliccare con il mouse e vedere le finestre e le icone, è un programma che funziona SOPRA il sistema operativo ( tale interfaccia è ormai sempre preconfigurata e attivata in automatico). Ne consegue che un problema con l’interfaccia grafica non blocca tutto il sistema ma vi permette di recuperarlo in pochissimo tempo. La parte grafica è anch’essa composta di varie parti intercambiabili secondo le esigenze. I Desktop Manager non fanno altro che raccogliere diversi di questi programmi proponendoli per ottenere un sistema grafico completo: Gnome (semplice), KDE (con tante funzioni), XCFE (leggero), Enlightement ( + leggero e “figo” :D ), Fluxbox (leggerissimo), ecc.. Come file manager (il corrispondente di esplora risorse in windows) Nautilus (predefinito di Gnome), Konqueror (predefinito di KDE), Thunar (predefinito di XCFE) e così via… come windows manager: Metacity o Compiz/Beryl (gestiscono il disegno delle finestre ). Ognuno ha le sue caratteristiche ed ogni utente può scegliere quelle che preferisce.
      Cosa succede quando un programma va in blocco? Semplice: grazie a questa separazione il resto del sistema rimane completamente funzionante. La finestra che conteneva il programma può essere comunque spostata, ridotta, ridimensionata e non lascia del “bianco” dove passa come accade in windows.

      • Distribuzioni: nel mondo Linux esistono talmente tante scelte e la libertà è tale che sono nate una miriade di distribuzioni diverse! Ogni utente ha le sue necessità: c’è chi si limita a consultare le email e a navigare su internet di tanto in tanto, chi chatta, chi gioca, chi fa musica, ecc..
        Le distribuzioni altro non sono che un insieme di programmi scelti e configurati per funzionare al meglio tra loro e con un particolare obbiettivo nell’utenza finale!
        Le distribuzioni considerate più semplici sono al momento Ubuntu, Fedora e Mandriva. Esistono poi varie versioni anche di queste. Se il vostro scopo è educare dei ragazzi/bambini allora le distribuzioni che fanno per voi sono EduBuntu o EduKnoppix. Se siete un azienda che volete avere dei server pronti per l’uso ci sono Red Hat, Suse (Novell). Se volete la libertà esiste Debian. Se volete una distribuzione che non faccia nulla in automatico e vi permetta di cambiare ogni aspetto del vostro sistema operativo e di personalizzarlo alle vostre esigenze a scapito della facilità d’uso esistono Slackware e Gentoo. E così via…
        Esistono persino distribuzioni per religiosi, satanisti ( :P ), musicisti o per i più svariati compiti! Persino alcuni apparecchi che molti utilizzano tutti i giorni girano su Linux (es. il Tom Tom).
        Presto verranno creati dei cellulari con Linux ed una loro distribuzione, è stato calcolato che fra qualche anno il 70% dei telefonini utilizzerà Linux!
    • Server Audio: è complicato spiegare di che si tratta. Anche in windows esiste questo concetto ma il server è uno solo e quindi non lo si nota. In pratica un programma prende il controllo completo della scheda audio e tutti gli altri programmi devono utilizzare quest’ultimo per poter produrre dei suoni o della musica.
      Di server e standard per l’audio su Linux ce ne sono diversi: come driver audio c’è Alsa, che sostituisce il vecchio OSS, mentre come server audio ci sono ESD, aRTS, Jack… I server audio utilizzano i Driver. I programmi possono scegliere se utilizzare dei server audio o direttamente i driver.
      Vi sembra un gran casino? Lo è… Ma solo in alcuni casi ve ne dovrete preoccupare. Ad esempio può capitare di trovarsi di fronte ad un vecchio programma che supporta solo i vecchi driver audio (OSS), se non si riescono ad “emulare” utilizzando i nuovi driver (ALSA) il risultato è che queste applicazioni cercano di prendere il controllo totale della scheda audio e se ci riescono impediscono ad ogni altro programma di produrre dei suoni, se non ci riescono saranno esse stesse a non produrre alcun suono!
      In pratica se vi capita uno di questi vecchi programmi tra le mani o sentite l’audio di quel programma o sentite quello di tutti gli altri: in genere questi problemi si risolvono con brevi ricerche su internet.
      Alcune distribuzioni, come Ubuntu, hanno già una configurazione abbastanza buona per risolvere questi problemi, che però talvolta possono ancora verificarsi.
    • FileSystem: Il filesystem Linux è più efficiente ma concettualmente diverso da quello windows e quindi “spiazzante”, ho già trattato questo argomento. Questa guida comprende: struttura del filesystem, posizionamento dei dischi in esso (in contrapposizione a C: D: E: di windows), significato delle cartelle del sistema, funzionamento dei permessi e dei collegamenti tra file.
    • Gestione Permessi: trovate tutto nella guida al filesystem che vi ho linkato al punto precedente. Vi faccio un piccolo sunto qui: le uniche cartelle in cui l’utente ha piena libertà (creare eliminare file) sono la sua cartella personale ( /home/nomeutente ) e quella temporanea ( /tmp ). Praticamente tutto il resto del sistema è posseduto dall’utente “root” o utente amministratore. Questo permette di evitare all’utente “normale” di far danni al sistema ;). Se è richiesta una modifica importante (es. installare un programma in tutto il sistema o cambiare una qualche configurazione ) sarà richiesta la password di root: in questo modo si crea la consapevolezza nell’utente di stare effettuando una modifica importante. Ogni file appartiene ad un utente e ad un gruppo, si possono inoltre impostare i diritti a “leggere”, “scrivere” ed “eseguire” ogni file; questi diritti si possono definire per l’utente, un gruppo e per “tutti gli altri”. Visto che esiste il permesso di “eseguire” un file potete capire che un file non è eseguibile direttamente finché non gli si dice esplicitamente che vogliamo lo sia… :D
    • Dove installo i driver? A parte Yast in SUSE non ci sono equivalenti su Linux di “gestione periferiche“.
      Un driver è un programma come gli altri: la sua particolarità è quella di comunicare direttamente con il nucleo (kernel) del sistema operativo e di fornire così la possibilità di utilizzare una periferica (per meglio comprendere cosa questo significhi consiglio la lettura di questo mio articolo).
      Installare un driver su Linux equivale ad installare un qualunque altro programma. Se il driver è disponibile come “pacchetto” della vostra distribuzione è possibile installarlo in modo semplicissimo. Se così non è, il procedimento è un po’ complicato ma, magari con l’aiuto di qualcuno, perfettamente fattibile. La maggior parte dei driver sono già inclusi nel kernel e quelli che non lo sono lo diverranno in futuro. Una volta installati diventano “moduli del kernel” che verranno caricati in caso di necessità in modo automatico.
    • Ho collegato il mio scanner ma non è successo nulla: in genere Linux non vi avverte che avete collegato qualcosa al computer (a meno che abbia senso farlo, ad esempio aprendo il contenuto della chiavetta usb appena inserita o chiedendovi se volete importare le foto della vostra macchina fotografica). Se collegate uno scanner che bisogno c’è di dirvi: “hey, hai appena collegato lo scanner!“? Se lo scanner è rilevato è semplicemente utilizzabile, se non lo è ve ne accorgerete aprendo il programma per scannerizzare (Xsane). Al che potrete cercare su Internet (ma era meglio farlo prima di comprarlo) il nome del vostro scanner seguito dalla parola “Linux” e vedere cosa salta fuori.
      Se vi sentite più impavidi potete cercare di capire voi stessi cosa non ha funzionato: in tal caso vi consiglio di leggere qui. In questo esempio si parla di scanner: quindi i comandi chiave, oltre a dmesg, sono xsane-find-scanner e, ovviamente, man xsane-find-scanner. Tutto ciò si può scoprire con qualche breve ricerca su internet o con pazienza leggendo i manuali presenti nel sistema. :D
    • Niente .exe: come già detto i file eseguibili sono file per cui è stato dato il permesso di esecuzione. Ovvero il fatto che un file sia eseguibile non dipende dalla sua estensione (.exe) ma dai suoi permessi. Gli eseguibili di Windows sono eseguibili per Windows, non funzioneranno su Linux perché non sono fatti per Linux (semplicemente).
      Comunque esiste un progetto (Wine) per lanciare eseguibili di Windows (.exe) su Linux. Non tutti funzionano, ma molti potrebbero funzionare… L’invito è comunque quello di cercare un’alternativa invece che tentare di usare quello che usavate su Windows; spesso le alternative ci sono, talvolta anche migliori. Potete consultare ad esempio le liste che propongono le alternative per Linux ai programmi più diffusi per windows, come questa.
    • Come installo un programma: quasi tutte le distribuzioni Linux propongono dei sistemi di pacchettizzazione che permettono di installare e disinstallare software sul proprio computer scaricandolo da grossi repository (grandi depositi di software presenti sul web da cui poter attingere). Questa non è una proprietà di Linux in sè (inteso come kernel), ma è una caratteristica diffusa nel mondo Linux. Se il programma che vi interessa non è presente nei repository potete cercarne di nuovi che contengano i programmi che vi servono e aggiungerli al vostro sistema; oppure potete compilare dai sorgenti (operazione più complessa). Quasi mai, quindi, salvo che vogliate compilare dai sorgenti, dovrete andare su un sito web a scaricare un programma per poi installarlo. Sempre meglio prima cercare nel repository.
      Questo discorso verrà ripreso nella sezione “falsi problemi su Linux” più in basso in questa guida.
  • Driver: esistono periferiche, specialmente nel mercato Desktop, per cui non ci sono driver (quei programmi che permettono di utilizzarle), o per cui ci sono ma sono parzialmente funzionanti o con diversi problemi.
    Alcune periferiche sono state progettate per funzionare su Windows (si citano i WinModem, alcuni Modem USB, alcune Stampanti, alcune WebCam) e che quindi con buona probabilità avranno dei problemi a funzionare con Linux.
    I produttori hardware inoltre non rilasciano le specifiche di funzionamento delle loro periferiche (quelle istruzioni che permettono di capire come creare un driver) né rilasciano il codice sorgente dei driver stessi. In questi casi è necessario che qualche utente Linux abbia la volontà e la pazienza di effettuare Reverse Engineering dei driver per cercare di capire come funzionano, e quindi scriverne uno.
    Più la comunità di Linux cresce e più questi problemi diventano rari e isolati. Oggi si hanno buone probabilità di ritrovarsi un sistema funzionante anche se non lo si è acquistato pensando di utilizzarlo con Linux.
    Recentemente grossi produttori come Lenovo, Dell e HP hanno cominciato a vendere computer con Linux, il risvolto più importante di questo fatto è che spingeranno i loro fornitori a creare driver per il pinguino.

    • Schede Video: queste meritano una menzione a parte perché sono quelle che causano i maggiori crucci ai nuovi utenti, seppure nella gran parte dei casi “vada tutto liscio”, esistono casi in cui si possono incontrare problemi, anche piccoli, ma insormontabili per un utente inesperto. Mentre le schede Intel funzionano perfettamente, ATI ed nVidia (sicuramente più potenti almeno nel campo del 3D) non forniscono né specifiche né driver per cui sia possibile visionare il codice; fino a qualche tempo fa non fornivano alcun driver. Oggi le cose stanno lentamente cambiano. Gli utenti nVidia su PC hanno un driver abbastanza buono, mentre gli utenti ATI sono destinati ad incontrare diverse problematiche (ad esempio la gestione dell’uscita video o dello standard televisivo italiano). Problemi semplici da risolvere per chi non ha paura di modificare file di configurazione, ma decisamente inaccettabili per un utente alle prime armi. Credo (e spero) sia ormai questione di mesi prima che questi problemi siano risolti.
      Aggiornamento 7 settembre 2007: Amd-Ati ha dichiarato che fornirà le specifiche di tutte le sue schede a partire dalle schede con chipset R500 (solo nuove schede grafiche), nonché un driver scheletro libero e il driver 2D completo e libero. Tutta la comunità Linux attende sviluppi. La notizia si può leggere anche qui e qui, sempre in inglese.
    • Modem 56K integrati e Modem ADSL USB: anche queste periferiche meritano una ulteriore spiegazione. Il motivo è che sono periferiche importanti: se queste non funzionano non riuscite a collegarvi ad internet per cercare aiuto o scaricare cose che possono servirvi.
      I modem 56k integrati vengono spesso chiamati “winmodem”, perché non sono dei “veri” modem ma solo delle schede audio basilari (sì, schede audio, avete capito bene). I driver per windows sono scritti in modo da farle lavorare come se fossero dei modem: in altre parole non è l’hardware (il modem in sé) a fare il lavoro ma sono i driver! Se aggiungiamo che “ovviamente” questi driver sono quasi sempre disponibili solo per windows e che le specifiche non vengono rilasciate, potete capire che difficilmente funzioneranno sotto Linux.
      Esistono alcuni progetti per far funzionare questi modem anche se non sempre sono facili da installare o funzionano a dovere. Per i Modem Conexant potete provare i driver di Dell: primo frutto del recente orientamento a Linux (sono per sistemi Ubuntu e Debian ma si possono adattare anche ad altre distribuzioni).
      Discorso analogo per i Modem ADSL USB, anche per questi esistono dei progetti per farli funzionare su Linux: alcuni modem, però, semplicemente non funzioneranno e l’installazione non è comunque facile.
      Che fare allora? Prima di tutto lamentatevi con i produttori e richiedete loro dei DRIVER PER LINUX e, come seconda cosa, compratevi un vero modem 56k (si trovano per 10-15 €) o un Router/Modem Ethernet ADSL ( si trovano anche per 50 €). Entrambi funzioneranno meglio su tutti i sistemi operativi rispetto a quelli di cui vi ho parlato qui.
      In alternativa, armatevi di pazienza e cercate da soli o con l’aiuto di qualcuno di far funzionare le vostre periferiche iniziando dai link che vi ho dato qui. Sappiate che esiste la possibilità di non avere successo per alcuni particolari modelli.
    • Portatili (Notebook): spesso contengono hardware non standard e modificato dai produttori. I driver forniti (per windows) hanno il compito di ovviare a queste “stranezze” perché funzioni tutto “normalmente”. Quando si arriva su Linux, e talvolta anche in Windows, questi problemi saltano fuori e non sono semplici da risolvere anche se avete qualche possibilità: questione di fortuna e di diffusione del vostro portatile. In genere alcune marche vanno meglio con Linux (Lenovo, Toshiba, …) mentre altre hanno più problemi…. è anche un buon indice per valutare la qualità di un prodotto ;)
  • Incompatibilità: talvolta vengono creati dei servizi pensati per essere usufruibili solo con programmi propri di Windows (trasmissioni in streaming utilizzando Windows Media Player, o siti web che utilizzano ActiveX di Internet Explorer per esempio). Qui il problema è l’ignoranza (intesa come mancanza di conoscenza) di alcune persone che creano questi servizi senza rispettare gli standard. Il Web come lo conosciamo oggi non sarebbe esistito senza standard aperti: pensate se solamente una azienda avesse potuto fabbricare masterizzatori e lettori CD, produrre i CD e i DVD stessi. Probabilmente i CD e i DVD non sarebbero diffusi quanto lo sono oggi.
    Altra incompatibilità si incontra con i formati dei file, ad esempio quelli di Microsoft Office, oggi parzialmente supportati da OpenOffice.org, o dai formati audio chiusi come il “wma”. Tutti quei formati di file proprietari creati con programmi esistenti per il solo Windows.
    O ancora: i sistemi Linux sono in grado di leggere il file system NTFS, specifica proprietaria di microsoft, ma il supporto in scrittura (e quindi modifica/creazione/cancellazione di file) è ancora sperimentale è ora considerato stabile (Nota: con il filesystem di windows vista questo non è più vero perché microsoft lo ha modificato). Ridimensionare una partizione NTFS è comunque un’operazione rischiosa, sia con applicazioni Linux che Windows, perché nessuno a parte microsoft ne conosce l’esatto funzionamento; si possono perdere dati.
    Tutte queste incompatibilità sono dannose per l’utente perché sono muri che rendono difficile cambiare.
    Microsoft mantiene il suo monopolio principalmente con queste metodologie di agire invece che combattendo sulla qualità del suo software e l’innovazione: se non avesse il monopolio queste strategie la porterebbero al fallimento. Per me è un buon motivo per liberarsi al più presto di tutti i legami, abbattere i muri ed uscire all’aperto! Sì, ci sarà ancora qualche muro qua e là ma sarà positivo perché renderà difficile finire di nuovo rinchiusi.
  • Assenza di applicazioni specifiche: Adobe Photoshop, CAD / AutoCAD, Gestionali, Giochi ( tranne quelli in OpenGL ), altri.. Qui c’è poco da fare: se vi serve CAD per lavoro non potete che restare su Windows. Potete però richiedere agli sviluppatori del software che vi serve un supporto per altri sistemi e cercare di utilizzare Linux o altri sistemi quando non dovete lavorarci.
    NOTA: solo professionisti molto seri hanno assoluto bisogno di CAD e Adobe Photoshop, per gli altri esistono ottimi programmi alternativi.
    Per i giochi il discorso è leggermente diverso, il motivo per cui quasi tutte gli sviluppatori utilizzano Microsoft DirectX invece di OpenGL, legando quindi l’utilizzo del gioco alla piattaforma windows, sono storiche e dovute ad una serie di mosse al limite della legalità da parte di Microsoft. È stato dimostrato da giochi come Quake che le prestazioni su sistemi Linux possono essere anche maggiori che su Windows, inoltre lo standard OpenGL è scritto meglio (il codice è più “pulito”) di quello DirectX. Fatto sta che la maggior parte dei giochi si trova solo per DirectX, ed è per questo che io stesso ho sul mio computer una partizione con Windows XP che utilizzo ESCLUSIVAMENTE per giocare.

    • Giochi: se avete una scheda grafica nVidia( le schede ati hanno più problemi a causa dei driver scadenti che Ati crea per Linux ) configurata correttamente con i driver proprietari di nvidia (quelli chiusi) moltissimi giochi per windows (che usano DirectX) funzioneranno sotto Linux usando Cedega, un software che richiede un pagamento mensile che dà accesso agli aggiornamenti. (Se smettete di pagare non avrete gli aggiornamenti, e quindi eventuale supporto ai nuovi giochi, ma potrete continuare ad usarlo. Se siete coraggiosi potete scaricare gratuitamente la versione di sviluppo e compilarvela, sareste sempre aggiornati ma non è una cosa semplicissima)
      Oppure potete consultare la lista di giochi che funzionano in modo nativo su Linux, ce ne sono di molto belli.
      Per citarne alcuni di quelli che conosco: Quake (tutte le versioni, compreso l’ultimo QuakeWars), Enemy Territory, Tremulous, Warsow e in genere tutti quelli che utilizzano OpenGL.
    • Grafica: al posto di Photoshop o altro programma di fotoritocco potete provare Gimp. L’interfaccia è diversa e non troppo intuitiva inizialmente ma potete fare QUASI tutto quello che fate con Photoshop: è questione di imparare ad usarlo.
      Per la grafica vettoriale consiglio Inkscape, migliore di moltissimi altri software proprietari e a pagamento.
      Per pubblicazioni consiglio Scribus: anche questo è necessario imparare ad utilizzarlo ma è un software molto potente che può permettervi di creare un volantino pubblicitario o un giornale.
      In sostituzione di CAD esistono diversi programmi, nessuno ai livelli di CAD. Alcuni sono però specializzati in un singolo settore: cercate e potreste trovare quello che vi serve.
      Per la grafica 3D c’è molta più scelta: Blender, molto potente per creare modelli e renderizzare[¹] scene e animazioni 3D, si può utilizzare anche per creare piccoli videogiochi o interi film di animazione; è necessario studiarne l’interfaccia prima di riuscire ad usarlo ma ci sono numerosissimi tutorial sul web. Infine Wings3D: specializzato nella creazione dei modelli.
      Spesso cluster Linux vengono utilizzati dalle industrie cinematografiche per renderizzare i numerosi effetti speciali dei film più famosi!
    • Multimedia: player musicali e video ce ne sono molti, io consiglio Amarok ed Exaile come player musicali, VLC e mplayer come player video, ma ce ne sono moltissimi anche per l’editing audio/video (es. Kino per il montaggio video). Ad esser sinceri per il montaggio Video i software ci sono ma sono difficili o non esattamente semplici. Altra lista di software.
      Invece per convertire formati video e rielaborarli ci sono diversi programmi efficienti (mencoder, ffmpeg)
    • Programmazione: Linux è il sistema nativo per software C e C++ ma praticamente qualunque linguaggio può essere utilizzato sotto Linux. Matlab funziona in modo nativo sotto Linux (anche meglio che sotto windows, a mio parere è più stabile). Si invita a consultare questa pagina per una lista di suite di sviluppo (IDE – Integrated Development Environment).
      In genere qualunque linguaggio di programmazione può essere utilizzato sotto Linux: cambiano le librerie utilizzate per interfacciarsi con il sistema operativo ovviamente.
  • Difficile trovarlo preinstallato: molti utenti non saprebbero da dove cominciare ad installare un sistema operativo, che sia Linux o Windows. Averlo già installato e funzionante è qualcosa di cui non possono fare a meno, ed un indubbia comodità per alcuni! Oggi iniziano ad esserci distributori e negozi che permettono di acquistare computer con Linux preinstallato o che indicano quali periferiche sono compatibili con Linux e quali no (doveroso citare la catena italiana Essedi shop). Dell dovrebbe presto vendere anche portatili equipaggiati con Ubuntu Linux, per ora li vende solo in America e Inghilterra. A ruota seguono altri produttori come HP e Asus; Lenovo, invece, vende computer con Linux preinstallato già da tempo.
  • Non sapere l’inglese: può essere un problema talvolta, soprattutto perché un enormità di materiale, guide, aiuti disponibili sul web sono in lingua inglese. Esiste una mole consistente anche in italiano ma mai tanta quanto quella disponibile in lingua inglese. Il sistema operativo è invece totalmente in italiano, fatta eccezione per la descrizione dei pacchetti (ovvero i programmi) delle distribuzioni e i manuali di alcune applicazioni (come per windows del resto). Un esempio per chi non sa di cosa sto parlando: con alcuni distribuzioni esistono programmi per scegliere tra migliaia di software ed installarli con pochi click, la descrizione di questi “pacchetti” è in inglese.
    Oggi, comunque, non conoscere l’inglese e non saper usare gli strumenti della rete è paragonabile a com’era negli anni ’50 non conoscere l’italiano.
  • Mancanza di connessione a banda larga: può essere un problema per alcuni in Italia (digital divide), soprattutto quando si vuole installare qualche programma non incluso nel CD / DVD della distribuzione scelta; in genere, però, ci sono distribuzioni per tutti i gusti, basta scegliere bene. Oppure farsi fare dei DVD con tutto l’occorrente da qualche amico.

Quali sono le false paure su Linux?

Esistono però anche alcune paure infondate su Linux, eccone un elenco:

  • Non c’è supporto: niente di più falso, le comunità disposte ad aiutare nuovi utenti volenterosi si sprecano. Vi è richiesto unicamente un minimo d’impegno: non pretendete tutto e subito e cercate di capire il problema voi stessi, per quel che potete, e di fornire più informazioni possibili a chi cerca di aiutarvi. Il modo più immediato per ricevere aiuto è cercare un LUG vicino a casa vostra (ce ne sono 192 in tutta Italia al momento), un gruppo di utenti Linux che, con buona probabilità, vi aiuterà ad installare e configurare tutto ciò che vi serve, risponderà alle vostre domande e saprà chiarirvi tutti i dubbi. Esiste poi il web: le ricerche su Google, o altro motore di ricerca, portano spesso a risultati soddisfacenti perché quando qualcuno risolve un problema lo condivide col mondo. Il tutto gratuitamente. È la filosofia della condivisione!
    NOTA IMPORTANTE: quando fate una domanda su un forum, in chat, su una mailing list è importante che comprendiate alcune cose.

    1. Chi vi aiuta lo fa in modo volontario, non è pagato per farlo! Quindi non pretendete risposte, non siate scortesi e non dite che il vostro problema è urgente!
    2. Prima di fare una domanda imparate a fare una ricerca su un motore di ricerca se non altro per capire meglio quale sia il problema!
      Leggete i manuali del programma che state utilizzando se ce ne sono.
    3. Se state scrivendo su una mailing list[²] create una nuova discussione per porre una nuova domanda. Rispondete sempre quotando come si deve (la risposta sotto la domanda, è Netiquette[³]). Date tutte le informazioni che potrebbero essere utili ad aiutarvi, compresa la vostra conoscenza informatica e di Linux. Si consiglia la lettura del testo: “come fare domande costruttive“. Non è da prendere alla lettera secondo me ma è un ottima traccia!
    4. Se la risposta vi sembra acida o scortese: calmatevi! Non è acida… è tesa a spronarvi a studiare meglio il problema! State calmi e chiedete delucidazioni se qualcosa non vi è chiaro!
      Spesso gli utenti rispondono con brevi messaggi che contengono il comando che risolve il vostro problema; per moltissimi utenti questa è un ottima risposta! Se a voi non è chiara chiedete spiegazioni.
    5. Cercate il contatto personale con il vostro Lug se potete: i rapporti telematici sono per loro natura più freddi e meno coinvolgenti.
  • Serve usare il terminale: Per terminale si intende: un interprete di comandi testuali (la cosa che più vi si avvicina su Windows è il prompt dei comandi o prompt di ms-dos). Oggi non è quasi più vero che sia necessario: distribuzioni come Ubuntu o Fedora sono utilizzabili completamente senza toccare alcun terminale.
    Quando serve il terminale?
    Se incontrate un problema è in genere molto più semplice risolverlo procedendo con il terminale: non sarete chiamati a farlo da soli, ci sarà chi vi aiuterà dicendovi esattamente i comandi da dare. Si tratterà di copiare dei comandi o aprire file di testo per modificarli secondo le istruzioni. I problemi di cui parlo sono quelli legati alle periferiche e pertanto una volta sistemati ce li si può dimenticare.. Le guide su internet spesso descrivono procedure con comandi da terminale: il motivo non è la mancanza di programmi grafici per fare le stesse cose ma l’efficienza del terminale e la facilità di descrizione di una procedura tramite questo strumento.
    Vi chiedo: “È più facile seguire una procedura molto lunga che presuppone di effettuare molti click e operazioni tra le finestre o copiare ed eseguire un comando nel terminale?” Insomma, non abbiate paura, è uno strumento in più, una possibilità ulteriore a quelle grafiche. Nessuno pretenderà mai che voi sappiate quali comandi scrivere nel terminale. Siete invitati a imparane le basi per vostra comodità ma non è essenziale.
  • Installare i programmi è difficile: su windows la procedura per trovare ed installare un programma è la seguente: ricerca su Google (o altro motore di ricerca), download del programma, cliccare due volte per aprirlo e seguire le istruzioni più o meno complicate a seconda del programma. Su Linux esistono diversi sistemi di pacchettizzazione, il più semplice (a mio parere) è quello di Debian (e quindi anche Ubuntu): con questo sistema la procedura consiste nell’aprire un programma in cui vi è una lista enorme di software e utilità di vario genere tra cui è possibile scegliere, una volta selezionati i pacchetti desiderati si clicca su “installa” o “applica” e tutti verranno automaticamente scaricati, installati e configurati. Nel caso troviate in rete un programma per Linux che vi interessa ma che non è presente nella lista di pacchetti avete 2 possibilità: se viene distribuito il pacchetto per la vostra distribuzione la procedura per installarlo è altrettanto semplice; nel caso peggiore verranno distribuiti i sorgenti, al che la procedura potrebbe essere leggermente più complessa e passa dal terminale.
  • Non c’è il programma che mi serve: leggete anche la sezione “assenza di applicazioni specifiche” più su in questa guida. Forse avete sentito dire che mano i programmi: seppur talvolta manca qualcosa (ecco perché vi rimando alla sezione precedente) le alternative libere ci sono e sono spesso migliori dei software che utilizzavate su Windows. Vi invito a consultare queste liste di equivalenze tra programmi per windows e programmi per Linux. Molto probabilmente troverete quel che fa per voi (senza un ordine particolare):

Quali sono le ragioni per passare a Linux?

Questa è la parte più divertente! :D

  • Non serve AntiVirus: un Virus è un programma, quindi affermare che non possono esistere Virus per Linux sarebbe una assurdità (comunque sono molto pochi). Il sistema operativo è però strutturato in modo tale che difficilmente un Virus riuscirebbe a fare grossi danni, ed in particolare non potrebbe compromettere il sistema operativo a meno che siate voi a fornire la password di amministratore (root) durante l’installazione del Virus. La diffusione poi di un virus è altrettanto complicata per motivi analoghi: se voi siete tanto stolti da fornire la password di root ad un virus, difficilmente ci saranno molti altri utenti che faranno lo stesso. In altre parole, Linux è intrinsecamente più sicuro per progettazione. Approfondimenti su questo mio articolo.
  • Stabilità: un computer Linux correttamente configurato può rimanere ininterrottamente acceso e in utilizzo intensivo per anni interi senza subire rallentamenti.
  • Prestazioni: le risorse del vostro computer vengono sfruttate appieno, senza sprechi. Con un vecchio Pentium 3 potete fare praticamente tutto quello che fate oggi con un nuovo computer e windows Vista (salvo le applicazioni non disponibili per Linux ovviamente).
    Tutto sta nel scegliere le giuste combinazioni di programmi: esistono distribuzioni pensate appositamente per computer più o meno vecchi (xubuntu, damn small linux, puppyLinux, elive)!
  • Libertà totale: non sarete mai costretti a buttare un vecchio computer perché il sistema operativo che usate non è più supportato. Nessuno potrà obbligarvi ad installare un certo programma per avere degli aggiornamenti o delle caratteristiche aggiuntive (vedi il controllo pirateria WGA di Windows). Quello che fa il sistema operativo è sotto gli occhi di tutti, non può “sgarrare”. In questo senso c’è una limpidezza totale nei confronti degli utenti.
  • Stimolo ad imparare: un computer non è un semplice elettrodomestico, sarebbe bello, ma non è così! Spesso gli hard disk contengono dati sensibili degli utenti ed essere sprovveduti può costar caro! Il commercio online diventa sempre più una realtà, e anche in questo caso è bene essere informati su quel che si fa. I dati sono un materiale pericoloso, non saperli maneggiare può mettere un utente nei guai con la giustizia.
    Linux è un sistema che stimola ad imparare come funzionano le cose, i manuali e gli help forniscono materiale utile a comprendere e non gli ovvi e talvolta inutili consigli come “spegni e riaccendi” o “contatta il tuo amministratore” che si trovano su Windows. Per un utente più smaliziato è poi possibile conoscere e capire ogni aspetto del sistema andando a leggere il codice sorgente.
  • Rispetto degli standard: gli standard sono creati per il bene degli utenti, permettono e facilitano l’innovazione. Linux rispetta tutti gli standard. Usare Linux è quindi anche un modo per rispettare gli altri e favorire la concorrenza. Se un giorno vorrete cambiare sistema potrete farlo senza impedimenti di sorta, vi è garantito dal rispetto degli standard e le specifiche aperte.
  • L’utente prima di tutto: tutto il software a corredo di Linux è pensato per andare in contro all’utente e non a multinazionali o interessi più o meno discutibili. Nella mentalità di chi scrive software sotto GPL, o comunque OpenSource, c’è la volontà di dare un qualcosa in più all’utente.
    Il guadagno di una azienda come RedHat non si fonda sulla vendita del software o sulla costruzione di muri che impediscano il cambiamento ma sull’assistenza. Un cliente può lasciare RedHat in qualunque momento senza problemi. Ecco che quindi l’unico modo di RedHat per mantenere i clienti è fornire loro qualcosa di realmente vantaggioso.
  • Più lavoro in Italia e meno soldi all’estero: quando acquistate un sistema operativo proprietario i soldi che spendete vanno all’estero! Quando comprate assistenza su un software proprietario i vostri soldi vanno alla multinazionale che ha distribuito quel software! Linux d’altra parte è libero, se qualcuno vuole aprire un azienda di assistenza e supporto a Linux sul terreno italiano è liberissimo di farlo!
    Se le pubbliche amministrazioni utilizzassero software libero chiunque potrebbe accedervi senza pagare programmi appositi. I software governativi non dipenderebbero dalle decisioni di una multinazionale straniera. Se un giorno chi ha prodotto quel software smettesse di supportarlo potrebbero rivolgersi ad un’altra azienda che, codice alla mano, potrebbe continuare l’assistenza e la personalizzazione!
    Se le scuole utilizzassero software libero potrebbero fornire tutto l’occorrente agli studenti perché possano a casa fare tutto ciò che fanno a scuola e darebbero la possibilità agli studenti più volenterosi di capire come funzionano studiandone il funzionamento fino al più piccolo dettaglio, potrebbero anche personalizzarselo!

Altre considerazioni

Avete mai sentito dire che gli utenti Linux odiano Microsoft? Forse vi sarete chiesti il motivo… La realtà è che non odiamo Microsoft! Combattiamo i metodi che certe aziende hanno per accaparrarsi e mantenere i propri clienti: metodi dannosi prima di tutto all’innovazione e all’interoperabilità, e quindi all’utente! Il grosso problema è che spesso gli utenti non sanno cosa significa interoperabilità e perché sia così importante! Doxaliber ha scritto una riflessione in proposito che consiglio di leggere…

NOTA: esistono anche “fanboy” che combattono microsoft/linux promuovendo linux/microsoft per moda, senza capire in genere di cosa parlano… non sono tutti così fortunatamente.

Link ad articoli simili

Niubbuntu spiega ad un utente windows come muoversi all’interno di Ubuntu :)

Guida ufficiale di Ubuntu per gli utenti Windows

Io ho finito..
spero che mi aiuterete con i commenti a completare questa lista e che qualcuno l’abbia apprezzata.

[¹] Renderizzare: questa parola è l’italianizzazione dell’inglese “Render“. Il rendering è un procedimento matematico che produce automaticamente un immagine partendo da un modello tridimensionale. Le animazioni tridimensionali presenti in film e videogames sono descritte matematicamente secondo certe strutture dati e memorizzate in un calcolatore. Perché una scena tridimensionale descritta in questo modo possa essere rappresentata a video sotto forma d’immagine si deve effettuare il rendering della scena o renderizzarla. Il compito principe delle schede grafiche 3D è quello di renderizzare grande quantità di dati in un tempo minore possibile.

[²] Mailing List: è uno strumento simile al Forum per certi versi. Per iscriversi ad una ML bisogna utilizzare una propria email: una volta iscritti si riceveranno TUTTE le email che vengono mandate in lista da parte degli altri iscritti e si potrà rispondere in modo che la vostra risposta arrivi a tutti. Per scrivere un nuovo argomento basta creare un’email e mandarlo ad un particolare indirizzo che vi viene fornito al momento dell’iscrizione! Ogni mailing list è tematica, ne esistono per i musicisti, gli sviluppatori del kernel, vari progetti, e praticamente ogni Lug ne ha una! A differenza del forum le email arrivano senza che siate voi ad andarle a prelevare: si consiglia di crearsi un account email apposito o di istruire il vostro client di posta perché sposti tutte le email provenienti dalla mailing list in una cartella separata, infine si consiglia di abilitare per quella cartella la “vista ad albero” in modo da poter seguire più facilmente le discussioni in atto!

[³] Netiquette: sotto questo nome vanno le regole di buon comportamento in rete (l’educazione insomma). Così come è maleducazione buttare la carta a terra o passare avanti in una fila in rete si considerano maleducati quelli che non seguono la Netiquette (un esempio di maleducazione è rispondere ad un’email lasciando il testo della mail precedente sotto la risposta). Ogni gruppo ha le sue linee guida, alcuni sono più permissivi altri più rigidi: quando entrate in una comunità adattatevi alle loro regole.

About these ads