It seems that everyone knows about .Net. Microsoft'slatest effort is featured in television and magazine ads all over the place. Of course, some people think that enough vapor surrounds .Net to cause one to become lightheaded if exposed to it for an extended period of time.
But peel back the nearly endless supply of marketing hype around .Net and you find an actual architecture under there -- a published architecture interesting enough to capture the attention of Miguel de Icaza, a driving force behind the Gnome desktop and CTO of Ximian. In fact, the architecture is so interesting that de Icaza decided to begin an open-source implementation of it in a project called Mono.
So what is a nice open-source guy like Miguel doing with a project that supports what some regard as the "evil empire" from Redmond? That's a question that many open-source folks have asked. Shouldn't the open-source world be concentrating on increasing its unique value proposition instead of bolstering the position of Microsoft?
When I spoke to Miguel at the New York LinuxWorld in February, he had plenty of answers. He found a certain utility in the specification that lies at the center of .Net. That, coupled with the sentiment "It's a lot easier to implement than to design" an architecture, led Miguel and friends to start the Mono project. "What we want to do is to be 100 percent .Net compatible," Miguel explained. Why? Well, any software application written by a third party to be 100 percent .Net compatible should be portable to Linux when Mono is finished.
Now there's a thought. Any pure .Net application written under Windows will be instantly portable to Linux. Not a bad concept for .Net application designers and consumers alike. But what if Microsoft decides to "extend" its own .Net specification to add undocumented calls? Well, all the third-party vendors will be stuck in that boat as well. And they will still have the option to build a larger Linux-based business by using Mono instead of the Windows-based implementation.
As far as I am concerned, there is another reason for creating Mono: It is the open-source thing to do. Remember that open source itself is not about business plans (although companies such as Ximian have them). It's not based on one piece of software triumphing over another. Open source is about freedom. Freedom to use (and, if needed, modify) the software. Freedom to choose which solution works for you. Even freedom to better control your business by exercising control over your software.
This dedication to the freedom of the user means that users should be free to choose a publicly available architecture, even if that architecture happened to be designed by Microsoft. Giving people that option is part of what open source is about.
The community is at its best when it is true to itself -- even if Microsoft might in some way benefit from it.