An uncertain future for open source .Net

analysis
May 5, 20117 mins

Layoffs at Attachmate put the future of the Mono Project in question, dimming hopes for cross-platform C# development

When Miguel de Icaza founded the Mono project in 2004, he was ridiculed. No way would Microsoft allow an open source implementation of its .Net platform to exist, critics said. Even after Mono gained commercial backing from Novell, many assumed Microsoft would soon move to crush the project, either through patent claims or more underhanded means. Microsoft never did — so far. Now it looks like it may not have to.

As first reported by InternetNews.com, Attachmate, the systems and security management company that completed its acquisition of Novell for $2.2 billion in April, began layoffs this week. The exact number remains unknown, but from the sound of it, virtually the entire Mono team has been let go.

[ Stay up to date on the key software development news and insights with InfoWorld’s Developer World newsletter. | And track open source goings-on with the Technology: Open Source newsletter. ]

“We have re-established Nuremburg [Germany] as the headquarters of our Suse [Linux] business unit, and the prioritization and resourcing of certain development efforts — including Mono — will now be determined by the business unit leaders there,” Attachmate CEO Jeff Hawn told InternetNews.com.

That leaves Mono’s future uncertain, to say the least. It’s still unclear whether de Icaza, who held the title of vice president at Novell, himself received the axe; he couldn’t be reached for comment. Although in November he tweeted that the Mono team would continue as is, this is now clearly not the case. Mono has very much been de Icaza’s baby since its inception. Even if he continues to guide the project, the team that saw Mono through nine successive releases is apparently no more.

The curse of Microsoft Some will say good riddance. The specter of Microsoft has always haunted Mono, particularly among those zealots who consider any technology from Redmond to be anathema to the open source movement. They fear Microsoft will wait until the Mono platform is mature enough, then subvert it by asserting hitherto-undisclosed patent claims, leaving anyone who developed applications using Mono in a lurch (and presumably, beholden to Microsoft).

But de Icaza has long worked to dispel these claims. He points out that the ECMA 334 and 335 standards, which describe the C# language and the .Net Common Language Infrastructure (CLI), have been placed under Microsoft’s Community Promise, by which Microsoft affirms it will not file any patent claims against anyone who develops open source implementations of those standards. Furthermore, relations between Microsoft and the Mono team have remained cordial throughout the life of the project.

Still, wide adoption has been an uphill battle. While Mono-based applications ship as standard components of Novell’s Suse Linux desktop, leading Linux vendor Red Hat never warmed to the platform, claiming Mono makes it easier to transfer technology from Linux to Windows than the other way around. Red Hat endorses Java-based development via its JBoss application server and related technologies, and it recently announced a Java-like language of its own, called Ceylon.

The critics’ skepticism isn’t completely unfounded, either. Microsoft’s Community Promise does not extend to some key .Net frameworks, including the ADO.Net database abstraction layer, the ASP.Net Web framework, and Windows Forms. The Mono versions of those frameworks could still be sunk by submarine patents. If that happened, any applications developed using them would effectively revert to being Windows-only software.

Mono deserves a second look But to dismiss Mono because of potential problems with Windows Forms is failing to see the forest for the trees. In recent years, Mono has grown to be much more than a way to do Windows-style development on alternative operating systems. For one thing, Mono bindings are available for the GTK+ and Qt GUI toolkits, so if you want to ditch Windows Forms altogether and write Linux-centric software with Mono, you’re free to do so.

More important, Mono has become a valuable tool for cross-platform development across a wide range of operating systems and devices. For example, Novell’s MonoTouch and Mono for Android are commercial products that allow developers to use C# and other .Net technologies to write apps for iOS and Android devices, respectively. Similarly, Unity Technologies offers a cross-platform game development tool that uses Mono as an intermediary layer, allowing developers to target PCs, iOS devices, Android devices, Xbox 360s, PlayStation 3s, and Web players with a minimum of recoding.

Let’s not ignore the other advantage of Mono, which is the C# language itself. Although often dismissed as “Microsoft’s Java clone,” C# improved on Java in various ways, including better support for functional programming and parallelism, as well as various syntactic tweaks aimed at shedding some of the baggage Java has carried since its earliest days. Java is still playing catch-up to C# in some respects. Furthermore, Mono developers are free to code in any other CLI syntax, too, meaning they can target the platform using such diverse languages as Lisp, Python, Ruby, and even Fortran.

Who can save Mono now? To lose all of the potential of these tools now would be a terrible shame. The Mono platform is open source, so independent developers are free to continue work on the project. But it’s also complex technology, and tracking the latest developments from Microsoft requires considerable effort. It seems unlikely that Mono will be able to keep up with the pace of .Net without some sort of commercial backing.

Attachmate has made no specific comments regarding the future of the Mono project, but the cryptic language of its statement to InternetNews.com, in which it said resources would be allocated to former Novell projects “in a manner commensurate with customer demand,” doesn’t bode well for its open source offerings.

Analysts, too, are unsure as to Attachmate’s commitment to Mono — or to the Suse Linux group in general. According to Forrester Research vice president Jonathan Penn, “Attachmate is far more interested in Novell’s systems management and security business than in the platform business.”

One possibility, then, is that another company might step in to take Novell’s Suse and Mono assets off Attachmate’s hands. But who? IBM might be one candidate, but Big Blue has always been reluctant to compete directly in the Linux business, preferring to let its customers choose between Red Hat and Suse; and with its WebSphere platform, it’s almost as committed to Java as Oracle is.

The most likely candidate might be the least-expected one. Microsoft has been working to revise its stance on open source for the last few years, softening its rhetoric and even sponsoring open source projects through the Outercurve Foundation (née CodePlex). Its patent-sharing deal with Novell, though much-maligned, turned out not to be the blow that killed Suse, Mono, or Novell after all — rather the opposite. Maybe it’s high time Microsoft put its money where its mealy mouth is, by directly investing in the effort to make .Net and the CLI a free, open, cross-platform software development platform.

Then again, that could be a mixed blessing. Although such a move could ensure a long future for Mono, as long as the open source community keeps viewing Microsoft’s influence as poison, it could also be the ironic straw that breaks the camel’s back.

This article, “An uncertain future for open source .Net,” originally appeared at InfoWorld.com. Read more of Neil McAllister’s Fatal Exception blog and follow the latest news in programming at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.