Uno degli aspetti migliori di OS X è la quantità e la qualità di software disponibile per questa piattaforma, e la sua facilità di installazione (spesso si tratta di un semplice drag&drop). Non dimentichiamoci però che Mac OS X è “UNIX based” e come tale può disporre dell’ampio parco software dedicato alle piattaforme UNIX e più in generale di tutti quei software con sorgente multipiattaforma.

Può sorgere, ad esempio, la necessità di adoperare software non espressamente sviluppati per Mac OS X, ma compatibili con il “porting” su questa piattaforma: spesso questo si traduce spesso nell’avere a che fare con un software che necessita X11 per l’interfaccia grafica, come nel caso di OpenOffice e The Gimp, o di Matlab.
In genere infatti, ma non necessariamente, si tratta di progetti opensource sviluppati in origine per Linux, che poi vengono “portati” su Mac OS X. Questo è possibile grazie all’utilizzo di linguaggi di programmazione multipiattaforma, come C, perl, python ecc..
Vi sono vari modi per installare questi software, ma in ogni caso bisogna installare i “Developer tools” presenti nel DVD Mac OS X, che portano con se tutto il necessario per la compilazione.Ecco i principali modi per installare software “non nativo” su OS X, in ordine di facilità:

  • Installazione da binario: si tratta spesso di pacchetti autoinstalalnti (come quello di OpenOffice), archivi già compilati per cui basta un comando da terminale per l’installazione o, nel più migliore dei casi, di un’applicazione fatta e finita e già pronta per essere uilizzata. È questo, ad esempio, il caso di software come Octave e Xfoil per cui sono state approntate le versioni Octave.app e Xfoil.app. Questo modo di installare il sofware è sicuramente molto veloce per l’utente finale, mentre richiede più tempo per il “mantainer”, ovvero colui che si occupa di confezionare il pacchetto fatto e finito. Purtroppo questa modalità ha l’inconveniente di non consentire la gestione automatica dell’aggiornamento del pacchetto, bisognerà reinstallare il software di volta in volta.
  • Gestori di pacchetti: Fink (wikipedia) e Macports (wikipedia) prima noto come DarwinPort. Si tratta di due utilissimi sistemi per installare software opensource su Mac OS X. Entrambi si appoggiano all’idea di “port”, ovvero presentano un archivio più o meno vasto di pacchetti modificati per essere compatibili (dal punto di vista hardware e software) con l’installazione su Mac. Il vantaggio di utilizzare questi sistemi è che sono in grado di installare anche tutte le dipendenze (ovvero tutti i software, librerie, ecc.. necessari all’installazione di un pacchetto) automaticamente. Inoltre, riferendosi a sorgenti o binari espressamente modificati per funzionare su Mac, sono in grado di compilare tutto senza troppi problemi.
    Entrambi sono facili da installare, ma purtroppo l’installer di Fink non funziona su Leopard. Bisogna installarlo da sorgente, ma si potrà comunque usufruire dell’indispensabile pathsetup e il comodo FinkCommander presenti nella versione binaria.
    Entrambi funzionano da riga di comando, ma è possibile usarli anche da interfaccia grafica: Fink tramite il già citato FinkCommander, MacPorts tramite Porticus.
    La principale differenza tra i due sistemi è legata alla modalità di gestione dei pacchetti: Fink usa una tecnologia “debian-like” connessa all’utilizzo di dpkg e apt-get, mentre MacPorts usa un approcio “freebsd-like”. Infine Fink installa i pacchetti in /sw mentre MacPorts in /opt.
    Uno di vantaggi di questi sistemi è la possibilità di aggiornare facilmente i pacchetti già installati: purtroppo, però, la disponibilità di nuovi aggiornamenti è spesso in ritardo rispetto all’aggiornamento del software di partenza, poiché anche l’aggiornamento deve essere portato.
    Altri gestori di pacchetti meno “famosi” sono Gentoo/alt e pkgsrc
  • Installazione da sorgente: questa è sicuramente la modalità più ardua! Bisogna procurarsi ed installare “a mano” tutto il necessario per risolvere le dipendenze, ed essere in grado di risolvere i problemi di compatibilità che si presentano nel corso della compilazione. Se si è bravi, con questa modalità si può ottenere il massimo del software, creando un pacchetto finale ottimizzato per la propria architettura hardware.

Tutto chiaro? No? Non vi preoccupate, è normale! 😀
A tutto ciò, comunque, va aggiunta la possibilità di utilizzare sofware scritto in Java, che consente di avere facilmente a disposizione programmi multipiattaforma, purché si disponga di una Java Virtual Machine.

’nuff said