Che cos’è il modello Open Source?
Il termine open-source, che si traduce con risorse libere, è associato a molte parole.
Modello open source, software open source, atteggiamento open source e persino filosofia open source. Sono alcune delle espressioni che possiamo sentire e leggere al giorno d’oggi.
Il dibattito sull’argomento è così ampio che la vita di un essere umano non è sufficiente per entrare in tutti i suoi aspetti e in tutti i suoi meandri.
Quindi quello che vedi in questa lezione è solo un accenno e nient’altro.
Non hai accesso al codice
Avrai notato che di solito non hai accesso al codice principale dei programmi che usi.
Puoi installare e usare l’app Instagram sul tuo telefono o fare la tua presentazione PowerPoint, ma non puoi vedere il codice originale e apportare modifiche a queste app.
Probabilmente non pensi che ti riguardi.
Se prevedi di condividere un’app per il photosharing, creare un’app per checklist o scrivere una presentazione, accetti di iniziare quasi tutto da zero.
Prima non era concepibile che un programmatore consegnasse il codice al cliente e il cliente potesse usarlo in qualsiasi modo volesse.
Netscape è stata l’azienda che ha cambiato la situazione con una mossa senza precedenti.
Il primo software di questo tipo
Circa due decenni fa, il software Netscape Communicator era uno dei browser web più popolari. In termini di
diffusione, puoi pensarlo come qualcosa come Chrome o Edge nel mondo di oggi.
Ma Netscape ha reso disponibile gratuitamente al pubblico tutto il codice del programma.
Immagina di poter cambiare il programma ovunque tu voglia. Oppure di poter inserire parti del codice nel tuo programma.
In precedenza c’erano stati esempi minori di questo. Richard Stallman lo aveva fatto per un software accademico chiamato GNU. Ma per un’azienda farlo è una cosa diversa e strana.
Nessuno sapeva quale nome scegliere per un lavoro simile. Tuttavia, il nome adatto per questo lavoro è stato chiaro quasi fin da subito: Open-source.
Un tipo di versione di software che oggi conosciamo ha lo stesso nome.
Che cosa si intende per software e per modello open source?
A quel tempo, un programmatore di nome Bruce Perens sviluppò e pubblicò le regole generali del software open source. In un articolo recente, ha sottolineato che dobbiamo ricordare che gli sviluppatori di questa idea sono debitori di Richard Stallman (+).
La caratteristica più importante del software open source è che il codice del programma è completamente accessibile a tutti. Anche se non ricevi il codice quando lo scarichi, di solito puoi facilmente trovarlo e utilizzarlo da qualche parte sul web.
È possibile apportare tutte le modifiche desiderate al codice del software open source. Puoi persino utilizzare il codice software open source gratuito nel software commerciale che vendi.
Pertanto, l’uso di questi codici non è limitato alle applicazioni non commerciali.
Definizione precisa
Per il software open source, sono state definite dieci regole. Eccone alcune:
- Consenti la ridistribuzione del software da parte di altri (gratuitamente o come parte di un software commerciale).
- Rendi disponibile il codice.
- Trattamento non discriminatorio di individui, gruppi e progetti (a nessun gruppo può essere negato l’accesso a questi software).
- Evita di imporre restrizioni ai fornitori di pacchetti ibridi (non puoi dire: “ora che ho scritto il mio software open-source, tu, che usi il mio programma nel tuo codice, dovresti rendere open-source anche il resto delle parti”).
Insomma, l’autore del software open source lancia il suo prodotto nell’ecosistema mondiale del software e non se ne considera il proprietario. In questo modo, l’intera industria del software crescerà più velocemente e meglio.
Qual è il modello opposto?
Il termine Software proprietario viene utilizzato per il software in cui sono riconosciuti i diritti di proprietà dello sviluppatore.
Software come Adobe Photoshop e Microsoft PowerPoint sono software proprietario.
Molti dei software che hai sul tuo cellulare sono di tipo proprietario.
In questo tipo di software, sei solo un utente e solitamente nell’accordo che accetti durante l’installazione dichiari che userai il software solo rispettando le condizioni dello sviluppatore del software.
Alcuni esempi
Il cuore del sistema operativo Linux Kernel e il cuore del sistema operativo Android sono tra i più noti software open source.
Naturalmente, tieni presente che di solito quando acquisti un telefono Android, molti software proprietari vengono aggiunti a questo kernel Open-source.
Ad esempio, sebbene Google abbia lasciato completamente aperto il nucleo (o kernel) di Android, le società di telefonia mobile devono ottenere una licenza da Google per installare Google Play, Google Maps e Gmail. Il nome di questa licenza è GMS (o Google Mobile Services) e Google può non concedere questa licenza a un produttore se lo ritiene opportuno.
Il browser Firefox e il software WordPress e il sistema di gestione del database MySQL sono altri esempi di software open source.
Dov’è il guadagno?
La prima cosa da tenere a mente è che essere open source non significa essere gratis.
Ciò significa che non dobbiamo confondere i due concetti.
In questo momento hai molte applicazioni sul tuo cellulare che hai installato gratuitamente (ad esempio Snapchat, Instagram e altre ancora). Ma non hai accesso al loro codice.
Molti fornitori di software open source, d’altra parte, addebitano ai clienti servizi come installazione, risoluzione dei problemi e personalizzazione dei prodotti.
Inoltre, tieni presente attorno al settore open source orbitano molte attività collaterali.
Ad esempio, WordPress è una piattaforma open source. Ma molte persone scrivono plugin e temi per quei plugin e ci guadagnano denaro e non hanno restrizioni sulla vendita del loro software (non dimenticare che è consentito l’uso commerciale di prodotti Open-source non commerciali)
Qual è il vantaggio?
Oggi, quando guardiamo i Wiki (e Wikipedia in particolare), possiamo facilmente vedere i punti deboli e i punti di forza della collaborazione.
Nel fornire software open-source, praticamente i programmatori di tutto il mondo lavorano insieme e tutti sviluppano parte del programma. Pertanto, questi software si evolvono gradualmente e il loro design e sviluppo non è limitato al team specifico di un’azienda.
Naturalmente, dobbiamo anche ricordare i limiti.
Ad esempio, WordPress stesso è un sistema molto sicuro e, anche se ci sono falle di sicurezza, verrà rapidamente risolto da milioni di programmatori in tutto il mondo. Ma tieni presente che molti siti, oltre al kernel di WordPress, utilizzano una varietà di plugin scritti da altri programmatori che nel loro codice. Potrebbero avere problemi di sicurezza o potrebbero non essere adeguatamente conformi ai protocolli di sicurezza.
Quindi, quando parliamo della sicurezza del kernel di WordPress o del kernel di Android, non significa necessariamente che ogni sistema basato su di essi sia sicuro.
Se hai familiarità con l’argomento del software open source, ci sono altri punti che vorresti condividere nel forum di questa lezione con i tuoi amici per i quali si tratta di un concetto nuovo?
Naturalmente, non ci aspettiamo spiegazioni specializzate o copie di contenuti di altri siti. Piuttosto, è meglio una spiegazione semplice che pensi possa essere utile quanto le lezioni di alfabetizzazione digitale.