Waltham (USA) – Dopo tre lunghi anni di lavoro, il progetto Mono ha raggiunto il suo primo e più ambizioso traguardo: fornire una completa piattaforma di sviluppo open source utilizzabile per creare applicazioni cross-platform e far girare su Linux buona parte del software scritto per la piattaforma MS.NET.
Con il rilascio della prima versione matura , la 1.0, Mono è pronto per porsi come alternativa aperta e multipiattaforma al framework MS.NET di Microsoft. Un’alternativa che Novell , divenuta il primo sponsor del progetto in seguito all’acquisizione, nel 2003, di Ximian , ha già utilizzato per sviluppare alcuni suoi software, tra cui iFolder 3.0 e ZENworks. La società spera che Mono possa rappresentare “quell’opportunità che molti sviluppatori Windows attendevano per migrare verso Linux”.
Miguel de Icaza, fondatore di Ximian e del progetto Mono e vice presidente allo sviluppo di Novell, sostiene che Mono consente di sviluppare applicazioni e Web service in tempi molto più brevi di quelli permessi oggi dagli ambienti di sviluppo disponibili per Linux.
“Anche se nel settore del desktop aziendale Linux sta crescendo, sviluppare applicazioni per Linux desktop rimane difficoltoso a causa della grande complessità degli attuali tool di sviluppo”, ha detto de Icaza. “Mono è un completo insieme di tool e API estremamente facile da usare e adatto per creare applicazioni di livello commerciale per desktop e server Linux”.
Mono 1.0 è il frutto di un intenso lavoro di sviluppo da parte di Ximian e di una nutrita comunità di sviluppatori di tutto il mondo. Il software si compone di un compilatore per il linguaggio C# con cui è possibile sviluppare applicazioni compatibili con la piattaforma di Microsoft; un compilatore just-in-time Common Language Runtime (CLR) che consente a Linux di far girare applicazioni scritte sotto un qualsiasi altro sistema operativo che supporti MS.NET, incluso Windows; e un insieme di librerie compatibili con la Common Language Infrastructure (CLI) che permette lo sviluppo di applicazioni utente e servizi Web in grado di girare sotto vari sistemi operativi.
La CLI, uno dei componenti cardine di MS.NET, è la tecnologia che Microsoft ha sviluppato per consentire ai programmatori di costruire Web service ed altre applicazioni avvalendosi di una certa varietà di linguaggi. Include un sistema di esecuzione virtuale ed una classe di librerie che definiscono i modi con cui vari tipi di dati possono interagire. Nel 2001 Microsoft aprì la specifica della CLI e, insieme al linguaggio C#, la sottopose al processo di standardizzazione degli organismi ECMA e ISO .
Mono comprende anche l’IDE (Integrated Development Environment) MonoDevelop , la macchina virtuale Java IKVM , un motore runtime per Visual Basic e il supporto a diversi altri linguaggi di script, tra cui Python e JScript. Fra le maggiori lacune di questa versione c’è la mancanza del supporto a COM (Component Object Model).
Alcuni dei componenti chiave di Mono vengono già utilizzati da tempo all’interno di diversi software commerciali e progetti open source. Ma il ruolo forse più importante in assoluto Mono lo avrà grazie a Voelcker Informatik , una società tedesca a cui il Comune di Monaco, in seguito al noto piano di migrazione a Linux di recente approvazione , ha affidato il porting di un certo numero di software che oggi girano su sistemi Windows.
Dalla sua nascita ad oggi Mono è stato accompagnato dallo scetticismo di diversi membri della comunità open source: c’è infatti chi sostiene che “clonare” la tecnologia di Microsoft non solo non porti alcun vantaggio a Linux, ma costringa la comunità open source a rincorrere perennemente il proprio avversario . Ad amplificare tali dubbi interviene il fatto che, con il rilascio di Longhorn, Microsoft sembra decisa ad abbandonare molti componenti alla base di MS.NET: se ciò fosse vero, questo potrebbe costringere il progetto Mono a riscrivere buona parte del suo codice e rinunciare, come pare disposta a fare il colosso di Redmond, alla piena compatibilità con MS.NET Framework 1.1.
A tal proposito de Icaza, in un’ intervista rilasciata a Punto Informatico nel 2001, aveva sostenuto che “Mono sarà un’evoluzione della piattaforma di sviluppo che abbiamo attualmente su Unix. Se Microsoft deciderà di essere deliberatamente incompatibile nel futuro, andremo incontro ad un forking , ma Microsoft necessita della compatibilità binaria all’indietro, quindi ritengo che faranno il possibile per mantenere la loro API stabile”.
Ma i dubbi provenienti da una certa parte della comunità di sviluppo vertono anche su questioni più delicate e complesse, come quella legata alle controverse licenze che accompagnano alcune delle tecnologie di MS.NET, incluse ASP.NET e ADO.NET.
“Fino a che Mono non riceverà da Microsoft un chiaro messaggio scritto su ciò che può e non può fare (con le licenze di MS.NET, NdR), non potremo mai essere sicuri che Microsoft non utilizzi Mono per attaccare Linux “, si legge in un post apparso sui forum di Slashdot.org. “Questa è una questione cruciale visto che Mono, con l’appoggio di Novell, sembra destinato a divenire una parte cruciale del sistema Linux”.
In occasione del rilascio di Mono 1.0, disponibile qui per Linux, Unix, Windows e Mac OS X (il motore runtime è disponibile anche per altre piattaforme), Novell ha varato un nuovo sito Web, mono-project.com in cui è possibile trovare tool, risorse, roadmap e informazioni dettagliate su Mono.