Thursday, April 30, 2009

Monoless Fedora? UPDATED

Mono, mono, mono. If there has been one project to divide the free software community over the past couple of years, it is Mono. By itself, Mono is just an implementation of C#, the CLR and some more programs making up the .Net toolchain. C# and the CLR are not much different from Java in concept. Both provide a cross-platform programming language and runtime environment, both are licensed under an open source license. No problems so far.

The trouble starts where Mono actually attempts to provide compatibility between Windows and other operating systems. A pure Mono application like Tomboy is unlikely to be harmed by this. The problematic part arises from the fact that Microsoft hasn't submitted all parts of the .Net stack to ECMA. So attempting actual compatibility can become dangerous. Microsoft doesn't exactly have a clean track record on the field of fair competition, so one has to wonder whether it is likely for Microsoft to use its patents to stop the Mono project when it becomes too successful.

Remember, in this context, that Microsoft has promised not to sue Novell and its customers for infringement with regard to Mono. According to Miguel de Icaza, this promise extends to Novell, its customers and its developers. When we read this the other way around, it does *not* extend to Mono users who are not affiliated to Novell. This scares me. You'll have to decide for yourself in howfar this scares you.

Now imagine Mono-based software is pushed into the popular distributions on a larger scale. It would be possible to replace a pretty large amount of readily available programs with Mono-based counterparts. Think Banshee, Beagle, Gnome Do, F-Spot, Tomboy, Muine, just to name a few.

And now image Microsoft legally pulling the plug on (parts of) the Mono project, taking the whole Mono eco-system with it, just when people got used to Mono-based programs. Ouch.

I'm not saying that that problem would be insurmountable. Au contraire: it'll probably create a huge drive in creating non-Mono alternatives. But it will hurt us. And it is unnecessary: we have C, C++, Java, and Python-programs right now.

Personally, I don't really like the whole Mono thing. I think the whole interoperability business is bogus. I think we do not need Mono. In fact, I think the whole Mono project is redundant and that it should be looked upon with great suspicion. I may be overstating it a bit, but having been in this business for quite some time, I know that old dogs never learn new tricks. To quote admiral Ackbar: "It's a trap!"

Let's not put any more Mono-software in Gnome. And yes, let's support initiatives like gnote that provide alternatives to already established Mono-programs.

Anyway, if you want to rid you Fedora box of Mono, this aught to do it:

# rpm -e mono-web monodoc mono-addins mono-winforms mono-data-sqlite mono-data mono-extras f-spot tomboy mono-core gnome-sharp gnome-desktop-sharp gtk-sharp2 ndesk-dbus ndesk-dbus-glib gtk-sharp2-devel

Just install gnote as a Tomboy replacement, move .tomboy to .gnote and you're done.

UPDATE: It seems the guys at Fedora are on the same track and are pondering the replacement of Tomboy with gnote. And personally, I love them for it.


David said...

Just one question -- are you a programmer? Which large, desktop-class applications have you created on Linux?

oei said...

Yup, I feel the same - almost. I don't get the whole interoperability argument either.

I mean, I do think the work being done on Mono is great, in that it should allow people who wish to use any .NET apps that they depend on, to mix these in with their other apps on non-Windows platforms. Like mp3 and dvd-video, .NET is a de-facto standard which cannot be ignored, and it makes sense to facilitate their use.

That they're patent-encumbered or covered by DRM-legislation is a fact we have to deal with. If one day the patent-owners try exercising their rights and succeed, well, tough luck for all of us - no more interoperability, no more mp3 listening, no more fancy .NET apps (though I can't think of any I'd miss, lol). If that should happen, we only lose usage rights of which it wasn't really clear whether we ever had them.

But if you build newly developed FOSS apps like Tomboy, Banshee, and F-Spot on a patent-encumbered platform... then the whole argument above just doesn't work!

So to me making Mono available in the distro seems worthwile, but providing Mono apps as the default options does not.

wzzrd said...

@David: Sorry, I had too little time to properly answer you, but here goes.

No, I am not a programmer, mainly. No, I haven't created *any* large, desktop-class applications on Linux.

But let me ask you a question right back: does it matter anything if I didn't?

You, with a whole herd of other Mono enthusiasts, make it sound like the alleged ease of programming with Mono is on its own reason enough to embrace it. Personally, I do not think so.

So, let's take this to the legal level this discussion belongs to be at. Try, for example, to read this, without dismissing it as FUD beforehand.

And then please come up with some non-technical, non-FUD-screaming arguments as to why I, Sam Varghese, and a host of other people would be wrong.