Nicola D'Agostino (.net) - Articoli, traduzioni, grafica, web

OpenSource » Una mela libera veramente?

Gli ultimi anni hanno visto la Apple doversi confrontare con le realtà "free" e "open" dopo la scelta di aprire il cuore del suo sistema operativo Mac OS X. Esaminiamo il suo ruolo di "new entry" nel cosmo *BSD, le critiche delle comunité del software libero e la ricerca di riconoscimenti da parte della Open Source Initiative e della Free Software
Foundation di Richard Stallman.

di Nicola D’Agostino

Con l’acquisizione nella seconda metà degli anni ’90 della NeXT e l’adozione delle tecnologie della ditta fondata dal figliol prodigo Steve Jobs, la Apple ha messo in moto un meccanismo che ha portato a mutare radicalmente le sue strategie e la sua posizione rispetto al panorama dei sistemi operativi e rispetto a quello del copyright.

Mac OS X Server 1

Difatti, già prendendo in esame il primo prodotto della nuova era, l’ancora immaturo ed incompleto Mac OS X Server 1, nome in codice Rhapsody, rilasciato nel 1999, si può notare che nel manuale la parte finale solitamente riservata alle gerenze e attribuzioni di copyright è insolitamente corposa e presenta una serie di nomi nuovi per Apple: Apache Group, At&T, Carnegie Mellon University, FreeBSD, Free Software Foundation, NetBSD, OpenBSD, Sun Microsystems ed altri ancora. L’adozione del sistema operativo della NeXT, rivisto, corretto ed aggiornato, come base per la nuova generazione di Mac OS lo ha non solo improvvisamente inserito nell’albero genealogico dei sistemi derivati da UNIX ma ha introdotto una serie di software, utility, librerie e componenti provenienti da un ambito diverso e in alcuni casi sorprendentemente antitetico a quello sino a quel momento di casa a Infinite Loop 1, Cupertino.
A dire il vero un’eccezione a questa regola c’era già stata e risponde al nome di A/UX, il sistema UNIX, basato sul System V di AT&T e sviluppato in proprio da Apple per le sue macchine qualche anno prima. Per quanto tecnologicamente interessante (era parzialmente compatibile con i programmi Mac OS), e adottato anche in alcune realtà professionali, A/UX ha avuto diffusione e successo molto limitati finendo per rimanere poco più di un episodio nella sfaccettata produzione Apple.

E’ il momento di una scelta Darwiniana

Con Mac OS X ci si trova invece di fronte ad una scelta precisa e chiara che rappresenta un investimento a lungo termine sul futuro dell’azienda: un avanzato sistema a oggetti con supporto per grafica 2D, 3D e multimedia, un’interfaccia utente curatissima (che secondo qualcuno è servita anche come "scusa" per i lunghi tempi di sviluppo) che poggia su un fork non-proprietario di BSD ed adotta come kernel il monolitico MACH dell’Università Carnegie-Mellon.

Avie Tevanian

Un approccio ereditato da quello NeXT, e che si deve al team di ingegneri capitanati da Avadis "Avie" Tevanian, Jr. Tevanian è il principale progettista e sviluppatore del kernel MACH, che ha adottò come fulcro del sistema operativo NEXTSTEP alla NeXT e dal febbraio del 1997 è migrato anche lui in Apple dove attualmente ricopre il ruolo influente di "Chief Software Technology Officer", direttore capo dello sviluppo software.
In altre parole Mac OS X, con le sue tecnologie Carbon, Cocoa, Java, Aqua, QuickTime, OpenGL poggia saldamente su un nuovo membro della famiglia *BSD, Darwin, con la sua brava mascotte Hexley, al tempo stesso figlio e fratello di Free, Net e OpenBSD (e qui qualcuno aggiungerebbe anche Windows NT, in quanto si maligna che quest’ultimo abbia fatto segretamente man bassa del codice per la connettività di BSD) e che può essere usato anche come sistema operativo a sè stante.

Hexley

Rilasciato per la prima volta nel 99, Darwin, qualche anno dopo ha generato una piccola comunità, sostenuta da Apple, con il nome OpenDarwin, che contribuisce e coordina la base open di OS X ma che vive anche di vita propria e mette a disposizione un sistema sè stante da scaricare ed usare.
Anche se la Apple avrebbe potuto scegliere la strada di una versione proprietaria, la scelta di Jobs e Tevanian è stata per un sistema aperto, non-proprietario e con una licenza open-source. Sui motivi di questa scelta e sulle lodi e critiche ci soffermeremo più avanti: ora ciò che ci interessa è l’ultima cosa nominata: la licenza.
La licenza ideata per Darwin è una creazione ex-novo di Apple, risponde al nome di "Apple Public Source License" (d’ora in poi APSL) ed è disponibile all’url www.opensource.apple.com/apsl/. All’url developer.apple.com/darwin/ps-faq.html è invece possibile leggere il perché ufficiale della APSL, che sarebbe stata stilata "nello sforzo di promuovere lo sviluppo open source del proprio software ed allo stesso tempo permettere ad Apple di proteggere in maniera ragionevole il proprio patrimonio intellettuale e raggiungere gli obiettivi commerciali".

In cerca di approvazione

Uno dei primi passi compiuti da Apple è stato di cercare, se non l’approvazione, perlomeno il riconoscimento della APSL da parte delle organizzazione di riferimento del mondo del software libero e dell’open source.

R. M. Stallman

Il soggetto di riferimento presso cui saggiare la "conversione" di Apple è, prevedibilmente, stata la Free Software Foundation fondata e diretta da Richard Stallman. La primissima versione della APSL ha ricevuto il pollice verso con una in più una dura critica di Stallman.
Quest’ultimo, oltre a criticare il fatto che la licenza copra solo una parte del sistema operativo e non tutto il MacOS, afferma che la APSL non ha i requisiti per essere definita licenza free software anzitutto per "tre pecche fatali", ognuna delle quali è "sufficiente a rendere il software meno che libero". Le "pecche" sono le seguenti:
1) Mancanza di rispetto per la privacy: la APSL non permette all’utente di creare una versione modificata e di usarla per propri fini privati senza diffondere i cambiamenti.
2) Controllo centralizzato: chiunque rilasci (o usi) una versione modificata è costretto a renderne nota ad un’organizzazione specifica (la Apple).
3) Possibilità di revoca: secondo una clausola l’azienda può revocare la licenza in qualsiasi momento, e proibire l’uso di tutto o parte del software.
Ma non è tutto: alle "pecche’"si aggiungono altri problemi (tra cui la rischiosa possibilità di linkare file proprietari o l’imposizione di cedere ad Apple diritti sulle modifiche effettuate) che la rendono simile alla NPL (la storica licenza di Netscape che ha portato alla nascita del progetto Mozilla) già bollata come inaccettabile.
Il verdetto negativo da parte di Stallman è rimasto anche per la prima revisione della APSL, la 1.1 e solo con la versione 1.2, rilasciata nel gennaio del 2001 la Free Software Foundation, pur negando ancora l’ammissione nei ranghi del software libero, ha riconosciuto che erano state rimossi due dei tre ostacoli: rimaneva il problema della diffusione obbligatoria delle modifiche.

Si cambia di nuovo!

Arriviamo così al 6 agosto del 2003 in cui viene rilasciata la versione 2.0 della APSL: numerose le modifiche, che è
possibile esaminare in una versione speciale che evidenza le differenze e il risultato è l’approvazione del progetto GNU/Free Software Foundation, che interrompe per l’occasione anche la sua campagna "Free Darwin".
Il team Apple che cura Darwin può così finalmente annunciare che la APSL è certificata dalla FSF come una "Free Software License".
La definizione sul sito la descrive come una "free software license" ma la inserisce sotto la categoria "GPL-InCompatible Free Software Licenses" (Licenze di software libero incompatibili con la GPL) specificando che è raccomandata solo per usare e modificare software ma non per produrne di nuovo.
La concessione di Stallman e della fondazione è comunque con dei veementi distinguo di carattere generale e rimanda ad una pagina in cui si evidenzia che rimane il problema del possibile linking a altri file proprietari come con la già citata NPL.
A studiare meglio la cosa il riferimento alla NPL non è casuale: sul suo sito Apple, alla domanda "come siete giunti alla APSL?" rispondeva diversi anni fa che aveva studiato ed attinto da numerosi esempi di licenza tra cui quella della FSF ma anche quelli di Apache, Sun e Netscape/Mozilla e che bisognava attendersi un’evoluzione di quel modello.

GPL? No, grazie.

Apple in realtà, in quanto criticata da Stallman, si trova in buona compagnia non solo con soggetti del calibro IBM, Sun, Netscape, Mozilla ma anche con progetti come LaTeX o Plan 9 di At&T (su cui ha lavorato Ritchie, uno dei padri di UNIX): bisogna perciò darle credito che, pur avendo ricevuto sin dalla prima versione della sua licenza l’approvazione della più pragmatica Open Source Initiative, con la versione 2.0 è riuscita a smussare le critiche provenienti dagli "integralisti" del software libero, ponendo le basi per un dialogo produttivo.
Non bisogna dimenticare che Apple, nonostante le aperture al movimento open source, è e resta un’iniziativa commerciale e non ha alcun interesse in una licenza di tipo GPL. Anzi, almeno in potenza, vista la scelta di tipo BSD (ereditata da NeXT, che probabilmente aveva fatto un ragionamento simile all’epoca) avrebbe tutti i diritti a tenere per sè i risultati.
Facciamo ancora una volta riferimento alle dichiarazioni sul web in cui alla domanda "perché Apple apre il suo codice?" si risponde che ritengono "il modello open source la forma più efficace di sviluppo per certi tipi di software. Sommando le conoscenze a quelle della comunità di sviluppatori open source puntiamo a migliorare la qualità, performance e ricchezza di funzioni del nostro software". "Inoltre ci rendiamo conto che molti sviluppatori amano lavorare con il software open source e vogliamo fornire loro l’opportunità di usare questo tipo di ambiente mentre al contempo produciamo soluzioni per i clienti Apple".
L’apertura di tipo prevalentemente pragmatico non può piacere ai sostenitori accaniti della valenza politca del software libero come Stallman, che hanno mostrato un’intransigenza di fondo (che qualcuno dice ancora più spinta nel caso si tratti di un soggetto legato a soluzioni proprietarie). Un esempio è il sostegno concettuale e economico a GNU-Darwin, versione "kosher" di Darwin (che, ironia della sorte, ha un kernel concettualmente similare a quello per Linux della FSF stessa, HURD).
In GNU-Darwin tutte le componenti del sistema (programmi, utility, librerie, driver…) sono di tipo GPL o lo diventeranno con un’opera di riscrittura progressiva, sostenuta da proclami e pittoresche "taglie", di cui una addirittura è finanziata con una cifra simbolica da Stallman stesso.
E’ però molto difficile che la Apple intraprenda una strada senza ritorno verso una licenza di tipo GPL: rischierebbe di ritrovarsi in una situazione simile a quella della Sharp, che usa una variante GNU/Linux per i suoi palmari e deve quindi fare i conti con una "concorrente" free, "OpenZaurus", che può approfittare della trasparenza imposta dal codice usato a monte.

Sì, ma voi cosa ci date in cambio?

Seppur vero che che l’apertura di Apple è di tipo moderato resta però da accertare l’obiezione mossa ad esempio dagli utenti dei sistemi GNU/Linux: la Apple dà la possibilità di installare programmi open source senza dare da parte sua nulla in cambio?

Ancora una volta la risposta viene dalle risorse online della ditta capitanata da Steve Jobs. Alla domanda "quali sono i progetti ‘open’ presso Apple?" si risponde che la lista va ben oltre il sistema di base, Darwin ed include ad esempio QTSS, il server Quick Time per lo streaming oppure collaborazioni e strumenti a tecnologie come Kerberos, Open Directory, il server X11, compilatori, stampa, sicurezza.

Rendezvous

Ancora più evidenti sono i due casi WebCore/Safari e
Rendezvous che esemplificano le situazioni possibili della nuova fase aperta di Apple. Nel primo caso si tratta del rapporto instaurato in base all’adozione del motore KHTML di KDE per vari usi, il più rilevante è essere la base del web browser di Apple, scelta che in un certo riecheggia quella fatta per il sistema operativo, nel non creare una soluzione ex-novo, e nel non appoggiarsi alla scelta più ovvia. Come possiamo constatare online, il team di sviluppo di Safari ovviamente sin dai primi giorni contraccambia il favore passando novità, migliorie e correzioni al team di KHTML.
Il secondo caso è quello relativo al contributo rilevante dato da un impiegato Apple che ha di fatto implementato uno dei concetti più interessanti degli ultimi tempi, noto con il nome generico di zero conf: una connettività che funziona senza configurazione alcuna tra computer e periferiche. La versione di Apple si chiama Rendezvous ed è usata per comunicare con stampanti, funzioni di streaming, file-sharing, condivisione di bookmarks. Rendezvous si sposa perfettamente con il passato tutto all’insegna di "it just works" della casa di Cupertino ma, in questo caso, la tecnologia di base è liberamente usabile tant’è che, oltre ad versioni ufficiali, esiste anche il progetto Howl, un corrispettivo per piattaforme Windows e Linux/FreeBSD.

Sponsor: credito

Una versione di questo articolo è stata pubblicata su "OpenSource" n. 9 del 6/2004