Prima di decretare un “vincitore”, capiremo per bene che cosa si intenda per Open Source o Closed Source. Seguici!

Se c’è qualcosa su cui tutti concordano è il fatto che Android di Google sia un sistema “aperto” mentre iOS di Apple sia un sistema chiuso. Stesso discorso per Linux e Windows. Software “Open Source” o “Closed” possono significare molte cose, cerchiamo di capirlo insieme.

Che cosa significa Open Source e perché scegliere questo sistema

La definizione di Open Source in informatica indica tutti quei software che non sono coperti da copyright e che sono liberamente modificabili dagli utenti. Chi detiene i diritti del software, in pratica, rende pubblico il codice sorgente del programma, favorendone il libero studio e permettendo a programmatori indipendenti di apportarvi modifiche o estensioni.
Tutto questo è regolato tramite l’applicazione di apposite “licenze” d’uso open source: una sorta di contratto con il quale il titolare dei diritti del software decide come possa circolare e le eventuali limitazioni nel suo utilizzo. Tra le licenze open source più famose troviamo la GNU (General Public License), la licenza BSD e la licenza Apache.

Il portabandiera del software libero è Richard Stallman, un programmatore che nel 1985 fondò la Free Software Foundation, una organizzazione senza fini di lucro per lo sviluppo e la distribuzione di software libero.

Scegliere un sistema operativo o un software open source, quindi, significa lavorare con un programma il cui codice è visibile a tutti e che, quindi, può essere controllato e verificato da chiunque.
Dall’altra parte, però, la filosofia open source pone diversi problemi per la monetizzazione del proprio prodotto e ciò potrebbe inficiare la qualità del risultato finale.
Si cerca quindi di ovviare a questo tramite donazioni degli utenti all’ente che ha realizzato il codice originario, servizi di supporto a pagamento (il programma è gratuito, ma non l’assistenza), sponsorizzazioni e didattica (se il prodotto è particolarmente complesso, lo sviluppatore può guadagnare tramite l’organizzazione di corsi di apprendimento del prodotto stesso).

Closed Source, ovvero software proprietario: che cosa significa e perché sceglierlo

Il software proprietario o “closed source” è un software la cui licenza consente l’utilizzo sotto particolari condizioni ed impedendone altre come lo studio, la modifica, la condivisione, la ridistribuzione o l’ingegneria inversa. Il codice sorgente di un software proprietario solitamente non viene diffuso e viene ritenuto un segreto commerciale.

Per poter essere utilizzato, un software proprietario deve essere acquistato. Ciò permette allo sviluppatore, persona singola o azienda, di ottenere un flusso sicuro di introiti da poter riversare in assistenza del prodotto (spesso gratuita) o nell’allestimento di un gruppo di sviluppatori professionisti ed assunti in pianta stabile che possano far fronte immediatamente alle varie criticità.

Da una parte, quindi, abbiamo una maggior sicurezza per quanto concerne assistenza immediata e supporto tecnico, dall’altra non abbiamo nessuna informazione su quanto stia succedendo “sotto al cofano” del nostro programma, né possiamo studiarne il suo funzionamento tramite l’analisi del suo codice.

Android vs Apple: open source (parziale) vs closed source

Android può essere definito aperto per diverse ragioni. Questo sistema operativo è basato sul codice dell’Android Open Source Project (AOSP) il quale, come dice il nome, è open source: chiunque voglia può prenderlo e creare un “proprio Android”.

Ciò che però noi vediamo come Android nei nostri cellulari è dato dal lavoro di Google, che modifica il codice open dell’AOSP aggiungendo tutti i propri servizi che sono, appunto, proprietari.
Per questo parliamo di software parzialmente open.

Dall’altra parte, iOS di Apple è un sistema operativo completamente chiuso. Non c’è nessuna possibilità di creare un nuovo sistema operativo dall’originale.

Su Android, inoltre, basta andare nelle impostazioni per abilitare l’installazione di app che non provengono dallo store; su iOS ciò è virtualmente impossibile.

Lo stesso discorso può essere fatto anche per quanto concerne la modifica dell’aspetto esteriore del sistema operativo e la possibilità di accedere a risorse più “profonde” e riservate agli esperti e agli sviluppatori.