Thoughts on 'Mono-culture and the .NETwork effect'
Someone posted ‘Mono-culture and the .NETwork effect’ discussing pretty much how the Linux world would come to an end if people were to adopt projects that allowed .NET on Linux (specifically Mono). It never ceases to amaze me the amount of paranoia bulls+t that surrounds Linux concerning Microsoft. Even Miguel de Icaza (the founder of the Mono project) rebuts this nonsense.
Now here’s some of my thoughts on this subject:
First off, Microsoft has made key components of .NET not only ECMA standards, but ISO standards as well. This is more than Java has ever thought of doing. What does this mean… well, first, it somewhat locks Microsoft’s ability to make major changes to these components on a whim. So saying that Microsoft will make major changes to critical components is ridiculous. Umm… they can’t. Plain and simple. What does this mean to Mono… not much. The portions that are ‘open standards’ are basically the bare-necessities to get .NET up and running. Essentially, it covers what would be necessary to make console applications (if I’m not mistaken). From there anything else can be built on top of this (Windows Forms, ADO.NET, ASP.NET, Windows Services, XML, etc.).
Now for the DMCA. First things first concerning the DMCA is that it’s something that is doomed for failure and will have to be revised. It’s already been the topic of several significant abuses. Anyways, to my knowledge, the DMCA is about protecting reverse engineering. Mono isn’t reverse engineering .NET. They are developing (according to their own FAQ) using the published standards and Microsoft documentation. They are being very critical not to use any code or ideas from Microsoft’s own source (Rotor). So, I’m not really sure how the DMCA comes into play here. If anything, projects like Mono do nothing more than inspire Microsoft to continue to innovate and improve .NET to make their own platform a better option than Linux (or alternatives).
Concerning Microsoft being more ‘open and sharing’. I guess you just can’t win for losing. Microsoft is making many changes to it’s character. Being more open, being more conscious of security, being more concerned about stability and enterprise level usage, sharing and communicating with the rest of the community. Although the Microsoft bloggers aren’t necessarily the official voice of Microsoft, it’s a good indication of how Microsoft is being open by allowing pretty free speech by it’s own employees in many open forums including blogging, message boards, and newsgroups. However, because of their changes, the conspiracy theories abound. Wake up people.
Now for some realities:
Mono can never compete completely with Microsoft’s .NET. At least not head to head. Microsoft’s own published road map lends a few clues to this. It will not be possible for Mono to develop a 1 for 1 compatible .NET framework with Microsoft since Microsoft is making it’s new releases in line with major platform releases. This means that Mono will always be at least one step behind… giving Microsoft .NET a competitive advantage by default. Also, even though is a partial goal of Mono to be as compatible as possible with Microsoft .NET… this is not it’s main goal.
It’s in Microsoft’s best interest to play fair in regards to these types of projects as long as these projects play fair in return.
Bottom line, in my opinion, projects like Mono will never be a large threat to Microsoft unless they somehow make it so that a Visual Basic developer can develop on Linux as easily as they can on Windows Platforms. This will most likely never happen since the Linux community is nose up towards VB. Not only this, it’s also that Linux still has a long way to go before being as accessible to the end user as the Windows platform. I’m not discounting Linux as an alternative, just that in my opinion it still isn’t grown up enough to get me to switch. Even if it was, would I switch? I don’t know. For now… the answer is that I’m still a Microsoft faithful ;-)