Software open source e software closed-source: qual è la differenza?
Come appassionato di software, devi aver letto i termini “open-source” e “proprietario” utilizzati su Internet. C’è una differenza tra questi due?
Tutto ciò che vedi sullo schermo è costituito da linguaggio. Qualcuno, da qualche parte, ha scritto parole destinate alla comprensione del tuo computer. Queste parole, questo linguaggio, è noto come codice.
Affinché il nostro computer sappia cosa fare, deve capire quel codice. Se lo fa, può agire. Ma per capire cosa sta effettivamente facendo il nostro computer, dobbiamo anche leggere il codice.
Il software open source ti consente di vedere quel codice. Il software closed-source non lo fa. Quindi, quali sono questi due tipi di software e perché esistono entrambi gli approcci?
Cos’è il software open source?
Il software libero e open source è un software in cui non solo hai accesso a utilizzare liberamente un programma, ma anche a visualizzare, modificare e condividere il suo codice sorgente.
Il codice sorgente si riferisce al codice che una persona (o, in alcune occasioni, un computer) ha digitato durante la creazione di un programma. Questo è distinto dal codice binario, che è il linguaggio effettivo che un computer parla. Quando un programmatore ha finito di scrivere un programma, compila il codice sorgente in un programma binario.
Un essere umano sa come leggere il codice sorgente. Un computer sa leggere il codice binario.
Quando qualcuno distribuisce un programma, in genere fornisce un file binario che è possibile eseguire sul computer. Quel programma non è gratuito e open source a meno che non ti forniscano anche il codice sorgente e la libertà di fare con entrambi in gran parte ciò che desideri.
Cos’è il software closed source?
Il software closed-source è un software il cui utilizzo comporta restrizioni, principalmente l’incapacità di vedere il codice sorgente. Hai accesso solo al file binario.
Il software closed-source è anche noto come software proprietario. Questo perché gli sviluppatori di software considerano il codice sorgente come informazioni private e proprietarie. Fornire a chiunque l’accesso a questo codice, a suo avviso, significherebbe dare agli altri un vantaggio competitivo: la possibilità di copiare e modificare liberamente un programma senza dover assumere uno sviluppatore o un team di sviluppatori per fare lo stesso lavoro.
A meno che tu non sia cresciuto usando Linux, ci sono buone probabilità che la maggior parte del software con cui hai familiarità sia closed source. Questo tipo di software è più facile da monetizzare, rendendolo attraente sia per i piccoli sviluppatori di app che per le grandi aziende.
Un altro segno rivelatore è se è necessario accettare un contratto di licenza con l’utente finale, o EULA, quando si utilizza un programma per la prima volta.
EULA e licenze di software libero
Un computer non è come la maggior parte degli strumenti. Che tu possa spostare un mouse o premere un touchpad non importa molto. Che tu possa premere i pulsanti su una tastiera o guardare uno schermo sono necessari, ma non il punto.
È il codice che conta. Il codice può essere modificato. Il codice può essere copiato. Non c’è alcuna limitazione intrinseca alla capacità di qualcuno di armeggiare e copiare il codice. Un produttore di computer non deve chiederti di non fare una copia del tuo laptop, dal momento che semplicemente non è qualcosa che la maggior parte delle persone può fare. Ma non è particolarmente difficile copiare e ridistribuire il software che arriva sul computer, quindi è qui che entrano in gioco gli EULA restrittivi.
Gli EULA sono tipicamente giganteschi muri di testo che descrivono, in legalese, cosa puoi e non puoi fare con il software che stai per utilizzare. Generalmente impediscono di vedere il codice, ritengono illegale fare copie, richiedono l’acquisto di una licenza o di una chiave di attivazione e spesso dettagliano i modi di utilizzare il software considerato rispetto ai termini di servizio.
Le licenze di software libero non richiedono il tuo consenso contrattuale e invece esistono per dirti che, per la maggior parte, puoi fare quello che vuoi con il programma e il suo codice. Alcune licenze libere, come la GNU General Public License, sono considerate licenze copyleft. La loro principale restrizione sul tuo comportamento è il requisito che tutti i programmi che sviluppi usando il codice disponibile sotto la GPL siano disponibili anche sotto una licenza GPL.
Altre licenze, come la licenza MIT, sono considerate licenze permissive e non vengono fornite con questo requisito. Puoi prendere il codice con licenza MIT e usarlo per creare un programma proprietario, se lo desideri.
In che modo questo influisce su di te
La licenza software del software utilizzato determina ciò che è possibile eseguire sul computer.
Se un programma proprietario ha un bug, o vorresti che avesse una certa funzionalità, la tua unica risorsa è avvisare lo sviluppatore del software e sperare che faccia qualcosa al riguardo. Con il software libero, sei libero di apportare il cambiamento da solo, se hai le conoscenze tecniche. Spesso, anche se non si capisce il codice, c’è una buona probabilità che qualcuno online abbia voluto fare la stessa cosa, o notato lo stesso problema, e fornito istruzioni su come modificare il programma.
Ma la stragrande maggioranza delle persone non ha alcun desiderio di leggere codice o modificare programmi. Quindi questo significa che questo problema non ha un impatto sulla maggior parte delle persone? Appena. Ci sono alcune importanti aree di crescente preoccupazione in cui il software closed source e il software open source ti trattano in modo molto diverso:
Categoria
Software Open Source
Closed-Source Software
Costo
Quasi sempre gratuito da usare senza pagare soldi.
Più probabilità di costare denaro. Quando il software proprietario viene offerto gratuitamente, c’è spesso un rischio. Gli sviluppatori e gli editori spesso monetizzano il programma in un modo diverso, sia visualizzando annunci, monitorando il tuo comportamento, intrufolando software indesiderato (a volte dannoso) sul tuo computer o una combinazione dei tre.
Privacy
Di solito il software più rispettoso della privacy che puoi usare. Se qualcuno tenta di condividere un programma open source che viola la tua privacy, qualcun altro noterà e condividerà una copia con tutto il monitoraggio rimosso. Il rischio di controversie e danni alla reputazione è spesso sufficiente per impedire agli sviluppatori di raccogliere anche dati diagnostici di base considerati comuni tra i software proprietari.
Spesso tiene traccia di come si utilizza il programma. Sui dispositivi mobili, è normale che le app tengano d’occhio la tua posizione e quali altre app hai installato sul tuo telefono. Alcuni guardano il tuo elenco di contatti o scansionano i tuoi file.
Sicurezza
Beneficia del fatto che molti occhi possono vedere il codice. Anche se questo non garantisce che molti occhi stiano effettivamente vedendo il codice quando un exploit colpisce il selvaggio, chiunque abbia lo skillset può contribuire a una correzione e puoi confermare che il problema è stato risolto.
Il software closed-source spesso si basa su un modello di sicurezza chiamato sicurezza attraverso l’oscurità. Ciò non impedisce ai cattivi attori di trovare vulnerabilità e creare exploit. E se lo sviluppatore del software ti rende consapevole di questi exploit, dal momento che non puoi vedere il codice del programma, non puoi confermare se il problema è stato risolto. Devi andare sulla fiducia.
Aggiornamenti
Gli aggiornamenti possono richiedere più tempo per arrivare, poiché lo sviluppo del software dipende spesso dai volontari. Il rovescio della medaglia, le app e le distribuzioni tendono a supportare l’hardware per anni, se non decenni.
A volte arriva più rapidamente poiché spesso c’è un team di dipendenti pagati per lavorare su un progetto a tempo pieno. Tuttavia, il supporto software può terminare bruscamente quando un’azienda fallisce o decide che un software non è più redditizio. Le nuove versioni hanno molte meno probabilità di funzionare su hardware meno recente.
Che tipo di software dovresti usare?
La maggior parte dei computer che trovi nei grandi magazzini sono dotati di software closed-source, e lo stesso vale per i telefoni. Le persone più inclini alla tecnica possono sostituire il loro sistema operativo bloccato con un’alternativa aperta. Per altri, è ancora relativamente facile acquistare un laptop basato su Linux online o scaricare app open source per qualsiasi sistema operativo.
Ma il software libero e open source non ha lo stesso grado di finanziamento ed è generalmente fornito “così com’è”. Mentre è più che capace per molti (se non la maggior parte) casi d’uso, ce ne sono altri in cui i migliori strumenti per il lavoro sono disponibili solo in forma proprietaria.