sabato, ottobre 25, 2014

Un post da nerd: software libero per gente libera

Tempo fa parlavo con un amico e mi diceva che se togli lo smartphone a suo figlio questi diventa un reietto, un emarginato, perché tutta la vita sociale di questi ragazzi si svolge con la mediazione di determinati strumenti hardware e software, gli stessi per tutti. Io ho risposto che capisco il meccanismo in generale ma non mi capacito di come questi ragazzi non abbiano nessuna velleità di distinguersi dalla massa, per esempio adoperando degli strumenti differenti. Anche perché è una cosa che non richiede alcuno sforzo particolare.

Il software libero. Di solito con questa espressione si intende un software che volendo si può usare e modificare a piacimento, avendo come unica restrizione quella di riconoscere formalmente la primogenitura degli autori. Facciamo il caso più comune, Linux o GNU-Linux.

Cosa è Linux? Ve la semplifico, è una accozzaglia di software messo insieme più o meno alla rinfusa, sviluppato da una galassia eterogenea di autori che va dai dipendenti a tempo pieno di colossi dell'informatica come IBM fino a studenti che scrivono programmi per divertimento e per imparare. Le cose sono realizzate e messe insieme senza una regola, ognuno fa come gli pare, quando gli pare e per le ragioni che preferisce. Per esempio una grande azienda può distribuire del software come "libero" perché altrimenti non ha più mercato e uno studente può distribuire del software "libero" perché è divertente.

Che differenza c'è rispetto al software "commerciale", per esempio Windows? A parte i tecnicismi le differenze sono due:
1. il software "commerciale" non appartiene a chi lo usa, gli viene solo concesso di adoperarlo a certe condizioni stabilite da un contratto. Anche se avete fisicamente in mano un CD-ROM di Windows non significa che Windows vi appartiene, lo potete usare solo fintanto che rimane valido il contratto che avete sottoscritto con Microsoft, il proprietario. Se per ipotesi domani il contratto venisse annullato, perdereste qualsiasi diritto di usare Windows. Cosa che diventa ovvia nel momento in cui si passa ad una modalità "pago a consumo", cioè il software viene distribuito con un modello per cui si paga un abbonamento periodico.
2. il software "commerciale" non si può modificare in nessun modo. Se per ipotesi l'azienda che lo distribuisce apporta una modifica al software che non si accorda alle vostre abitudini o necessità, non potete farci nulla. Vi dovete adeguare.

Col software libero invece non ci sono restrizioni di sorta, esiste una specie di "libreria virtuale" dalla quale potete prendere il software che vi serve e farne l'uso che preferite. Non solo, vi viene anche fornito il "sorgente" del programma, cioè il codice in cui è stato scritto, nel caso vogliate modificarlo. Sembra bello. Ma ci sarà l'inghippo, direte voi, altrimenti tutti userebbero il software libero. Infatti c'è.

Il problema del software libero è che, siccome non viene venduto ma semplicemente reso disponibile a chi se ne voglia servire e siccome non esiste nessuna autorità che coordina e gestisce lo sviluppo dei vari progetti, nessuno si preoccupa delle esigenze o dei gusti di chi lo userà. Se lo vuoi, eccolo qui. Se non lo vuoi, fatti tuoi. Ti piace? Bene. Non ti piace? Ecco i sorgenti, fai i cambiamenti che preferisci. Oppure fattene uno tuo. A questo punto voi direte "caspita ma cosi verrà fuori un pasticcio inutilizzabile". Si e no.

In realtà è relativamente facile prendere dalla "libreria virtuale" un certo numero di programmi, metterli insieme in modo che costituiscano un insieme coerente e realizzare qualcosa che sia molto simile a Windows (per esempio). Questo insieme si chiama "distribuzione". Dato che è facile mettere insieme una distribuzione, ne esistono decine. Normalmente una distribuzione consiste in un CD-ROM (di recente, anche una chiavetta USB) che permette di installare il Sistema Operativo (come Windows) più tutti i driver e una collezione di applicazioni per gli usi più comuni. In cosa si differenzia una distribuzione da un'altra? A parte quelle destinate ad un uso specialistico, quelle per l'uso generico sono tutte molto simili, direi equivalenti. Le differenze consistono nei singoli componenti presi dalla "libreria virtuale" ma sopratutto nel modo in cui vengono gestiti gli inevitabili problemi che derivano dal fatto che ognuno di questi componenti va avanti per conto suo, ignorando quello che fanno gli altri. Quindi la distribuzione si deve fare carico di scegliere i componenti, la loro versione e metterli insieme in modo che il tutto rimanga coerente e che funzioni. In sostanza la distribuzione supplisce a posteriori alla mancanza di una autorità che coordini lo sviluppo del software libero.

Eccoci alla domandona: perché usare software libero invece di software "commerciale", per esempio Windows?
Ci sono due motivi.
1. perché è più divertente.
Questo ovviamente interessa a chi si diverte ad usare un computer. Chi invece lo fa solo per necessità tenderà a usare lo strumento che richiede meno fatica. Questo potrebbe essere Windows oppure no, a seconda dei casi. Vedi sotto.
2. perché è molto più facile configurare il computer in base alle proprie necessità e preferenze.
Il software libero per sua natura offre molte alternative per una stessa funzione. Quindi se un determinato modo di fare una cosa non vi soddisfa, è possibile che ne troviate altri che sono più adatti. Facciamo un esempio banale: avete un computer di qualche anno fa. Le nuove versioni di Windows non funzionano su questo computer perché richiedono una combinazione hardware più recente. Se non volte buttare il computer vecchio e comprarne uno nuovo potete usare una distribuzione Linux che supporta l'hardware del vecchio computer. Un altro esempio ovvio è dato dalla recente conversione di Windows dalla "interfaccia desktop" classica a quella "a piastrelle", che a sua volta dipende dall'uso di software realizzato con un nuovo insieme di strumenti. Questa interfaccia è stata pensata per dispositivi touch screen ma se voi state ancora usando mouse e tastiera vi potrebbe riuscire indigesta. Con le distribuzioni Linux potete scegliere tra diverse interfacce differenti.

Esiste anche la ragione 3. perché è gratis.
Non tutto tutto ma la maggior parte dei software libero è anche gratis. Prego notare che in inglese "libero" e "gratis" si scrivono con la stessa parola, cioè "free". Ma sono due cose diverse. Comunque facciamo un esempio concreto, la suite "office". Esistono varie alternative di software libero che sono anche gratis. Quindi chi ha un budget limitato può scegliere il software libero invece della controparte "commerciale". Un caso di cui si discute di tanto in tanto è l'adozione del software libero da parte della Pubblica Amministrazione per svincolarsi dai costi sottesi alle licenze del software "commerciale".

Veniamo all'argomento che personalmente trovo più rilevante: la necessità di opporsi al conformismo. Io tendo ad usare lo strumento più comodo per fare una certa operazione. Non ho pregiudizi ideologici. Ma quando mi accorgo che mi vengono tolte le alternative per obbligarmi a rientrare in un certo "modello di comportamento/consumo" allora cerco di svincolarmi. L'uso di software libero per me non è una questione solo pratica è anche una questione di libertà, intesa come facoltà di scegliere. Fare una cosa solo perché la fanno tutti, anche se non è la cosa migliore, è un modo di essere che non mi appartiene.

Nota: purtroppo un problema catastrofico è che non esiste l'hardware libero.

17 commenti:

  1. I giovani di oggi sono conformisti

    E comodi

    Per questo non ci sono movimenti di protesta nel mondo occidentale

    RispondiElimina
    Risposte
    1. E perché dovrebbero esserci "movimenti di protesta nel mondo occidentale?"

      Elimina
    2. Perché la gioventù da sempre reclama spazio

      Tranne in questi anni

      Elimina
    3. Per quello basta mandarla in guerra ogni 20 anni.

      Elimina
    4. Ahaha, Lorenzo
      Il cinismo è una delle cure ai mali (intellettuali) del mondo.
      :)

      Elimina
  2. Purtroppo, se il tuo computer non funziona o se occorre installare software "nuovo", ti viene spesso detto che "l'hardware e' obsoleto, non vale la pena re-istallare, meglio comprare il nuovo gia' predisposto", perche' 1) vogliono vendere anche l'hardware, 2) vogliono tenere soddisfatto il cliente (che magari non capisce la difficolta' del reistallare) 3) forse non hanno voglia/tempo di reistallare. (Nota: sto supponendo il caso di un utente tipico, uno che non sa e non vuole sapere come reistallare/come funziona la faccenda)

    Inoltre, considera pure un'altra cosa: l'hardware si rompe, anche perche' le cose sono fatte per rompersi. Per esempio, anche gli HDD dopo un po' di anni danno problemi. Non ho idea di quanto si possano intercambiare i pezzi (motherboard, HDD, lettore DVD, ... etc) di una "annata" con quelli di 5-6 anni dopo.

    Poi, va beh, quando si parla di Pubblica Amministrazione, purtroppo sappiamo gia' che raramente le scelte fatte seguono una logica di "beneficio per utti i cittadini dello stato".

    Leggero off-topic:
    Ti diro': qui come in Italia si ha un bell'insieme di dati raccolti e informatizzati.
    Tali dati, in realta', vengono usati in modo da 1) complicare la vita di chi li fornisce 2) spremerli fiscalmente il piu' possibile.
    A volte mi chiedo a chi faccia comodo avere tali dati, se poi non vengono utilizzati in maniera "equa", ma in modo da "vessare la parte debole", che non si puo' permettere scappatoie e non e' abbastanza "importante" perche' si chiuda un occhio davanti alle sue mancanze (anche in buona fede).

    B.

    RispondiElimina
    Risposte
    1. E' ovvio che l'hardware dipende dall'uso che ne devi fare. Mi spiego, se si tratta di una macchina in produzione per cui un eventuale fermo crea un danno sensibile allora farai in modo di gestire la "obsolescenza programmata" rinnovando l'hardware prima che si guasti. Ma se si tratta di un PC per uso domestico praticamente è immortale. I dischi moderni non si rompono a meno che tu non li prenda a martellate o che si bruci la piastra dei circuiti che è collocata su una delle facce. Contengono l'hardware e il software necessario a "invecchiare" gestendo le avarie senza smettere di funzionare. Io per esempio ne ho uno vecchio 15 anni che, pur pieno di settori difettosi, continua a funzionare. Chiaro che non lo userei per salvare qualcosa di importante ma per cazzeggiare su Internet basta e avanza. La sostituzione di parti in generale non è un problema, diventa un po' più complesso nel caso dei laptop. Però anche li, se adeguatamente conservati, difficilmente si guastano, per esempio ti sto scrivendo con un laptop che ho comprato nel 2004 (ed era un modello fuori produzione).

      Comunque il discorso che facevo sopra è differente, di altra natura. Oggi come oggi i dispositivi sono "chiusi", cioè li compri e sono già configurati sia come software che come hardware e fatti in modo che tu non ci puoi mettere le mani. In sostanza il dispositivo che compri ti viene dato "in uso" ma non sei libero di usarlo ne di adattarlo alle tue necessità, sei tu che ti devi adattare al dispositivo e ai termini della licenza d'uso.

      Faccio un esempio: gli smarphone con sopra Android. In linea teorica Android potrebbe essere un software "libero", quindi potresti installare e configurare il software come preferisci su uno qualsiasi smartphone. Ma ecco la fregatura: per funzionare Android si deve appoggiare sul "firmware", cioè sul software che fa da tramite tra il Sistema Operativo e l'hardware di ogni singolo smatphone (che sono tutti ovviamente differenti, non hanno uno standard). Quindi il venditore dello smartphone "chiude" il suo firmware e di conseguenza su ogni smartphone ci può essere solo il Sistema Operativo predisposto dal rivenditore, che integra il firmare apposito. Questo significa che ti trovi una versione modificata del software, con certe funzioni disabilitate e altre aggiunte e che non puoi cambiare nulla. Inoltre il venditore decide come e quando aggiornare il software e correggere eventuali bug ed exploit. Si, volendo tutto questo meccanismo si può aggirare ma è veramente difficile, molto oltre la portata dell'utente anche smaliziato, figurarsi quello "medio".

      Tutto questo succede causa un vuoto normativo. Il vuoto normativo dipende sia dal fatto che i colossi dell'IT hanno i soldi per condizionare Parlamenti e Governi, sia dal fatto che la gente, inclusi i legislatori, non capiscono la natura del problema.

      In linea generale bisognerebbe obbligare i venditori di hardware a vendere i propri dispositivi senza nessun software preinstallato e a rilasciare le specifiche dei propri dispositivi. Poi l'acquirente dovrebbe decidere qualche combinazione software installare (cosa facilmente fattibile con un sopporto auto-installante che lo metti, pigi "installa" e fa tutto lui), magari delegando l'incombenza al negoziante.

      Elimina
    2. In soldoni, per il consumatore è meglio se esiste competizione tra rivenditori e se esiste la possibilità di scegliere tra offerte diverse. Invece se esiste una condizione di cartello tra aziende che si accordano per spartirsi il mercato e i prodotti si configurano come un "pacchetto chiuso" che o mangi la minestra o salti dalla finestra, è evidente che questo si traduce in un danno per il consumatore, sia per quanto riguarda i prezzi/costi che per quanto riguarda la qualità e l'articolazione dei prodotti disponibili.

      Elimina
  3. la pubblica amministrazione è il regno dell'ignoranza informatica, problema che è anche ai vertici, ove si pensa che "free" significa "non paghi", ergo "si risparmia" e questo è il cavallo di Troia con cui entrano determinati fornitori di software "libero".
    Ma se uno offre qualcosa alla P.A. siamo sicuri che non si fa pagare?

    RispondiElimina
    Risposte
    1. Se inizi dicendo che nella P.A. regna l'ignoranza, tutto il resto diventa irrilevante dato che di qualsiasi cosa si parli, nessuno nella P.A. è in grado di distinguere la cacca dalla cioccolata. E qui veniamo al mio solito discorso che bisogna cominciare a distribuire calci in culo a partire dal vertice e giù a scendere.

      Detto questo, il software libero non si installa da solo, non si configura da solo, non si adopera da solo, non fa backup da solo, non trova soluzioni a problemi specifici da solo, non crea gestionali da solo, non sistema i suddetti gestionali per le esigenze X o Y da solo, eccetera. Tutte queste cose devono essere fatte manualmente da qualche tecnico, sia egli dipendente della P.A. o fornitore esterno. Significa che tutte queste operazioni hanno un costo, lo stesso identico costo che si sobbarcano le aziende per le stesse identiche ragioni.

      Oltre il software poi c'è tutto il discorso dell'hardware, anche in quel caso bisogna che qualcuno progetti gli impianti, scelga le macchine adatte, le acquisti, trovi una opportuna collocazione (per esempio i server hanno bisogno di una stanza climatizzata, con impianto anti incendio, gruppo di continuità, ecc), porti le macchine in sede, le monti, verifichi che tutti sia a posto, poi bisogna che verifichi costantemente le macchine intervenendo su tutti i possibili problemi e guasti, eccetera. Anche queste operazioni devono essere fatte da tecnici e quindi hanno un costo.

      Il software libero come dicevo sopra non significa che sia tutto gratis. Significa principalmente che invece di un pacchetto chiuso, prendere o lasciare, esiste la possibilità di scegliere tra diverse soluzioni ed eventualmente di modificare soluzioni esistenti per adeguarle alle proprie necessità, senza vincoli di licenza imposti da terzi.

      Diciamo che il software libero significa libertà di scegliere invece di farsi imporre le soluzioni da altri.

      Ma non è nemmeno detto che tecnicamente il software libero sia la soluzione migliore per qualsiasi necessità, bisogna valutare caso per caso.

      Elimina
    2. Qualcuno però mi spieghi perché io devo pagare i dipendenti pubblici, visto che sono disabili gravi. Cos'è la P.A., un enorme servizio di assistenza sociale?

      Elimina
    3. E' molto interessante l'approccio collaborativo, sinergico.
      No!?
      Una indipendenza diffusa basata su interessi diffusi rispetto a poteri concentrati e interessi di pochi.

      Elimina
    4. E' interessante il caos perché non sai mai cosa ne salta fuori.

      Ma non c'è molta collaborazione e sicuramente nessuna sinergia. Infatti uno dei problemi fondamentali del software libero è che vengono sprecate tantissime risorse nel reinventare la ruota di continuo. Ognuno si picca di farsi la sua ruota leggermente diversa dalla ruota degli altri.

      Aggregare un po' le risorse non farebbe male. Per esempio se io fossi imperatore stanzierei un tot di soldi e darei mandato alle università di realizzare una distribuzione Linux competitiva, poi contratterei coi produttori di hardware un modello di PC desktop e un modello di PC laptop, basati su tecnologie datate di un paio d'anni ma certificate per funzionare con la distribuzione di cui sopra e li metterei in vendita a prezzo di costo. Poi darei disposizione ad ogni università di redigere un piano per la conversione della P.A. dove possibile a queste tecnologie a basso costo, ognuna per una sua area di competenza. Poi darei mandato alle università di implementare questo piano, eventualmente facendosi carico di coordinare fornitori privati.

      Ovviamente manderei ispettori e chi ciurla nel manico si beccherebbe la sua scarica di calci in culo.

      Elimina
  4. Un ragazzino di 14 anni difficilmente riesce a fare una analisi così dettagliata del problema, non so se lei ha figli o meno, le assicuro che non è una questione semplice.

    Aldo

    RispondiElimina
    Risposte
    1. Secondo me il "problema" è che per la maggior parte della gente non c'è nessun problema se non quello di comprare l'ultimo modello.

      Elimina
    2. Nel dettaglio si parla di smartphone per i figli, il modello è irrilevante, le assicuro che difficilmente troverà un ragazzino senza. Ai miei tempi il must era il motorino, i tempi cambiano, non so se in meglio o peggio.
      Aldo

      Elimina
    3. Allora devo tradurre in termini più semplici: la mela non cade lontano dall'albero. Genitore tonto, figlio tonto. Genitore che da ragazzo aveva "il must", figlio con "il must".

      Elimina