Linux (logo da Wikipedia)

Trent’anni fa, il 25 agosto del 1991, un giovane studente finlandese mandò una storica email a un gruppo di sviluppatori hobbysti intitolata “Cosa vi piacerebbe vedere di più in Minix?”. Il giovane studente era Linus Torvalds e quell’email è considerata l’atto di nascita di Linux, il sistema operativo open source che da piccolo hobby di un gruppo di giovanissimi hacker all’alba di internet è diventata l’architrave della rete e uno dei tre progetti open source più di successo al mondo oltre che uno dei più grandi. Infatti, il kernel di Linux, cioè il motore del sistema operativo (e la parte comune a tutte le varie distribuzioni gratuite disponibili) è diventato un progetto da poco più di 27.8 milioni di righe di codice, a cui contribuisce un’armata di 14mila sviluppatori sparsi in tutto il mondo.

La storica email di Linus Torvalds per presentare la sua versione di Minix. L'idea di chiamare il sistema operativo Linux non è stata sua
La storica email di Linus Torvalds per presentare la sua versione di Minix. L’idea di chiamare il sistema operativo Linux non è stata sua ma di alcuni volontari.

La scelta di Torvalds di sviluppare in maniera free, open e collaborativa il kernel di Linux ha consentito a un altro grande progetto open source, il sistema operativo Gnu, pensato da Richard Stallman ma che non riusciva a decollare, di trovare il suo motore e diventare un rimpiazzo gratuito per Unix, all’epoca “il” sistema operativo (a pagamento) usato sui server e nei centri di calcolo.

Trent’anni dopo, però, cos’è successo? Si fa presto a dire che Linux ha vinto: in realtà ha anche perso alcune grandi battaglie. La sua valutazione di mercato era di 3,89 miliardi di dollari nel 2019 (secondo Fortune), il suo valore cresce del 19,2% all’anno (Cagr) e nel 2027 raggiungerò il traguardo dei 15,64 miliardi di dollari. Al tempo stesso, la sua quota di mercato nel settore desktop e portatili è attorno al 2,38%, il doppio di Chrome Os (che non sommiamo perché pur essendo basato su Linux ha uno strato proprietario di servizi di Google) ma molto sotto i due principali sistemi operativi “closed source”: Windows (73%)e macOs (15,4%). Insomma, dopo trent’anni Linux ha sicuramente vinto ai punti ma non per ko. Vediamo perché.

La mappa del kernel di Linux (fonte Wikipedia)
La mappa del kernel di Linux (fonte Wikipedia)

Le 5 grandi vittorie

1 – Il sistema operativo più diffuso oltre al pc

Linux ha sdoganato l’idea che possa esistere un sistema operativo open. Nel mondo del software questa è stata la seconda grande rivoluzione dopo quella di Microsoft degli anni Settanta (cioè che il software ha più valore dell’hardware). L’importanza di essere aperti fin nei dettagli (e non fornire solo delle Apie delle specifiche di sviluppo per le terze parti) è la ricetta segreta del successo di Linux e la cosa che gli ha permesso di essere estremamente efficace per la costruzione di strumenti sofisticatissimi.

Non a caso Linux è la piattaforma standard per una marea di apparecchi e strumenti digitali oltre ai pc e ai server: dal router di casa all’auto della Tesla, dalla webcam alle fotocamere digitali. Il mondo dell’embedded è quasi totalmente Linux e questo è possibile perché tutti hanno potuto lavorare al suo sviluppo e verificare che funzioni. Oggi i grandi sviluppano linguaggi di programmazione (Go, Swift), framework, middleware open source per continuare a sfruttare il valore di essere open. L’apertura completa è la versione “fatta bene” della cosiddetta Api Economy, che invece si basa sul monopolio dei servizi esposti dai fornitori.

2 – Linux è Gnu

L’idea del free software o del software open arriva prima di Linux: Richard Stallman è stato il suo ideologo ma non è riuscito a trasformarla in una proposizione vincente sul mercato. C’è riuscito Torvalds con Linux, che ha ridato vita al progetto Gnu di Stallman diventandone il motore e insieme ad Apache è il vero grande diffusore dell’idea del free software (ma non chiedetelo a Stallman perché lui vi dirà di no).

Linux ha sdoganato l’idea che i software open non sono solo degli hobby ma anche degli strumenti scientifici e industriali sofisticati.

3 – Internet ama Linux

L’infrastruttura di internet è storicamente basata su server Unix e sistemi di routing dei dati che hanno utilizzato Unix o altri sistemi operativi proprietari. Tuttavia, è con l’arrivo di Linux che si è sviluppato il “vero” paradigma di internet: senza Linux milioni di startup non avrebbero potuto entrare in affari, da piccolissimi provider che hanno portato per la prima volta la connettività nelle case di milioni di persone negli anni Novanta ai primi servizi e aziende online.

Per esempio, il motore di ricerca di Google esisterebbe solo come tesi di dottorato se non fosse stato possibile riciclare migliaia e migliaia di vecchi pc con Linux per trasformarli nella prima, grande “server farm”. Se Microsoft o Apple volessero sviluppare da zero Linux dovrebbero investire almeno 14,7 miliardi di dollari in stipendi di programmatori per riuscirci.

4 – Un mondo standard

Trent’anni fa, quando è nato Linux, c’erano decine di versioni di Unix incompatibili tra loro. È una fase dello sviluppo della tecnologia che viene chiamato “guerra degli Unix” e che ha segnato profondamente quella storia che non si studia sui banchi di scuola o all’università, e tuttavia è critica per lo sviluppo di interi settori industriali oggi dipendenti dal digitale. Linux ha introdotto una varietà di possibili utilizzi con un unico sistema operativo sempre aperto e compatibile, a cui tutti hanno potuto contribuire. Qualcosa di più di uno standard aperto.

5 – Il futuro del cloud

L’idea di “macchine virtuali” è molto vecchia, è nata negli anni Sessanta in Ibm. E quella di internet come sistema operativo è dei geni di Sun Microsystems (“The network is the computer“). Ma se guardiamo a tutte le tecnologie del cloud che negli ultimi cinque anni hanno radicalmente trasformato internet, cioè i container e i microservizi, l’unico punto in comune è che sono tutte basate su Linux.

La piattaforma creata da Torvalds è quella che permette anche la trasformazione nel modo con il quale si costruisce il software online e offline: DevOps, Ci/Cd (le pratiche combinate di integrazione continua e distribuzione continua del software) e tutti i flussi di lavoro e le tecnologie che oggi permettono il funzionamento di servizi come Google Cloud e Netflix si basano su innovazioni rese possibili, in ultima analisi, da Linux.

Linus Torvalds
A 21 anni, Torvalds era un vero geek e come tale si è comportato: ha creato il suo sistema operativo, lo ha messo in Rete e ha chiesto ai suoi simili di partecipare al suo sviluppo. Parliamo di Linux, ovviamente (foto: AFP)

Le 5 sconfitte di Linux

Le sconfitte di Linux sono politiche, non tecnologiche. Ma non per questo bruciano meno. E in alcuni casi ci vuole un attimo per capire perché il sistema operativo nato per essere il campione del mondo open source sia in realtà diventato lo strato gratuito di alcune delle più grandi piattaforme proprietarie

1 – Pochissimo mercato desktop

Nonostante lo sforzo dei volontari e la passione europea (soprattutto in Germania) per l’uso dei sistemi operativi e dei software open source per la pubblica amministrazione, in realtà Linux non ha mai sfondato nel mondo dei personal computer, cioè dei sistemi operativi per la produttività personale. La sua quota di mercato è relativamente molto piccola ed è poco diffuso.

Ed è un vero peccato, perché ci sono distribuzioni mirate che sono più facili da usare di Windows, ambienti con desktop manager e gestori del sistema strutturati per essere come, se non meglio, di quelli di macOS. Però alla fine chi compra un pc lo fa con Windows già caricato a bordo, oppure prende un Mac. Che, oggi, con il nuovo chip proprietario Apple Silicon, è diventato un po’ meno compatibile con Linux di prima (ma non temete: la community ci sta lavorando). In conclusione: la promessa di avere Linux nei personal computer della metà degli utenti del pianeta non si è realizzata. Peccato.

2 – Non è più veramente “open”

Linux ha perso anche una battaglia ideologica molto importante: il sistema operativo “open” e “free” per definizione, alfiere di un sistema in cui tutti possono vedere il codice sorgente del software e modificarlo a piacimento, è diventato la base di una serie di piattaforme chiuse. E questo non è un bene.

La licenza di distribuzione e d’uso di Linux non è stata pensata per impedire che, per esempio, Google lo usi sui suoi server e sui telefoni Android, Amazon sul suo cloud, Ibm sui suoi server. Però gli utilizzatori di Linux in questo caso lo sfruttano per costruire piattaforme proprietarie. Il lavoro gratuito di migliaia e migliaia di sviluppatori volontari è stato usato per arricchire i proprietari del codice e Linux è diventato (anche) una commodity che fa il gioco dei big tech, senza ricevere niente in cambio.

3- L’influenza (negativa) dei big del tech

Chi sono i più grandi contributori del codice del kernel di Linux e delle varie componenti open source? La leggenda vuole che siano studenti e giovani programmatori volontari di tutto il pianeta che, mossi dalla loro etica, si dedicano gratuitamente al grande progetto “open”. Non è più così.

La realtà invece è che grandi aziende come Intel, Ibm, Samsung, Oracle, Google, Amazon e da qualche tempo anche Microsoft (ma non dimentichiamoci di Hp e decine di altri) pagano i loro dipendenti per lavorare in orario di ufficio a Linux e completare una serie di componenti del kernel e di altre parti del sistema operativo open. Diventando anche responsabili di determinate aree o di nuovi progetti. Lo scopo? È riassunto nel vecchio detto: “Se non puoi combatterli, unisciti a loro“.

Intel, Ibm, Microsoft e tutti gli altri vogliono che Linux vada nella direzione tecnologica che conviene a loro, che supporti le loro tecnologie e hardware, che insomma sia un sistema fatto a loro immagine e somiglianza. Così, i Linux Day (e gli Install Day), i vecchi appassionati che girano a fare proseliti e insegnare ai “newbie” come installare Ubuntu o la Debian e le altre attività della community di volontari (compresi gli adesivi gratuiti che gli studenti appiccicano sul coperchio del loro pc) sono diventati una specie di facciata folkloristica.

4 – Spaghetti code

L’espressione, chiariamolo subito, è provocatoria e palesemente esagerata: “spaghetti code” era il termine usato negli anni Settanta e successivi per indicare programmi il cui codice sorgente era confuso e confusionario, soprattutto per l’uso del goto al posto dei costrutti della programmazione strutturato. Lo sviluppo di Linux gestito ancora da Linus Torvalds è fantastico, ma non così il mondo delle distribuzioni e soprattutto la documentazione per gli utenti finali. Là regna il caos.

Accanto ad alcune distribuzioni “maggiori” che curano particolarmente la documentazione, c’è un vero e proprio spezzatino in cui trovare la tecnologia o l’informazione che serve diventa un incubo. Senza contare che le distribuzioni e i software open collegati vanno a mode: per un periodo hanno centinaia di sviluppatori e poi vengono abbandonate, lasciando gli utenti finali nei pasticci.

5 – Il kernel sbagliato

Quando Linus Torvalds ha deciso di creare Linux, era all’università e l’ha fatto in polemica con un famoso professore di sistemi operativi, Andrew S. Tanenbaum, una specie di superstar del settore nonché il creatore del sistema operativo “didattico” Minix, che era una alternativa accademica nettamente migliore di Unix. Al centro della scelta per l’architettura di Linux fatta da Torvalds c’è stata quella di sviluppare un kernel di tipo monolitico (anche se poi modularizzato).

Invece, Tanenbaum aveva e ha dimostrato che l’approccio opposto, cioè con un micro-kernel, è superiore e avrebbe reso Linux molto più efficace e più adatto sia ai processori multicore (che nel 1991 non erano ancora una opzione) e in prospettiva per i servizi distribuiti nel cloud. Linux ha vinto una battaglia che sarebbe stato meglio aver perso.

The post 5 vittorie e 5 sconfitte dei primi trent’anni di Linux appeared first on Wired.



Leggi l’articolo su wired.it