C’era una volta l’Open Source

In un momento in cui non si fa che parlare di NFT e della rivoluzione del concetto di proprietà di oggetti non fisici che sta avvenendo, trova ancora spazio un approccio che si basa sulla creazione di software da mettere a disposizione in modo gratuito?

Riccardo  Dalla Via
Riccardo Dalla Via Associate, Web Developer
Maggio 18, 2022
  • Open source

In un momento in cui non si fa che parlare di NFT e della rivoluzione del concetto di proprietà di oggetti non fisici che sta avvenendo, trova ancora spazio un approccio che si basa sulla creazione di software da mettere a disposizione in modo gratuito

 

Parliamo, nello specifico, di Open Source. Quali sono oggi i benefici di questa tipologia di software?

 

Se sei un’azienda che sviluppa siti web, applicazioni mobile o desktop, allora quasi sicuramente hai capito che si parla di Open Source perché già usi regolarmente decine di progetti messi a disposizione di tutti.

 

Per tutti gli altri proviamo a fare un po’ di chiarezza. 


Che cosa intendiamo con “Open Source”?


Per tutti coloro che non hanno familiarità con l’Open Source, parliamo letteralmente di “codice aperto” o software libero, cioè una qualsiasi porzione di codice di programmazione sorgente reso pubblico tramite un’apposita piattaforma di distribuzione, come ad esempio GitHub, senza restrizioni rispetto alla possibilità di modifica e ridistribuzione.

 

Nell’Open Source non sono previsti limiti di utilizzo o quantità predefinite di codice modificabile: si va dalla singola riga fino ad interi linguaggi di programmazione o framework di sviluppo. Un esempio? JavaScript, uno dei linguaggi di programmazione più usati, che ad oggi rappresenta la base di sviluppo del 97% delle piattaforme web.

Si tratta di un vero e proprio movimento sociale, quello del “free software”, che nasce all’inizio degli anni ’70 a Berkeley grazie al ricercatore universitario Richard Stallman, che con il suo GNU Manifesto diventa il profeta di riferimento della cultura hacker. Alla base della sua rivoluzionaria ideologia un concetto semplice e potentissimo al tempo stesso: i software devono essere liberi per tutti, e quindi anche gratuiti.

 

Questo tipo di approccio, che caratterizza da sempre il mondo dello sviluppo software, genera strumenti capaci di evolversi nel tempo, trovando sempre nuove applicazioni.

 

A questo modello ormai contribuiscono realtà di tutti i tipi, da colossi come Google, Meta e Intel, ad aziende più di nicchia, come Spatie. E sempre più sono le organizzazioni non-profit create con lo scopo di manutenere e tenere aggiornati i più grandi linguaggi e framework Open Source.


Ha sempre senso affidarsi alla modalità Open Source?

 

Utilizzare l’Open Source, prodotto da terzi o fornito direttamente dai framework più diffusi, permette non solo di eliminare alcune attività di sviluppo ripetitive, con un vantaggio in termini di tempo, ma anche di risolvere alcuni dei problemi più comuni nei progetti, dalla gestione dei metodi di autenticazione fino alla definizione del layout delle pagine.

 

La nostra esperienza sul campo ci ha permesso di capire quando l’Open Source rappresenta realmente un vantaggio in un progetto. Dal nostro punto di vista sono tre gli aspetti principali da tenere a mente per capire se ha senso fare ricorso a software liberi.

1. Chi fa da sé fa per tre… quasi sempre

Sviluppare in casa tutte le funzionalità permette di avere maggiore controllo sull’output finale, ma non sempre è la decisione più efficace. Spesso le soluzioni più sicure per risolvere problemi noti esistono già all’esterno, e sono state create e testate da un campione di utenti maggiore rispetto a quanto si potrebbe fare all’interno del proprio team aziendale.

2. Chi ben comincia è già a metà dell’opera

Saper individuare correttamente i progetti Open Source più adatti alle proprie esigenze è un passaggio cruciale che richiede una buona dose di conoscenza e competenza. Il modo migliore di acquisire questa esperienza è sicuramente quello di collaborare attivamente alla realtà Open Source.

3. E per finire… safety first

La sicurezza è un aspetto fondamentale, soprattutto quando si tratta di integrare nei propri progetti codice fornito da terze parti. Valutare correttamente la provenienza del codice, il tipo di test a cui è già stato sottoposto e l’affidabilità della community che lo gestisce fa la differenza. Inoltre, per far sì che questo meccanismo di libera contribuzione sia efficace e sempre sicuro, è necessario che tutti gli sviluppatori contribuiscano tempestivamente a segnalare eventuali vulnerabilità.


Scegliere un approccio ibrido per sfruttare il valore dell’open source contribuendo al suo sviluppo

 

Come tutte le filosofie rivoluzionarie, anche il mondo Open Source ha le sue luci e ombre. Il materiale messo a disposizione gratuitamente è estremamente vario e non tutti i progetti sono di buona qualità. A volte si trovano soluzioni incomplete, oppure poco utilizzate e testate; in alcuni casi invece non sono disponibili software capaci di rispondere alle diverse necessità progettuali.

 

Quando questo accade, è necessario implementare in casa il codice. Ecco quindi che ha senso utilizzare un approccio ibrido che permette di astrarre una porzione di codice e renderla pubblica, in modo da poterla agganciare a più progetti.

 

Scegliere di contribuire attivamente alla community, con un approccio allo sviluppo ibrido tra software proprietario e progetti Open Source, ci ha permesso non solo di alzare la qualità del codice reso pubblico (che una volta condiviso può ricevere decine di contributi da sviluppatori di tutto il mondo), ma ci ha consentito anche di confrontarci con il mondo esterno, fatto di tanti punti di vista diversi, eliminando così il rischio di fossilizzarci sui nostri modelli.


Inoltre, rendere pubblico il codice delle nostre soluzioni ha reso il nostro processo di innovazione più efficace e trasparente. Questo approccio per noi era già noto, perché molto simile all’open innovation, secondo cui chiunque — compreso chi non partecipa al progetto o non fa parte dell’azienda — ha la possibilità di proporre idee capaci di migliorare o espandere la soluzione.

 

La diffusione di questo modello fa sì che molti progetti, partiti in tutto il mondo come dei semplici tentativi di ricerca interna, siano stati poi capaci di diventare delle vere pietre miliari nel mondo dello sviluppo. Un esempio su tutti è quello di Kubernetes.


Collaborazione, condivisione e visibilità

 

Un’altra cosa che abbiamo notato è che all’interno della nostra azienda si è generata una più proficua collaborazione tra team di sviluppo, anche nei casi in cui si lavora contemporaneamente a più progetti diversi, producendo una crescita delle competenze come risultato del continuo confronto.

 

Per noi, adottare un approccio Open Source ha significato anche ampliare il nostro network ed entrare in contatto diretto con una community sconfinata e caratterizzata da un altissimo livello di conoscenze tecniche con cui confrontarci e da cui imparare costantemente.


Per saperne di più visita il nostro account GitHub, oppure scrivici a: innovation@h-farm.com