Cos'è davvero l'open source

Tempo di lettura stimato: 7 min

Indice

Difficoltà: base, nessuna conoscenza richiesta per la comprensione dell’articolo

Ogni programma che vedete sui vostri dispositivi (ma anche quelli che non vedete, che sono parecchi) è stato scritto da un programmatore mediante delle parole in codice che ne descrivono il comportamento. Queste parole formano il cosiddetto codice sorgente, o più in breve codice, del programma in questione.

All’inizio della storia informatica il codice non era considerato un segreto da custodire, ma il capitalismo ha seguito il suo solito corso e qualcuno ha capito che si poteva trarre profitto dalla vendita del software. Si è iniziato allora a custodire il codice sorgente dei programmi commerciali per impedire “furti di proprietà intellettuale”. È stata applicata al codice dei programmi la legge sulla proprietà intellettuale e la situazione è diventata simile a quella dei brevetti.

Tenete presente che nella maggior parte dei casi non è possibile risalire al codice sorgente avendo a disposizione il programma finale.

Molte persone hanno però trovato estremamente limitativa l’idea che ogni programma debba essere completamente controllato da una singola azienda.

Le origini

Emblematico è un aneddoto di Richard Stallman, programmatore e attivista dell’open source, che nel 1980 non poté, per problemi di licenza, modificare il codice di una stampante in un laboratorio. Il suo obiettivo era semplicemente fare in modo che ogni utente del dispositivo ricevesse una notifica quando le proprie stampe fossero andate a buon fine o se la carta si fosse bloccata, ma dovette accontentarsi di ciò che i produttori della stampante avevano deciso.

Con numerosissimi oggetti quotidiani questa cosa non ha senso: immaginate di non poter mettere una pezza su un vestito, cambiare le perline di una collana, portare l’auto dal meccanico per farla aggiustare, sostituire i lacci delle scarpe o le viti di un mobile. È vero che negli ultimi anni a molti oggetti quotidiani si è cercato di limitarne le possibilità di utilizzo (si pensi alle batterie che ormai sono integrate in qualsiasi dispositivo elettronico), ma per il software queste limitazioni sono molto restrittive.

Fortunatamente, anche e soprattutto grazie a Stallman, si sviluppò parallelamente a questa idea tecnologica una nuova cultura, che promuoveva la condivisione e la collaborazione tra le persone.

Cosa vuol dire quindi “open source”?

Il software libero, anche detto open source, è software dove le logiche di competizione economica e di avidità crollano in favore di un senso di comunità dove al centro è messa la persona e non il denaro.

L’opposto di software libero è software proprietario.

Qualcunə di voi avrà magari già sentito il termine e penserà che indichi software che è gratuito. Qualcun’altrə invece potrebbe pensare che significhi “libero accesso al codice sorgente” (d’altro canto la traduzione letterale è “sorgente aperta”). Entrambi questi preconcetti possono essere veri, ma il punto chiave del software libero è la libertà, un concetto più ampio rispetto al mero prezzo. Perché un software possa essere definito libero, deve rispettare le 4 libertà fondamentali:

  1. Il software deve poter essere eseguito da chiunque per qualunque scopo
  2. Il codice dev’essere disponibile per essere studiato e non vi devono essere limitazioni di licenza per poterlo modificare
  3. Ognuno ha diritto di distribuire il software senza limitazioni
  4. Ognuno ha diritto di ridistribuire versioni modificate del software

Le conseguenze

Il software libero ha l’obiettivo di rendere il mondo un posto migliore. Il programmatore che si crea un programmino per aiutarsi in un proprio problema decide poi di rendere il suo programmino pubblico e open source. Tanti altri programmatori lo prenderanno, lo modificheranno, lo espanderanno fino a farlo diventare estremamente funzionale e completo, in grado di competere (spesso superando in qualità) con il software proprietario creato dalle grandi aziende.

Il grande punto di forza del software libero è la potenzialità di diventare un progetto di comunità, dove la collaborazione porta a risultati eccellenti. E la collaborazione non avviene solo tra programmatori: anche artisti, designer, traduttori, tester, nonostante la possibile assenza di competenze tecniche possono contribuire allo sviluppo del software. Per non parlare degli utenti, che utilizzando il software possono riportare agli sviluppatori i problemi che riscontrano, in modo che questi ultimi possano correggerli.

Un’altra grande forza dell’open source sta nell’ambito della sicurezza informatica. Se tutti possono studiare il codice, qualcuno potrebbe trovarci le cosiddette vulnerabilità, ovvero dei problemi che permetterebbero agli hacker di violare tale software. Queste vulnerabilità vengono quindi riportate agli sviluppatori e corrette più in fretta di quanto possa avvenire con un software proprietario.

Il ruolo del software libero nel mondo dell’informatica

Sembra tutto molto bello, ma quanto effettivamente viene utilizzato il software libero nel mondo? Dopo aver letto quello che ho scritto potreste pensare che sia un mondo di pura hobbistica, relegato a quei pochi nerd appassionati che condividono tra loro il lavoro che fanno.

La realtà è però ben diversa: il software libero tiene in piedi l’intera infrastruttura informatica mondiale, non sto esagerando. Tutti i data center—che in questo periodo stanno spuntando come funghi—sono pieni di computer che eseguono decine di programmi open source. Linux, il progetto open source più riuscito, domina l’ambiente dei server (i computer che stanno nei data center) e sta anche crescendo nell’ambito desktop (i nostri normali computer, o console come lo Steam Deck).

C’è anche una grandissima quantità di software open source; per darvi un’idea elencherò solo alcuni dei programmi più famosi perché altrimenti non finirei più:
Firefox, Chromium, VLC, Blender, LibreOffice, Audacity, Android, GIMP, Python, Git, 7Zip, WordPress, Visual Studio Code, Thunderbird, Calibre, Kodi e un’infinità di altri.

Come si è evoluto il software proprietario

Ho parlato prima delle limitazioni intrinseche del software proprietario, ma gli avidi ricconi, sempre in cerca di nuovi modi di guadagnare, si sono inventati nuove strategie che sfruttano la segretezza e la prigionia creata dal software proprietario. Non approfondirò troppo la questione in questo articolo (probabilmente lo farò in altri), ma vi elencherò e descriverò brevemente le principali:

  • Dark pattern: chi progetta un’applicazione utilizza subdole tecniche psicologiche per portare l’utente a fare cose che non vorrebbe in realtà fare (come cedere dati, visualizzare pubblicità, comprare cose che non necessita o inserire costi nascosti dietro a indicazioni fuorvianti);
  • Vendor lock-in: chi progetta un’applicazione utilizza tecniche informatiche e non per fare in modo che l’utente sia costretto a utilizzare servizi di una stessa azienda, senza la libertà di poter scegliere (pensate a Apple o Adobe);
  • Obsolescenza programmata: l’azienda che crea un nuovo software aggiorna le versioni precedenti per farle funzionare peggio, in modo che gli utenti siano costretti a utilizzare quello che l’azienda decide (normalmente pagando). Ancora peggio, ma succede molto spesso, il software che controlla un dispositivo un po’ più “vecchio” viene reso pesante in modo che l’utente, che vede il dispositivo meno reattivo, creda di doverlo cambiare (quando in realtà funziona ancora benissimo);
  • Cambiamenti di licenza: immaginate di pagare per un programma professionale. Da un giorno all’altro l’azienda potrebbe decidere di cambiare il prezzo e trasformarlo in un abbonamento. Oppure ciò che era gratuito per utenti non professionisti potrebbe terminare il piano ed essere utilizzabile solo a pagamento;
  • Discontinuazione: se l’azienda crea un nuovo software e non vuole più mantenere quello vecchio, sarete tutti costretti a smettere di usare quello vecchio in favore di quello nuovo;
  • DRM: se usate un software a pagamento, normalmente sono presenti altri programmi che si occupano di verificare che abbiate effettivamente pagato. Questi programmi possono essere scomodi, portarvi via tempo e risorse del computer, o anche essere complessi da utilizzare e creare problemi.

Per non dilungarmi troppo ho un po’ semplificato le questioni senza ad esempio differenziare fra software proprietario gratuito e a pagamento. In ogni caso spero di avervi dato un’idea generale dei problemi che il software proprietario crea. Se siete interessati e volete seguire questo blog, in futuro approfondirò alcuni di questi problemi in articoli dedicati.

Conclusione

Sono un grande sostenitore della collaborazione come alternativa alla competizione e per questo adoro e promuovo l’ecosistema del software libero. Spero che questo articolo abbia potuto darvi una panoramica superficiale di questo mondo e vi invito a informarvi sulla licenza del software che utilizzate e che utilizzerete, prediligendo software che vi rispetta.

Se vi piace il mio blog potete seguire il mio feed e condividere questo o altri articoli con qualcunə che conoscete. Alla prossima!

Articoli correlati