AmigaOS Diventera' Open Source? =============================== di Bernardo Innocenti Recentemente ha fatto molto scalpore una iniziativa per convincere Gateway/Amiga Inc. a rendere disponibili pubblicamente i sorgenti di AmigaOS. Non si tratta solamente di una petizione, ma di una vera e propria campagna che mira ad influenzare e coinvolgere il maggior numero possibile di personaggi di spicco nel mondo Amiga, nella speranza di fare una breccia nei vertici delle due societa'. Portata avanti con le migliori intenzioni, questa campagna non poteva fare a meno di infimmare una vivace polemica che si e' propagata dai newsgroups ai canali IRC fino alle mailing list. I pareri degli utenti e degli sviluppatori, questi ultimi interessati piu' da vicino ai sorgenti di AmigaOS, sono come prevedibile molto discordi. C'e' chi vorrebbe vedere lo sviluppo di AmigaOS completamente nelle mani degli utenti, chi non potrebbe assolutamente tollerarlo e chi preferirebbe una soluzione intermedia. L'opinione di Olaf Barthel -------------------------- Olaf "Olsen" Barthel, sviluppatore la cui fama non necessita di presentazioni, e' intervenuto nella discussione con una posizione molto matura. Olaf e' stato da sempre un sostenitore dell'open source software (OSS), persino quando questo concetto non era diventato una moda. Basti ricordare il famoso (ed enorme) programma 'term', di cui Olaf e' il generoso autore. Olaf e' anche autore di svariati altri programmi, tutti rigorosamente distribuiti con i sorgenti, nonche' di numerosi porting per Amiga di software per UNIX come l'emulatore UAE ed il filesystem di rete Samba. Premesso questo, l'opinione di Olaf in merito al rilascio dei sorgenti di Amiga non puo' che stupirci. Egli ha infatti puntualizzato che esistono diversi problemi da risolvere prima di poter distribuire i sorgneti di AmigaOS. Innanzitutto, esistono dei brevetti su Intuition e dei copyright su dei nomi come "Amiga", "Workbench", "Kickstart", "AmigaDOS" e "AmigaGuide". Questi rimarrebbero rimarrebbero in vigore anche se i sorgenti fossero di dominio pubblico, impedendo comunque la distribuzione legale di versioni modificate di AmigaOS. Inoltre alcune parti di AmigaOS, tra cui ARexx, le librerie matematiche e alcuni font, sono furno acquistati in licenza da Commodore e non sarebbe dunque possibile distribuirne i sorgenti senza il consenso dei rispettivi proprietari. Come se non bastasse, i tool di sviluppo necessari per compilare alcune parti di AmigaOS erano forniti da terze parti, come il compilatore C della Green Hills Inc., tuttaltro che economico. L'altra questione sollevata da Olaf riguarda la qualita' dello sviluppo in assenza di una leadership come quella di Commodore a suo tempo e di Haage & Partner adesso. Holger Kruse, autore di Miami, ha espresso una certa sfiducia nella capacita' degli sviluppatori Amiga di organizzare una struttura di coordinamento adatta a garantire una linea di sviluppo consistente ed una qualita' elevata per il sistema operativo. Il parere dei piu' autorevoli sviluppatori Amiga e' dunque che, se da una parte l'apertura di AmigaOS potrebbe portare dei vantaggi, dall'altra potrebbe dar luogo ad una sorta di anarchia piu' dannosa che mai. Se ogni programmatore fosse libero di modificare a modo suo i sorgenti di Amiga, in breve ci ritroveremmo con un sistema instabile e mal progettato. Una questione culturale ----------------------- Pur essendo io stesso un sostenitore del Free Software, devo riconoscere che non tutti i progetti open source hanno successo. Alcuni cadono nell'oblio per mancanza di interesse. Altri rimangono perennemente nello stato di beta perche' nessuno dei partecipanti ha voglia di correggere i bug, scrivere la documentazione e completare le parti mancanti. Certamente non vorremmo che la stessa cosa accadesse ad Amiga. I pochi sviluppatori di software commerciale che sono rimasti abbandonerebbero immediatamente la piattaforma, infliggendole cosi' il colpo di grazia. E' vero pero' che per ogni progetto open source che ha fatto una misera fine (Mozilla e' il caso piu' eclatante), se ne possono contare altrettanti che hanno conseguito un notevole successo. Ne' ritengo necessario citare le virtu' di Linux o del KDE. La mia impressione e' che tutti i progetti OSS di successo siano caratterizzati da una struttura organizzativa la cui autorita' e' riconosciuta da tutti coloro che partecipano al progetto. Le decisioni tecniche vengono prese in modo piu' o meno democratico dai coordinatori del progetto, sulla base delle discussioni che si tengono nelle mailing list di coordinamento. Nel caso di Linux, le modifiche degli sviluppatori che contribuiscono al kernel vengono sottomesse al giudizio insindacabile di Linus Torvalds e dei suoi subalterni, che non di rado le respingono per ragioni stilistiche o di chiarezza del codice. Lo stesso vale per NetBSD, in cui esiste una gerarchia di coordinatori per ogni parte del sistema operativo e per ogni piattaforma supportata. Se cosi' non fosse, in breve regnerebbe l'anarchia piu' totale. Purtroppo cio' che funziona molto bene nel mondo UNIX potrebbe non funzionare altrettanto bene con Amiga. Si tratta di una questione culturale: la comunita' di sviluppatori UNIX ha affrontato e risolto i problemi legati allo sviluppo condiviso del software per oltre due decenni. E' ragionevole ritenere che la maggioranza degli sviluppatori Amiga sia piuttosto immatura a questo riguardo. Qualcuno teme che la disponibilita' dei sorgenti di Amiga possa rendere ancora piu' "aggressive" le patch al sistema operativo che sono in circolazione oggi, minando cosi' la gia' precaria stabilita' del sistema. Sviluppare il software sulla base della documentazione ufficiale anziche' sbirciare dentro ai sorgneti per conoscere l'implementazione e' alla base del principio dell'"information hiding", ben noto a chi conosce le basi dell'ingegneria del software. I programmatori con alle spalle anni di esperienza imparano a scrivere il proprio codice attenendosi all'interfaccia documentata, fingendo cioe' di non conoscere i dettagli dell'implementazione. Avendo a disposizione i sorgenti di AmigaOS, molti sarebbero invece tentati di prendere alcune comode "scorciatoie", con effetti deleteri per la compatibilita' verso l'alto. Bisogna aggiungere pero' che attualmente esistono numerose patch, tra le quali ricordiamo i sistemi RTG, che si basano su informazioni frammentarie ed imprecise ottenute dai programmatori per deduzione o, peggio ancora, con tecniche di reverse engineering. Avere a disposizione i sorgenti del sistema operativo favorirebbe la corretta integrazione di queste caratteristiche direttamente all'interno dell'OS. Che bisogno c'e' di scrivere programmi come MCP, VisualPrefs o Birdie, tanto per citarne alcuni, quando possiamo inserire le nostre modifiche direttamente nel cuore del Kickstart? Un'arma a doppio taglio ----------------------- L'iniziativa di rendere open source il sistema operativo di Amiga rischia di essere una lama a doppio taglio. Un anno fa, tentare la strada dell'open source sarebbe stato senza dubbio piu' ragionevole che prolungare la totale immobilita' nello sviluppo di AmigaOS. Ma adesso che Haage & Partner ha dimostrato con l'OS 3.5 di essere all'altezza della situazione e di poter garantire un futuro ad Amiga, forse e' il caso di riflettere bene sui pro e sui contro di una simile mossa. Se Gateway, all'oscuro delle implicazioni, decidesse di avallare la proposta senza prendere delle adeguate misure che gli consentano di sopravvivere, Amiga andrebbe incontro ad una morte piu' rapida che mai. Come ci ricorda con insistenza Richard Stallman della Free Software Fundation, non bisogna confondere il concetto di OSS con quello di free software. Rendere pubblici i sorgenti di Amiga non implica affatto che il sistema operativo debba cessare di essere un prodotto commerciale. Sia Sun che Apple stanno pensando di rilasciare i sorgenti dei rispettivi sistemi operativi. Entrambi pero', non intendono certamente rinunciare a venderli a caro prezzo. Le due societa' vedono nell'OSS un'occasione per attirare un maggior numero di sviluppatori sulla propria piattaforma ed ottenere un maggior numero di bug report e contribuzioni. Alcuni clienti, poi, potrebbero avere la necessita' di modificare alcune parti del sistema operativo per soddisfare delle esigenze particolari. Ma, a differenza dei sistemi Linux e NetBSD, la licenza non consentirebbe di ridistribuire a terzi delle versioni modificate dei sorgenti e tantomeno degli eseguibili. In questo modo Sun e Apple continuano ad ottenere un profitto dal sistema operativo anche se i sorgenti sono pubblici. Per AmigaOS potremmo auspicare una licenza di questo tipo, che consentirebbe a Haage & Partner di proseguire lo sviluppo e di coordinare il lavoro dei volontari. Alcuni programmatori, tuttavia, non gradiscono che qualcuno possa trarre un profitto dal frutto del proprio lavoro. Questo problema e' difficilmente risolvibile, ma nel nostro caso possiamo presumere che la dedizione alla causa di Amiga possa convincere molti a mettere da parte le questioni etiche.