To most people, Mono is a disease that leaves young people tired and listless. But to members of the free software community, Mono is something worse: a controversy that leaves everybody over-wrought and mistrusting each other.
After watching the controversy flare yet again over the last couple of months I'm convinced that no current issue in the community is more important to resolve quickly and decisively. Now, more than ever, the controversy threatens to spiral out of control and waste energy that would be better used elsewhere.
Except for a few details, the issue has not greatly changed since Mono was in development eight years ago. However, recently, the issue has seen a resurgence of interest.
One reason for the resurgence may be a concerted campaign against Mono at Boycott Novell. A representative of the site did not respond to a request for comment, but the site has published at least 65 anti-Mono posts in the last four months -- and that count does not include the site's published IRC logs, which likely contain a good deal more relevant references. Certainly, typical recent anti-Mono arguments cite Boycott Novell more than any other source, so much so that the influence is obvious at a glance.
But, whatever the case, the last few months have also seen a number of developments related to Mono. Gnote, a C++ replacement for the Tomboy notebook applet in GNOME has appeared. Debian has decided to include Mono in its base install, while Fedora has chosen to remove at least one Mono-based application from its next release.
Emotions run so high in the debate that, when editor Carla Schroder asked for a pro-Mono argument to balance the discussion of these issues on Linux Today, a long section of a response she received was devoted to dissecting evidence of her allegedly anti-Mono bias. Never mind that she was the one who had asked for some balance, and spoke jocularly.
Under these conditions, the debate threatens to become an end in itself. Often, accuracy or truth seem less important to either side than scoring points. Both sides frequently digress into matters that are beside the point.
Nor has either side showed much interest in defusing the issue by taking active steps to resolve it. The Pro-Mono side seems to wish that the issue would simply go away, while the Anti-Mono side sometimes seems to have too much invested in its position to do anything except argue.
Mono is a free software implementation of Microsoft's .NET (C#) framework. Some parts of .NET are under licenses that are incompatible with free ones, and some parts of Mono are specific to the operating system. But Mono does share a common core with .NET -- and that core is covered by patents, which parts of the free software community has long feared could be used as a weapon against it.
According to the Mono project's licensing FAQ, these patents are of no concern. An inventor of one of the patents has written that "our patents essential to implementing C# . . . will be available on a 'royalty free and otherwise RAND [Reasonable and Non-Discriminatory] basis.'"
Furthermore, Microsoft has written that "Microsoft Corporation will grant, on a non-discriminatory basis, to any party requesting it, licenses on reasonable terms and conditions for its patent(s) deemed to be necessary for the implementation of the ECMA standards."
However, opponents of Mono argue that these assurances are vague and inadequate, to say nothing of unproven. Their concern is that Mono, like Moonlight, the free implemention of Silverlight, could be used by Microsoft to attack free software in the future.
As a result, they worry about the growing number of applications written in Mono, especially those for the GNOME desktop, such as Tomboy, F-Spot, and Banshee, and the recent efforts to port Mono to KDE as well.
Supporters of Mono tend to be developers -- or, at the very least, those actively involved in putting a distribution together. Their defense tends to be based on Mono's technical qualities.
For example, Jo Shields, whose guest essay appeared on Linux today, is a member of the Debian Mono Group. He begins his defense of Mono by arguing that "Mono provides a well-balanced framework to enable Free Software to be developed quickly, effectively, and efficiently" and that "Mono on the whole also enables easier migration -- for both developers and users -- from legacy CLR frameworks such as Microsoft .NET"
Shields is scornful of the opposition, claiming that "the vast majority of the anti-Mono crowd are not developers or packagers - they are back-seat drivers." He refers to their demands to remove Mono from default installations as "software terrorism" and insists that "if a specific application is best-in-class, it should be included by default" regardless of what programming language it is written in.