« Is your project agile? | Main | You know you're a programmer when... »

June 23, 2006

Mono: A solution looking for a commercial problem

The biggest thing holding back open source software is that it is engineering driven rather than market driven. A great example of this is Mono.

Mono is, succinctly, a solution that is searching for a commercial problem to solve.

The features that differentiate Mono from Microsoft .NET are being cross-platform, being free (as in beer), and being open. Java beats Mono handily in the first two categories. For the third, Java is open source but not free software. Few care about that distinction.

If an organization is looking for a cross-platform development environment they're going to go with Java. The tool set is more mature, language better supported, and the accompanying documentation far more extensive.

If a company wants .NET they'll use Microsoft's implementation. Microsoft has a 2-3 year lead in development. Mono is incomplete and buggy.

Both Java and .NET enjoy the support of large corporations, whereas Mono gets only ancillary support from Novell.

This leaves Mono as little more than a research project for developers. I'm sure many small organizations use Mono.
They probably selected Mono because the techie-in-chief thought it would be cool or as a anti-Microsoft gesture.

Indeed, Mono admits as much on its Web site:

Question: Aren't you just copying someone else's work?
Answer: We are interested in providing the best tools for programmers to develop applications for Free Operating Systems.

In the commercial world Mono would have been correctly abandoned a long time ago in favor of a product that actually serves an unmet need. In the open source world we have a solution to very few people's problems.

Posted by gsmith at June 23, 2006 10:08 AM


See, you'd think that wouldn't you? I would too, except we had a client bring their engineering team in to consult with us (we were going to building the UI layer, i.e., visual design and HTML) except the engineering lead (keep in mind this was almost a year ago) told us they would be delivering C# web services through Mono (Apache on Linux) to a Flash front end.

Problem solved.

Posted by: Tom Clancy at June 23, 2006 01:07 PM