Come l’open source (ancora una volta) ha cambiato tutto

Passiamo in rassegne alle più grandi innovazioni open source dell’ultimo decennio, da Git e Docker alla scienza dei dati, al cloud… e a Microsoft.

open source

Stiamo per arrivare alla fine di un altro decennio di open source e che viaggio lungo e strano è stato. Leggendo le previsioni fatte nel 2009, nessuno aveva la più pallida idea che GitHub avrebbe cambiato lo sviluppo del software per sempre (e per tutti) o che Microsoft sarebbe diventato il più grande contributore di open source del mondo. Diamo allora un’occhiata ad alcune delle più significative innovazioni open source che ci hanno portati fin qui.

Un futuro… nuvoloso

adv
Investimenti Oracle NetSuite

Prendere decisioni strategiche informate grazie a Business Intelligence e Analytics

Una piattaforma di BI e Analytics deve offrire ai decision maker tutti gli strumenti necessari per migliorare l'efficienza e individuare nuove opportunità prima della concorrenza. Presentiamo una serie di preziose risorse e ricerche in Pdf per approfondire questo argomento da un punto di vista tecnico e strategico. SCARICA LE GUIDE >>

L’open source stava facendo notizia prima del 2010, ovviamente, ma gran parte delle news sull’argomento all’epoca erano “software libero” contro “open source” e azioni legali contro Linux. Il cloud ha cambiato tutto questo. Improvvisamente gli sviluppatori non hanno avuto bisogno di ottenere un pass dall’IT per eseguire il loro codice open source. Proprio come l’open source ha liberato gli sviluppatori dall’approvazione dell’IT, così anche il cloud ha reso gli sviluppatori liberi dall’attrito derivante dall’hardware.

Il cloud, tuttavia, era solo il fattore abilitante. Come evidenzia Corey Quinn, l’infrastruttura è diventata “open source”, anche se non per il fatto che i cloud stessi sono disponibili con una licenza open source: “Funziona su cloud, ma posso prendere un piano Terraform o una configurazione Serverless da GitHub e avere una cosa funzionante quasi istantaneamente”. Le licenze open source e l’accesso rapido all’hardware cloud hanno aperto la produttività degli sviluppatori in modi che potrebbero essere stati debolmente visibili all’inizio del 2010 (dopotutto AWS ha preso il via nel 2006), ma che non sono stati realizzati fino alla fine del decennio.

È tutto merito di Git

“La cosa più grande che è accaduta all’open source nell’ultimo decennio è l’introduzione da parte di GitHub della pull request”, dichiara Tobie Langel. Abilitato dal cloud, continua Langel, “GitHub ha dato visibilità all’open source e ha reso la collaborazione molto più accessibile”. Quella collaborazione è sempre stata il cuore della promessa dell’open source, ma non è stato fino a quando GitHub ha sbloccato l’aspetto sociale di codifica che è diventata reale.

Come sostiene Michael Uzquiano, “prima avevamo il controllo della versione, ma GitHub/Lab ha reso davvero facile a chiunque eseguire il fork del codice, provare le cose e restituire idee. E poi ancora commenti, problemi, approvazione. Git non è nato nell’ultimo decennio, ma come il cloud, non è cresciuto fino agli anni 2010”.

Docker e la rivoluzione dei container

Come il controllo delle versioni e Git, i container non sono affatto un concetto recente. In effetti, l’idea è emersa per la prima volta nel 1979 con chroot (sebbene i semi fossero stati piantati anche prima). Ma è stato Docker, come afferma Steven Vaughan-Nichols, a dare vita ai container: “Docker, o per essere più precisi, la tecnologia Docker, ha trasformato i container da una tecnologia oscura al sostegno di come il software viene consumato oggi. È cambiato tutto”.

Tutto? Beh, sì, almeno per lo sviluppo di applicazioni aziendali e non perché è un modo nuovo di pensare alla virtualizzazione. Come spiega Gordon Haff, “i container pre-Docker/Kubernetes erano solo un’altra tecnica di partizionamento”. La vera magia è iniziata quando Docker ha trasformato l’esperienza degli sviluppatori e da lì le cose sono andate a gonfie vele, portando alla completa reinvenzione della pipeline IC/CD e altro ancora. Un decennio fa nessuno aveva sentito parlare di Docker e Kubernetes. Il mese scorso, oltre 13.000 persone si sono presentate a KubeCon 2019 per esplorare questo moderno mondo di applicazioni che Docker ha contribuito a creare.

La scienza dei dati diventa mainstream

I big data sono sempre stati per lo più un sogno irraggiungibile di tutti (a parte Google) e prima del 2010 abbiamo visto dei seri sforzi per renderlo reale. Abbiamo avuto data mart dagli anni ’70, Business Intelligence un po’ più tardi e abbiamo anche visto Roger Magoulas coniare il termine “big data” nel 2005. Ma nessuno di questi, fino alla fine dello scorso decennio (Hadoop è stato creato nel 2008), ha davvero previsto quanto fossero grandi quei dati e quanto sarebbero diventati importanti i data scientist e i data engineer.

Oggi, l’infrastruttura utilizzata per archiviare e trasmettere grandi volumi di dati è principalmente open source. Che si tratti di database moderni come MongoDB che semplificano il lavoro con dati non strutturati, o di vari strumenti come Apache Kafka utilizzati per spostare i dati, l’open source ha reso possibile la scienza dei dati moderna e quasi tutto ciò è accaduto negli ultimi 10 anni.

Inoltre, gli strumenti che utilizziamo per analizzare i dati sono sempre più open source. In effetti, molti degli strumenti (come TensorFlow) sono stati open source dal primo giorno. Numpy e Scikit-learn sono diventati “onnipresenti”, osserva l’esperto di Python Matt Harrison, e nessuno dei due esisteva nel 2010. L’open source è stato fondamentale per far crescere questo mondo, come suggerisce Jacob Redding: “La scienza dei dati non sarebbe così grande come è ora senza Panda, Scikit, Jupyter e l’intero mondo di R”.

Linguaggi di programmazione open source

Ricordate quando i linguaggi di programmazione erano chiusi? L’ultimo decennio sembra aver chiuso per sempre quella porta, con persino Apple ha ceduto al movimento open source rilasciando Swift. Allo stesso tempo una serie di framework JavaScript (Node.js, Angular, React, Vue, ecc.) è arrivata in un periodo particolarmente fecondo di innovazione di linguaggio e framework. In effetti, accanto a questo mondo di framework JavaScript, abbiamo anche visto sorgere una manciata di nuovi linguaggi di livello inferiore, come Go, Rust e WebAssembly.

Mentre l’inarrestabile marcia di Java verso l’open source è iniziata prima del 2010, l’ultimo decennio ha visto quella spinta guadagnare slancio, con l’implementazione OpenJDK di Java che continua a dare nuova linfa al linguaggio. Guardando al futuro, tuttavia, l’incombente decisione della Corte Suprema sulla questione “Google contro Oracle” avrà ripercussioni enormi. La posta in gioco è ovviamente la protezione da copyright delle API, ma anche il futuro di Java.

Una sorpresa chiamata Microsoft

È interessante notare che Microsoft è coinvolta in quasi tutte queste aree, pur avendo iniziato il decennio sotto la guida di Steve Ballmer con una lotta nemmeno troppo nascosta contro l’open source. Eppure oggi Microsoft è uno dei maggiori contributori dell’open source e ciò ha rappresentato un cambiamento enorme. Oggi molti sviluppatori usano infatti Visual Studio Code come editor di codice open source, TypeScript per creare applicazioni web e GitHub per archiviare il proprio codice. Microsoft possiede tutti e tre.

Sono insomma successe così tante cose in questo decennio (e non abbiamo nemmeno parlato di come Android alimenti gran parte dei dispositivi mobili, o dell’impatto di Let’s Encrypt sul settore delle autorità di certificazione, o di quanto l’open source sia all’avanguardia nel machine learning), eppure c’è ancora molto da fare. La metamorfosi di Microsoft ci ricorda che le organizzazioni e i settori possono cambiare e che è nel nostro interesse personale abbracciare l’open source.