However, I must say that I’m rather disappointed in Richard Stallman. His comments on the current debacle in the Debian community read as no more informed on the issue than those of the average Reddit troll. I generally expect better commentary from him, including not just technical details when applicable, but also a good philosophical argument behind his positions. This case simply lacks either.
In fact, his comments are fairly typical of any Mono discussion: on one side, you have Mono’s developers and the community that writes stuff in C# intended for Linux platforms, and on the other, you have people who suffer from the Free/Open Source version of Not Invented Here Syndrome. The fact is that Mono implements a standard (ISO/IEC 23270) written originally by Microsoft–a company as far from the free and open source community as possible yet still be in the business of making software. Those of us who just want to use best of breed applications (like Tomboy, which is the application in question, as well as Gnome-Do), and occasionally ensure cross-compatibility on Linux for a program written originally against the .NET stack, are caught in the middle.
I’ll be honest and say that I have absolutely no connection to the Debian project, and I am not entirely informed about the technical merits and faults of Mono as a development platform. However, I am someone who has been on the Internet for a very long time, and as such, I’ve learned from experience how to deal with trolls.
The fact is that Microsoft is not some supernatural entity, as some free/open source zealots would have you think. They are a corporation of humans, run by idiots. (Interestingly, I’ve found that their junior managers have no clue why the senior management is so heavy handed on free/open source software in general, particularly when their competition is very specifically the operating system projects: Linux, the BSDs, Haiku, and ReactOS.) Since the corporation is run by idiots, they have a tendency to troll the Internet, making grandiose claims of patent infringement by Linux (note that they’re talking about the folks at the Linux project specifically, not the distributors). Since they’ve been at this for several years now, and haven’t filed a patent infringement lawsuit against Linus Torvalds or any Linux distributor, I think it’s fairly safe to assume that Microsoft’s claims are about as good as most legal claims made on the Internet, and as such, they can be reasonably ignored. At the very least, patents are only good for 19 years in America, and as such only have a limited amount of time to put up or shut up.
In any case, these are claims against Linux. Mono is not a part of Linux. It is not now, nor has it ever been, a part of the Linux project. Even if someone includes Mono in their distro, it is not a part of Linux. If Microsoft decides to sue over the distribution of Mono, that distributor can simply send out an update removing it (and any software depending on it) from their system.
The other claim I hear against Mono is that it is “bloat”. Under the same objections, any required language runtime is bloat, and we should be running without operating systems and rebooting out computers for each new program we run. While I have heard some criticisms of the virtual machine model of compiler infrastructure, that particular model is the one that prevails amongst compiler makers today, and the accusation can be made of pretty much any language not supported by the GNU Compiler Collection.
In short, I haven’t heard a good technical argument against Mono, but rather Microsoft originated FUD (which Mr. Stallman should know better than to spread) and a vague accusation.
On the other hand, I’ve not heard a good argument for the inclusion of Mono, either. Yes, Tomboy needs it. There’s a work alike called Gnote, made by someone with way too much free time on his hands and far too little imagination (I mean, really, a strict port of another program into a less portable language? What is the point?) that could be used just as easily without adding any infrastructure to the default install of Debian. Yes, Gnome-Do is totally awesome (particularly for those of us with a Mac background who remember Quicksilver–a project mostly superseded at this time by Google’s Quick Search Box, which was made by the same person after being hired by Google). Yes, Mono is a first class citizen in the Gnome world. So are C and Python, languages whose runtime is already in the default install of ever Linux distro, with good reasons (libc is required to run any Unix-like kernel, and Python is necessary for a large number of system maintenance scripts). Gnome’s decision to support Mono as well is good for developers, but without compelling and exclusive applications written against those bindings, what’s the point?
Unless and until the community can have a mature discussion about the technical merits of Mono and any software that requires it, discussing its inclusion in the default installation of one of the most important (and wanky) Linux distros is out of the question, and such people need to refrain from comment on the situation as they are obviously woefully uninformed about the topic of discussion.
But hey, this is the Internet. When has self restraint ever been expected of discourse here?