It has been interesting watching the debate around Mono over the past few months. As essentially an independent observer – albeit one who has used Mono and can almost code C# – I couldn’t help the sneaking feeling that somehow, some of this was being orchestrated behind the scenes.
Particularly on the “anti-Mono” side, it has been pretty clear that an agenda of agitation has been in effect, with various distributions being prodded into making statements either way and various “users” kicking up stink on mailing lists – not least a certain infamous blog writer being caught red-handed whilst goading people on to write angry letters. I don’t know if speeches like Stallman’s were co-ordinated – I suspect more likely happenstance – but it all seemed very well timed.
And now it seems that Novell have been leading Microsoft into giving a Community Promise surrounding patent claims that cover the “standard” parts of Mono. I predict this is going to have a surprisingly negative effect within the community, however. It validates the arguments of people worried about Mono, and this proposed split of Mono into “Standard bits covered by MCP” and “Other bits not covered by MCP” is actually going to fuel the flames: inevitably, people will assume the non-MCP bits are a total patent mine-field, no matter what is actually in that area. Parts that people are quite happily shipping right now – such as ASP.net – will be targetted next by people “anti” Mono. And for the parts covered by MCP; well, I expect not much to change: certainly, it’s not likely to convert many people to Mono.
In this scenario, I would actually suggest this is a step backwards. People will read the MCP news as an admission that Mono is at risk from Microsoft patents, and it certainly will not unite the community in any fashion.
Personally, though, I think this move signals that Mono is now basically big-time. I don’t know how many will agree, but the smoke-signals have been in the air for a while: major products such as Sims 3 by EA shipping with Mono, for example. It’s big enough that Microsoft is having to sit up and take notice; it cannot be long now before Microsoft starts shipping either parts of Mono or its own implementations of key Mono tools and libraries.
I don’t think “the Mono issue” is going to be resolved in the Linux community any time soon. However, as I’ve said before – I don’t think that matters. The community of people using Mono, and the community for whom Mono is an attractive proposition, is an extremely large and probably not (for a large part) particularly Linux users.
Like Firefox before it, Mono is becoming a break-out technology which appeals to an entirely different set of developers. In Firefox’s case, it became the web developer tool par excellence due to its vastly better debugging, inspection and developer tools. Mono isn’t comparable with MS’ development tools yet, but already has a strong appeal to people wanting to use .net development tools in non-Windows environments. You can use Mono to develop for Microsoft’s own Xbox 360 – as far as I’m aware, you can’t do that with Microsoft’s own .net yet.
It will be interesting to see where the Linux community moves to on this issue over the next couple of years. Whether or not Mono gets used much doesn’t really matter any more though; Mono is now an entirely successful project in its own right and it’s going to be here whether we like it or not.