Showing posts with label Mono. Show all posts
Showing posts with label Mono. Show all posts

Saturday, 19 September 2009

Is Miguel De Icaza neutral toward Microsoft ?

As you may or may not know, Miguel De Icaza is a well-known developer who is the head of the Mono project, an open source project which attempt (and succeed, at least partially) to reimplement Microsoft's .NET Framework.

Miguel De Icaza and Novell are helped by Microsoft for Mono development (for example, Microsoft Microsoft's Test suites or specification details, elements that were exclusively given to Novell, and are and will be not released to other developers. Also, Microsoft has declared it would not sue anyone using Mono users for patent infringement, providing they obtained it through Novell. I agree that it's maybe a matter of personal Point of View to judge that these are details, or are important limitations. However, it is also true that no developer could evolve Mono implementation with the same tools and help that Novell has, and even that those who would try to do that may be pursued by Microsoft for patent infringement.

So much for the context. Now Microsoft launched a new open source foundation called the Codeplex foundation. This foundation has many of Microsoft people at its head, but there's also a few non Microsoft people, including Miguel De Icaza himself.

Miguel De Icaza posted an article on his blog to announce this, and also to say that he thought it was a very good move on behalf of Microsoft. Needless to say, there were a lot of comments on this post, some positive, some very negative, even sometimes inflammatory.

I posted a comment myself, which was not inflamatory, but just said that I was still dubious of this move by Microsoft (I did not discuss De Icaza's involvement). Reasons I gave were:

  • At the same time, Microsoft tried to sell patents related to Linux to patent trolls, only luckily these patents could be bought "just in time" by the Open Invention Network.

  • Microsoft gave recently some GPL source code concerning Hyper V (a Windows Server virtualization) drivers, to the Linux kernel, but it appeared soon that this code was buggy to the point of being almost unusable. Also Microsoft does not answer any questions asked by the kernel developers about this code, which may force these developers to drop it from the kernel codebase.


In substance, I said that I trusted acts more than prose and that Microsoft acts still were not Open Source friendly at all.

hmmm my comment was deleted without warning from the blog. Why? I don't now, but this makes me now discussing Miguel De Icaza's involvement with Microsoft (something I did not do before, even in this comment).

Update: Miguel De Icaza just stated the cases where he deletes comments on his blog. Mine does not fall into these categories...

Saturday, 1 August 2009

Beware of differences between .NET and Mono

First, for those who don't know of what I'm talking about here, Mono is an open source implementation of .NET, and Moonlight (built on Mono) is an open source implementation of Silverlight. Though being (I bet it's not by accident) unclear about the legal situation of those who use Mono or Moonlight (two Novell products), Microsoft push Mono and Moonlight because it shows that .NET can work out of the box on Linux. Great.

Let's look at this a little more. I just read the last post from Jimmy Schementi's blog, a Microsoft developer who participate in the building of IronRuby, a .NET implementation of Ruby. The Microsoft team only works on the Microsoft .NET stack, but when IronRuby followers signal them bugs on Mono or Moonlight, they try fix the bug. At the end IronRuby is more or less working on Mono and Moonlight, meaning that it is working on Linux too. But.

This is the impression you have at first. But not all is working out of the box, and not because IronRuby still is in its 0.9 version. There's things that work in .NET but won't in Mono (Microsoft is in .NET 4.0, but Mono currently tracks the 2.0 version, and some things can not be emulated in Mono because it is to much tied to Windows), there's things that work in Silverlight and not in Moonlight (Moonlight is an implementation of Silverlight 2, but Silverlight has already reached version 3).

The contrary is also true. Mono and Moonlight allow things that can not be done on the "regular" .NET framework.

So beware if you think that code written for .NET / Slverlight will work out of the box. It won't, except if you are extra careful of using only things that are also available on the open source re-implementation. It reminds me of the differences between the Microsoft Java implementation and Sun's Java. It could work, or it could not work, depending on the situation.

But in these days it was not legal. Now it is, Microsoft has the right to do what it wants with .NET. I'm OK with that, but I also have the right not to play with all these .NET goodies. Right ?

P.S.: I have nothing against Jimmy Schementi's article. My only concern is that separating what works on one, two, or both implementation is not very clear in his post.