La perdita dei “credits”

Andare a ritroso di decine d’anni nell’evoluzione dell’informatica aiuta a cogliere la portata di tante innovazioni che hanno profondamente trasformato le nostre vite. Qualunque possa essere la complessità dell’ambito esplorato (hardware, software o applicativo nel senso di “usi nuovi” del calcolatore), dietro ci sono sempre e comunque gruppi più o meno numerosi di persone che hanno contribuito al successo.

Accanto all’evoluzione, però, c’è stata anche una involuzione, per così dire: nella pagina dei “credits” delle applicazioni non compaiono più i nomi delle persone principali che hanno lavorato al progetto, ma solo i loghi delle aziende e l’immancabile attribuzione del Copyright.

È chiaro che i progetti attuali sono gestiti da team molto numerosi, specie se trattasi di progetti opensource o che integrano vaste componenti a codice aperto. Si è però perso, per così dire, quel senso di “appartenenza” sul software che c’era un tempo. Il discorso potrebbe diventare molto lungo, ma vale la pena fare qui solo due esempi: l’about box del Workspace Manager di NeXTstep 3.3 e il Finder di macOS 10.12 Sierra.

Nel primo è visibile la lista degli sviluppatori (e addirittura del designer), mentre nel secondo spariscono totalmente i nomi delle persone coinvolte.

Forse anche questo è un segno dei tempi.

 

I sistemi operativi degli Anni 90

Mentre scrivo queste note (2016), l’informatica personale e professionale (non server) gravita attorno a due famiglie di microprocessori: x86 e ARM. I primi regnano da sempre su notebook e desktop (e server), i secondi su smartphone, tablet, wearable e set-top box.

Trent’anni fa la situazione era ben diversa! C’era un’ampia scelta di processori e architettureE il mercato dei microcomputer era diviso in personal computer e workstation, con queste ultime equipaggiate con processori RISC dalle prestazioni e dal prezzo stellari.

Le macchine NeXT, come tante altre piattaforme nate negli Anni ’80, erano basate su architettura Motorola 68K, in particolare sul 68040 a 25 o 33 MHz. Prima dell’arrivo della 68060, questa CPU era la più potente della famiglia, partita con lo storico 68000 a 16 bit (cuore di Macintosh, Amiga, Atari ST) e successivamente evoluta sui successivi 68020 e 68030. Fatto poco pubblicizzato nei dibattiti sul retrocomputing, il sistema operativo NeXTStep fu reso disponibile anche per altre architetture oltre alla m68K e, dunque, al NeXTCube e alle NeXTstation: Intel x86, HP PA-RISC e Sun SPARC. Merito del fatto che fosse basato su un kernel Unix, senza dubbio: Unix e il linguaggio C, infatti, sono stati progettati proprio con la portabilità in mente. Supportare diverse architetture, in realtà, non fu una caratteristica solo di Unix: anche le prime versioni di Windows NT vennero rese disponibili su diverse architetture (x86, DEC Alpha, MIPS R4000 per la 3.1, PowerPC e SPARC per la successiva 3.51). Anche BeOS apparve prima per PowerPC e poi per Intel. L’architettura x86 a 32 bit era ancora una scommessa e l’arena dei microprocessori RISC ad alte prestazioni era piuttosto affollata: probabilmente nessuno sapeva per certo quale (o quali) architettura sarebbe risultata vincente e non si voleva perdere il treno. Sono trascorsi oltre vent’anni da allora e la storia è scritta: in ambito PC è rimasta solo l’architettura Intel, oggi consolidata a 64 bit e multicore, la sforzo di IBM e Motorola su PowerPC si è arenato sul G5, i microprocessori RISC hanno perso il vantaggio di prestazioni, i microprocessori non x86 sono pressoché totalmente relegati al mondo dei server mission critical, come quelli delle compagnie telefoniche.

Del mondo delle workstation RISC parlerò prossimamente, mentre in questa sede vorrei sofferarmi sul mondo dei personal. È interessante, infatti, soffermarsi sulla architettura x86, guardando la situazione al 1993, anno in cui NeXT ha rilasciato NeXTStep versione 3.1 per la piattaforma Intel. La tabella qui sotto mostra la timeline dei sistemi operativi a 32 bit per piattaforma x86 (in grigio il sistema su architetture non x86, in verde la disponibilità sulla piattaforma Intel):

In quel periodo la stragrande maggioranza dei computer x86 faceva girare il DOS (con i suoi abbondanti 640K di memoria RAM!) che a sua volta faceva girare Windows. Tra i sistemi a 32 bit in grado di sfruttare appieno le caratteristiche dei processori 80386 e 80486 c’era OS/2. La versione 2.0 fu la prima realmente a 32 bit, mentre la successiva versione 2.1 migliorò prestazioni e compatibilità. Nel 1993, insieme a NeXTstep e OS/2, fece la sua comparsa Windows NT 3.1, il sistema operativo sviluppato da Microsoft in parallelo allo stream al 16bit. La release 1.0 di Linux arriverà nel 1994, mentre BeOS arriverà dopo qualche anno. Possiamo citare anche Solaris (che si chiamava SunOS) e Plan 9, uscito dai laboratori AT&T come il suo predecessore Unix.

Volendo abbracciare un quinquennio, tra il 1993 e il 1998, appare un mercato ricco che offriva ben 6 sistemi operativi (NeXTSTep, Solaris, BeOS, Windows NT, OS/2, Linux e Plan 9) più l’ibrido Windows 95 che aveva pezzi a 16bit e pezzi a 32bit. Volendo poi allargare al mondo della workstation RISC, c’erano anche VMS (DEC) e i vari Unix come Irix (SGI), AIX (IBM) e HP/UX (HP).

Torniamo al mondo x86. Il tempo è passato e una specie di selezione naturale ha lasciato in vita tre sistemi operativi e (di fatto) una sola piattaforma hardware: Mac OS X (nato dalle ceneri di NeXTStep), Windows 10 (evoluzione di Windows NT) e Linux. Esiste ancora Solaris per x86, ma credo di poter affermare che il suo utilizzo è per lo più in ambito server, mentre è sempre più raro trovarlo sulle workstation. Wikipedia, peraltro, ci ricorda che questa categoria di calcolatori non esiste più in tecnologia RISC: il 2009 ha segnato la fine della produzione delle ultime workstation IBM con tecnologia Power, mentre l’anno precedente terminò la produzione delle workstation Sun e HP. L’architettura x86-64 è l’unica oggi disponibile e la scelta si articola nella velocità e nel numero di processori, nel tipo e nella dimensione della RAM ed eventualmente nell’affidabilità complessiva dei componenti.

Un ultimo sguardo al percorso evolutivo: NeXTStep ha preso vita nel mondo delle workstation, evolvendo poi sui computer desktop per giungere su smartphone, tablet e wearable nelle varie declinazioni di Mac OS X e iOS. Linux è partito dal mondo desktop, ma oggi  domina il mercato dei server, degli smartphone (si pensi ad Android), dei sistemi embedded e degli appliance multimediali. Windows resta leader sui desktop, mentre in ambito mobile ed embedded ha quote di mercato pressoché invisibili.

Mi chiedo se vedrà mai la luce un nuovo sistema operativo, ma credo sia fortemente improbabile vista la complessità dei tre sistemi oggi esistenti. Inoltre, essendo Linux e il suo ecosistema totalmente opensource, forse non vale la pena partire da zero mentre è più conveniente partire da una base solida e robusta con 20 anni di codice alle spalle.