Open source Mono faces an uncertain future By Andrew Binstock
Microsoft's .NET runtime platforms and its Visual Studio development environments represent for many developers the height of closed, proprietary systems. Although Redmond has released much information about the internals, the code that makes up .NET remains a carefully guarded secret. This careful guarding means that .NET and VS run on the platforms Microsoft favors. Today, that means only Windows.
When .NET appeared nine years ago, an enterprising software developer, Miguel de Icaza, took on the job of creating an open source equivalent along with the necessary development tools. This project, which he named Mono after the Spanish word for monkey, generated considerable controversy. Many in the open source community viewed it as a form of subversion; they felt it provided an antagonist, Microsoft, with the benefits of the very open source process and values that company disdained.
De Icaza and the developers he worked with persisted, and in a remarkably short time had running examples of the.NET equivalent and VS counterparts. His team polished the software, so it was a first-class alternative to the Microsoft products. During this time, his group of iconoclasts was hired by Novell.
With Novell's financial support, Mono became the premier platform for developing .NET applications for Linux, Mac OS, and mobile devices. Since Novell owned the SUSE Linux distribution and had close ties to Microsoft, Mono appeared to be a natural investment. Contrary to popular belief, Novell's ties to Microsoft didn't hurt Mono. "Microsoft was supportive of our work," de Icaza says, "not in an official way, but they answered questions, and my contacts there were always friendly."
Late last year, everything changed when Novell was unexpectedly acquired by Attachmate, a company that purveys terminal emulation tools. Curiously, some of the funds for that acquisition came from Microsoft itself.
While Attachmate hasn't revealed its strategy for other products, it has determined its path with regard to Mono: In May, it fired all the developers. Attachmate retains the intellectual property for Mono, much of which is copyrighted by Novell and available under an open source license.
This transition raises questions for .NET developers interested in cross-platform product delivery. For the time being, the Mono tools are all downloadable from the project's website (www.go-mono.com/mono-downloads/ download.html). But what about ongoing development?
De Icaza has formed a new company, called Xamarin, with the core Mono development team. His first goal is to push ahead with Mono on mobile devices--specifically, Mono for Apple iOS (called MonoTouch) and Mono for Android. Reached at the company's Boston headquarters, he said the immediate goal is to enable developers to use Microsoft's C#, which he terms a "beautiful language," on mobile devices. The overarching aim is to deliver true portability, in which one language can be used for development on three key mobile platforms--the third being Microsoft's own Windows Phone. Each mobile device has unique peculiarities, de Icaza says, but most of the code will port without extensive modification. Desktop Mono is less of a priority for Xamarin, as the available version for Windows, Linux, and Mac is mature and stable.
For many developers, the continuation of de Icaza's team's work surely is good news. The question remains whether Xamarin can secure the backing and generate the sales momentum needed to keep it going and retain developers' faith in Mono.