Dopo avere visto come i tuoi dati vengono usati su internet per fare soldi e come possono manipolarti i social network, voglio spiegarti cosa puoi fare per iniziare ad utilizzare software etici, che mettono al centro te e i tuoi bisogni, anziché gli interessi commerciali delle aziende che li producono.
Per farti capire e apprezzare i software di questo tipo, dovrai prima conoscere una panoramica su cosa sono i programmi e come nascono.
Niente di complicato, promesso! 🙂
Cosa devi sapere prima:
- avere letto l’articolo precedente;
Fin dall’inizio di questo blog abbiamo visto che quello che chiamiamo “internet” non è il luogo ospitale e trasparente che era un tempo. Lo spazio virtuale della rete è diventato molto reale nelle nostre vite, e successivamente è stato colonizzato dalle aziende che lo usano per lo scopo per cui esistono: fare soldi.
Questo non è un male di per sé, ma secondo me lo diventa quando i soldi incassati nel tempo sono miliardi e miliardi, ottenuti passando sopra anche a principi etici e di buon senso pur di continuare a guadagnare. Come ripeto, questo comportamento non è una cosa strana: fa parte della natura delle aziende, che per continuare a esistere devono guadagnare e crescere. La cosa sorprendente è che non se ne parli, come se non fosse importante.
Abbiamo visto, quindi, come il concetto di etica digitale sia davvero semplice. L’etica digitale è rispettata quando uno strumento viene messo a disposizione di tutti gli utenti, avendo cura di trattarli in modo etico. L’utente deve essere messo al centro, non al margine di un processo.
Se uno strumento è etico, gli utenti che lo utilizzano (e i loro dati) non vengono usati per fare soldi, o per essere influenzati dallo strumento in qualche modo (in questo caso, d’altra parte, lo strumento non sarebbe più uno strumento, ma qualcos’altro!).
Al giorno d’oggi l’etica non è un tema molto sentito (purtroppo). Per quelli di noi che ci fanno ancora caso, però, esiste la possibilità di riprendersi i propri spazi e i propri diritti. Non sto parlando di qualcosa di teorico, di principi astratti, ma di aspetti molto pratici della nostra vita digitale che vedremo tra poco. Per farti capire bene cosa intendo, però, devo spiegarti cosa sia un programma.
In poche parole, ogni volta che fai qualcosa con un computer o uno smartphone – il telefonino, ossia un computer tascabile – lo fai grazie ad un programma (o una app, se lo fai sul telefonino, ma il significato è il medesimo).
In un computer ci sono i programmi che conosci bene, ad esempio Word per scrivere, Outlook per scrivere e ricevere la posta elettronica, o i browser di cui abbiamo già parlato per navigare in internet. (Chrome, Edge, Firefox, Vivaldi, ecc.)
Nel tuo dispositivo ci sono anche programmi “speciali” con cui non puoi interagire direttamente, e che non puoi vedere con i tuoi occhi, ma che sono fondamentali per fare funzionare il computer, per tenerlo acceso, per far funzionare lo schermo, la tastiera, eccetera. Questi programmi speciali, tutti insieme, si chiamano sistema operativo (questa informazione ci servirà più avanti). Windows, ad esempio, è un sistema operativo.
Da qui in poi parliamo solo dei programmi di uso comune, i cosiddetti Applicativi (o applicazioni, o app sul telefonino).
Ma come funzionano i programmi? Chi li crea? Come?
Vediamolo, perché ci è utile capirlo.
- Come funzionano i programmi?
Per semplificare il più possibile, possiamo dire che un programma è un insieme di compiti, un insieme di cose che il computer può fare (deve fare) ogni volta che succede “qualcosa”.
Quando il programma viene avviato, attiva un’interfaccia (la parte del programma che l’utente vede sullo schermo) e poi “resta in ascolto” per osservare cosa succede nell’interfaccia.
Ad esempio, ogni volta che l’utente preme un pulsante sullo schermo, il programma sa riconoscere cosa ha toccato l’utente (quale parte dell’interfaccia) e sulla base di questa informazione svolgerà un certo compito. Per capirci, se l’utente tocca o clicca il pulsante “stampa” sullo schermo, il programma avvierà la stampa del documento. - Chi è che dice al programma cosa deve fare in ogni occasione?
Questo è il compito del programmatore ( o sviluppatore), un essere umano che nel mondo anglosassone si chiama software developer.
Ci sono tantissimi sviluppatori nel mondo, ognuno dei quali crea programmi (o parte di programmi) sia per conto proprio che per aziende che li assumono con questo scopo. - Come vengono fatti i programmi?
Lo sviluppatore conosce il linguaggio con cui dire al computer cosa fare in ogni occasione. Ce ne sono diversi, in base allo scopo e al campo di applicazione del programma che deve essere creato. Si chiamano linguaggi di programmazione (esempi: C, Php, Java, ecc.)
Ciascun linguaggio non è come la lingua che parliamo, anche se è anch’esso fatto di regole, di modi di esprimersi corretti che il computer può capire ed eseguire.
Usando uno o più linguaggi, quindi, lo sviluppatore deve prevedere cosa potrà succedere quando il programma viene avviato (in gergo tecnico si dice: lanciato) e anche cosa deve succedere in ciascuno dei casi previsti. Ovviamente, lo sviluppatore dovrà pensare un bel po’ per prevedere cosa l’utente dovrà fare con il programma, e dovrà decidere anche come gestire tutti i casi che non ha previsto quando ha scritto il programma.
Quest’ultima situazione può esser utile per mostrare messaggi di errore all’utente, come ad esempio “non puoi fare questa cosa”.
A questo punto possiamo riassumere dicendo che:
un programma è un insieme di istruzioni scritte in un linguaggio di programmazione che “spiega” al computer cosa dovrà fare quando l’utente lo avvia.
Per fare funzionare un programma però non basta scrivere il codice.
Bisogna anche “tradurlo” in istruzioni ancora più precise per le varie parti che compongono il computer, a cominciare dal processore, che è il “cervello” del computer.
Questa operazione si chiama “compilazione”, e permette di ottenere un programma effettivamente eseguibile sul tuo computer, cioè che il computer riconosce come qualcosa di avviabile.
Ti sarà senz’altro capitato di trovare, in Windows, dei file che finiscono per “.exe”.
Quelli sono i file che puoi eseguire, che puoi lanciare.
Questi file sono il nodo del nostro discorso, il punto centrale di questo articolo, ed ecco perché avevo bisogno di farti capire tutte queste cose.
E’ presto detto: da un file eseguibile, quello che dicevamo che puoi usare per eseguire il programma, il famoso “.exe”, non è possibile risalire esattamente al codice, cioè al codice di programmazione che lo ha generato.
“E perché questo è un problema per me?”, ti starai chiedendo?
Non è detto che sia un problema, di per sé, ma può diventarlo. Qui parliamo di scelte etiche nell’informatica, ricordi? E questo modo di fare i programmi non è il migliore dal punto di vista dell’etica. Ti spiego perché con un esempio.
Immaginati di andare ad un ristorante. Chiamiamolo “Da Mario”.
Mario fa dei piatti squisiti: ti saziano, deliziano il tuo palato e ne vorresti mangiare sempre di più. Nessun problema, dirai tu. Il problema nasce quando Mario ti comunica che non ti dirà mai come ha fatto quei piatti, è un suo segreto!
Tu non riuscirai mai a capire cos’hai nel piatto, nemmeno dopo averlo mangiato, perché non riconosci gli ingredienti, e non hai idea di cosa siano quei cibi. Puoi fare delle supposizioni, ma Mario non ti dice gli ingredienti, non ti dice la quantità di ogni singolo ingrediente, i tempi di cottura, e insomma nulla di nulla. Puoi solo ordinare il piatto e fidarti di com’è fatto, senza neanche sapere cosa stai mangiando.
E se tu fossi allergico a qualcosa? Potresti solo sperare che nel piatto che Mario ti sta servendo non ci siano ingredienti che ti fanno male. Mario probabilmente non ti ucciderà, non è nel suo interesse perché vuole che tu torni a mangiare da lui, ma da parte tua questo significa dare una fiducia completa e incondizionata a Mario, senza che tu possa nemmeno verificare se ti sta dicendo la verità su cosa sta cucinando. Una prova di fiducia davvero impegnativa!
Oltretutto, se vuoi continuare a mangiare così bene dovrai per forza tornare da Mario. D’altra parte è lui che sa cucinare splendidamente, giusto?
Ora immagina che dall’altra parte della strada ci sia il ristorante da Enzo, un ristorante del tutto diverso.
Lì piatti sono altrettanto buoni, ti saziano, deliziano il tuo palato, ma c’è una differenza fondamentale rispetto a Mario.
Enzo ha una cucina particolare: nel suo ristorante non ci sono muri, e puoi vedere come vengono preparati i piatti. Di più: Enzo ti chiama proprio in cucina, ti mette a disposizione la lista degli ingredienti, e ti da informazioni sugli ingredienti usati, su come li ha messi insieme, i tempi di cottura e tutto il resto. Se lo vuoi, puoi addirittura portarti a casa gli ingredienti e cucinare tu stesso i piatti di Enzo, seguendo le sue istruzioni. E sei anche libero di modificare la ricetta di Enzo come preferisci.
In questo modo, potrai cucinare tu stesso le prelibatezze di Enzo o inventarne di nuove, ogni volta che vorrai, anche a casa tua.
In quale dei due ristoranti ti sentiresti più tranquillo a mangiare, con il tuo problema di allergie?
Nella vita reale, il ristorante da Mario sono i programmi che utilizziamo in tanti, i programmi a “codice chiuso”: li puoi usare, ma non sai come sono fatti. Il codice che li ha generati non è a tua disposizione, non puoi sapere cosa ci sia dentro: è di proprietà dell’azienda che l’ha creato. Tu puoi solo fidarti completamente dell’azienda, dandole fiducia completa e incondizionata su come tratta te e i tuoi dati. Questa strategia commerciale consente alle aziende di assicurarsi che tu possa comprare da loro il programma, e che nessuno possa riprodurlo, dovendolo per forza acquistare da loro. E sappiamo che prima o poi uscirà un aggiornamento o una nuova versione del programma, che dovrai pagare per avere..
Il ristorante da Enzo, invece, nella vita reale corrisponde a programmi di un tipo diverso: si chiamano “Open Source”, che in italiano si può tradurre con programmi “a codice aperto”.
Ma c’è un altro nome, ancora più bello e profondo, per definire i programmi che si comportano come la cucina di Enzo: “Software Libero”. Significa che Enzo ti garantisce, prima di tutto, la tua libertà. Sei libero di leggere la sua ricetta, libero di modificarla se non ti piace un ingrediente, e libero di prepararla per i tuoi amici senza chiedere il permesso a nessuno, tantomeno a Enzo (la ricetta te l’ha messa a disposizione, ricordi?). Con Enzo (e il software libero) non sei più un cliente prigioniero di un segreto commerciale, sei una persona libera di fare ciò che deve fare un utente: usare un programma come più gli piace e fare quello che desidera con il codice che l’ha generato.
Ricapitoliamo: un programma di questo tipo (open source – software libero) ha alcune caratteristiche fondamentali che lo rendono diverso dagli altri:
- puoi conoscere il codice con cui è stato sviluppato (che è appunto “aperto”, nel senso di disponibile: il programmatore lo rende pubblico).
- puoi usare quel codice e farne quello che vuoi (letteralmente).
- se modifichi quel codice e vuoi metterlo a disposizione degli altri (magari per migliorarlo) sei tenuto a ricondividerlo allo stesso modo (codice aperto).
Che ne dici, una bella differenza, vero?
L’open source è già tutto intorno a noi. Sicuramente avrai usato almeno un programma open source nella tua vita, ma forse non ne sei stato consapevole.
Nel prossimo articolo vedremo in dettagli tutti i vantaggi (e gli svantaggi) che questo tipo di programmi offre, e cercheremo di capire perché (solitamente) sono la scelta eticamente più adatta nel 2026.
Nel frattempo, fammi sapere se conoscevi già la differenza tra programmi a codice chiuso e a codice aperto, e se ti entusiasma l’idea che esista una via d’uscita etica al potere delle aziende multimiliardarie che ti stanno usando per i loro affari.
Lascia un commento