Premessa
La piattaforma Apple Macintosh ha subito nel corso del tempo una notevole serie di modifiche, segnate da passaggi epocali: l’abbandono delle CPU 68xxx per i RISC PowerPC, il passaggio da Mac OS a Mac OS X, l’abbandono delle CPU PowerPC a favore delle nuove generazioni di processori Intel.
A ogni transizione il Mac ha guadagnato consensi fino ad arrivare a un ragguardevole 9% del mercato, raggiungendo nel solo 2008 la cifra di oltre 10 000 000 di Mac Intel venduti. I Mac attuali non hanno nulla da spartire con il parallelepipedo con monitor in bianco e nero uscito nella metà degli anni Ottanta. È cambiato anche il profilo medio dell’utilizzatore. Per rendersene conto basta recarsi in un qualunque raduno hacker in giro per l’Europa: il numero di Mac (specialmente portatili) presenti è notevole. Un risultato impensabile prima della transizione a Mac OS X.
L’idea di fondo
Il sistema operativo Mac OS X è formato da due strati distinti. Il sistema operativo vero e proprio è sviluppato principalmente da Apple ma è basato su una licenza Open Source, quindi raccoglie contributi da chiunque sia desideroso di condividere il proprio codice. È composto dal kernel ibrido XNU (un acronimo ricorsivo che sta per “XNU is Not Unix”). È definito ibrido perché è l’unione tra un kernel monolitico FreeBSD e il codice derivato dal microkernel Mach 3.0. Sopra a questo kernel è innestato un sistema di derivazione BSD (in particolare da FreeBSD), che riprende moltissimi concetti (dal layout del file system alla peculiare gestione dei file eseguibili, alla gestione delle configurazioni) da NeXTStep di NeXT. Tutto questo complesso prende il nome di Darwin.
Sopra a Darwin vi è lo strato commerciale, non Open Source. Esso include quanto segue.
- Librerie grafiche e multimediali: Sono il fondamento della parte Closed Source del Mac. Forniscono tutto quello che è grafica e multimedia e sono usate da tutti i livelli superiori. Si tratta di Core Image (sistema per la visualizzazione 2D), Core Video (la libreria per la gestione di tutto quello che è video), Quicktime (per la gestione dei multimedia), Core Audio (libreria di gestione audio, sia esso wave o MIDI) e OpenGL (libreria grafica accelerata per il 3D).
- Application Framework: Carbon, Cocoa, Classic e Java. Queste API corrispondono a una serie di librerie sulle quali possono essere basate le applicazioni sviluppate per Mac OS X (si ricorda che Mac OS X è la somma del sistema Open Source Darwin e della parte commerciale soprastante). Classic è l’ambiente di compatibilità con il vecchio sistema operativo Apple (non è più presente a partire da Mac OS X 10.5 e non funziona su alcun sistema Intel), Carbon è un insieme di API che permettono a un’applicazione Mac OS di girare entro Mac OS X beneficiando di una serie di caratteristiche tipiche del nuovo sistema, il tutto mantenendo la compatibilità con il vecchio ambiente. Cocoa è l’insieme delle nuove API per le applicazioni native di Mac OS X. Java è l’ambiente di compatibilità per le applicazioni Java. A questo livello, per i sistemi Mac basati su processore Intel vi è anche Rosetta, il sistema per rendere compatibili con Intel i vecchi binari PowerPC.
- Livello utente: In questo livello si trovano l’interfaccia grafica Aqua, il sistema per la gestione degli widget (piccole applicazioni utili da avere a portata di mano), Dashboard, il sistema di indicizzazione per ricerche puntuali (Spotlight), e infine il sistema di compatibilità con X11.
L’insieme di queste due tecnologie (proprietaria sopra, Open Source sotto) ha avuto il curioso effetto di unire due diversi mondi. Molti dei software Open Source sviluppati per Linux e BSD sono stati portati sotto Mac OS X senza troppe difficoltà. Progetti come Darwinports e fink permettono di avere sotto Mac OS X un parco software Open Source pressoché infinito, senza essere costretti a installare un altro *BSD o Linux.
Darwinports e fink
Darwinports: implementa in Darwin (quindi in Mac OS X) il sistema dei ports molto noto agli utilizzatori di *BSD e di Gentoo Linux. fink: per gli amanti di Debian, è un progetto che implementa un repository Debian in piena regola (compresi i famosi comandi apt-*) sotto Mac OS X.
Dall’altra parte, la GUI “Closed Source” ha attirato la quasi totalità degli sviluppatori per la piattaforma Mac OS, che hanno velocemente convertito i propri programmi commerciali sotto Mac OS X. Si è così finalizzato il primo connubio assolutamente usabile tra Open Source e software commerciale, sotto un’unica egida.
|