domingo, 5 de julio de 2009

Miguel: You, the man! - Open letter to Miguel de Icaza

Dear Miguel:

During the last couple of weeks there has been a tremendous amount of information pouring about Mono, the free (speechwise) implementation of .NET started by you, Novell's vice-president of Development Platform, and how it should/would be handled by distros. We even had RMS himself come into the fray and tell us his take on it (which he had been mum about till now).

Mono is a development framework that (more or less) implements .NET (yes, that framework from Microsoft). The thing is that while some parts of .NET are open standards approved by ECMA and released under RAND terms, there has to be a solid word from Microsoft about what these RAND terms would be for Mono. The biggest fear of it is having a patent related claim later on when Mono-dependent applications become more "established" and harder to be replaced.

We have seen that when you are asked on it, you point at ECMA and when they are asked they do an HTTP redirect to Microsoft instead.. and they are just as mum as RMS was (conveniently so for them, I think.. they must be laughing their asses off by seen how we debate on the topic with them moving not a single finger).

So, coming back to the point, what we need, Miguel, is a statement from Microsoft, and I mean from someone that has gained a little confidence from the FLOSS community like Sam Ramji or Lawrence Crumpton who have at least shown their faces and stared at the beast (us) straight into the eye and not some random PR representative, telling us how the thing with Mono is.

Now you are the guy with the contacts at Microsoft, you are in charge of Mono, so just like in "The Ladykillers" (do I love that movie!) when the quarterback grabs Lump by the helmet's grill and tells him: "Hey, butt-head! You, the man!", now it's my time to tell you: You, the man! Get us out of this FUD feast (from both sides of the debate) and make them say something we can eat.

Glad to be of service

12 comentarios:

  1. Excellent post!

    It's clear to everybody (but a few Novell employees) that Mono isn't in a safe position, and therefore all the Free Software depending on it. They ought to do something about it before trying to push its adoption any further.

  2. Nice. My thoughts on my blog here:

    I'm not sure why:
    a) Strong and clear assurances from Microsoft are so hard to come by - *if* Microsoft really wants to see mono succeed

    b) Why mono supporters think that half-assed "this is the best we've got" assurances work when you can't provide strong assurances.

    I mean if something costs $10, I can't buy it just because it costs $5.

    If I need strong assurances, I can't commit to a technology if all you are offering is weak arguments.

  3. I don't think this request will go anywhere. When looked at it coldly, it is in Novell's and MS's best interest to keep the situation cloudy.

    Novell is protected against MS by their five year deal, so Mono is no threat to them. If Novell pleases the master, they will get another five year extension, by that time .NET is ripe for replacement by the next big MS thing.

    MS likes the uncertain situation. The FUD and the strife over Mono alone retards the development and growth of Linux. If MS does have patents with teeth on .NET, they will keep silent as the grave. If we eventually greenlight Mono and it becomes part of the plumbing, they have an ultra powerful weapon to corner Linux.

    In the meantime Novell is the only one able to develop in Mono in peace and they can plaster FUD-stickers all over the other distributions who include Mono.

    Asking D'Icaza for ironclad clarification on Mono is like asking Mephisto to shred the contract out of the goodness of his heart.

  4. Taking on developer with a legal questions?...

    You should try writing for BoycottNovell - there is a whole bunch of people over there who took "an advice" from late RMS that talking religiously about technology magically equals to be a committed contributor.

    Guys, you are at best "involved". F/LOSS is developer driven. Again: F/LOSS is developer driven. We are not commercial organization, we are not political organization. We are the developers and we do whatever hell we want to do with our spare time.

    Unless you vest your spare time into implementing something besting Mono/C#, providing some level of portability between Linux and Windows, you have no say in the matters.

    "Talk is cheap. Show me the code." (c).

    Do not get me wrong. I do not like Mono/C# in general and Icaza in particular. Not my types. All I'm trying to say here that you try to politicize pure technical issue - because we developers view it as pure technical. And we developers choose for us - not you or RMS or anybody. This is our choice - even if it is a wrong one - and you are not to take from it us.

  5. @alo: Thanks for your comment.

    @Jason, thanks for linking and following up.

    @r_a_trip: I don't know what to think about Novell. The thing is that even if they wanted to go into bed with the devil, why did they have to bad mouth every one of their upstream sources? I don't know if in two more years their their PR status in the FLOSS community will have improved... and after all they are a FLOSS company, aren't they? Well, perhaps that used to be true.

    @Ihar: No, man... I'm not asking Miguel to solve the legal matter for me. What I'd like Miguel to do is to use his _contacts_ in Microsoft to get them to move someone who can's feet and solve the matter for us. Who is it gonna be? I don't know. I think an statement from Sam or Lawrence would bring more trust than if it were made by steveb, I think. And I'm not being religious here. There are, whether we like it or not, patents on software (and other species... Rambus' case comes to mind... and only in some countries, anyway) so while we are not certain on the patent situation of Mono, I don't think it's a bad idea to be _cautious_.

  6. Hello,

    You will be happy to know that Microsoft has officially stated that they will apply the Community Promise to ECMA C# and CLI:

  7. Ihar, I like to see comments like yours if that is truly how you feel. You are correct in saying you do what you want if it is your time (or if you are getting paid). I am not worried about that. If you truly don't care about patent or other issues, that is not my biz. However, the public discussion exists because other people care. Current and future contributors don't want to waste their time. dotnet is not a technical wonder. Given two similar options (assuming dotnet/mono is one of them), some developers and users will opt for the one that is less likely to give them headaches later on or to cost them more than they would like to spend. And if you think something is hurtful to Linux/FOSS (or is very risky), then you might want to contribute to make sure the alternatives remain competitive.

    If mono supporters truly stayed small in number, that affects few people negatively, but if people don't discuss and are mislead, then many people might end up shooting themselves in the feet. The network effect can be a blessing or it can ruin a good day.

  8. So Microsoft apparently is about to officially improve their patent promise...

    Proxies still seem as much of a threat as ever -- in such cases it won't be Microsoft that would be suing. [eg, "Myrhvold's company and Gates' company"]

    Also, and more importantly, how far can we get on vanilla standard mono without bumping into interesting needs that violate patents outside of core mono? [ ]

    Microsoft has designed to give away the base but not the rest of the structure [as quoted in Comes exhibits]. Let the children play and gnaw on the outside of the house so they are lured inside but don't give away the whole house.

    To quote a relevant piece from the trap link mentioned above:

    >> Finally, there is a more insidious trap that exists. You can be given a patent license and even GPL code for the core API, but not for the patented API extensions. You may then find that you can create only simple applications safely (with that core API), even if you decide not to use the patented extension API but build your own. This is more insidious because the patent and copyright licenses given for the core API give the illusion of safety (a green light to proliferate), and is insidious and dangerous all the more so since you might purposely avoid the patented extensions. The trap happens if you use the “safe” core with any extension whatsoever (since the extended patented properties can be very general in nature). The details of this extended insidious trap may form the subject of a third article later on. It’s also described further here

  9. An example from might help explain the extension trap.


    Did you see where the magic came from? Was I too fast?

    Let me explain more slowly.

    The core patent created context for a new invention. Once we have that context, we can in fact patent playing music because an invention that includes that prior invention (sendhello) AND plays music has never been done before.

    It's an invention! It's new. Many will argue it's novel. There is no prior art to sendhello AND playing music in any product.

    Now, let's formally tie this hugely important observation to show why Company X will actually be willing to give licenses to the core invention (only).

    Once you are playing in their sandbox, they can be the first to patent *very general* inventions that, were it not for the special context of that core patent, were invented decades or more ago. But within that context, they can claim "innovation".

    So let's take an example to see why this general extension patents are so deadly.

    Let's say you have a license to the core so you go ahead and create 100 applications with it. Then you say, "if I don't get a license to the extensions from Company X, I'll just not use the extension API and create my own. Ha!"

    Well, that very well may not work. By using the core invention, they can patent almost any type of utility you may want to create with that core invention because they can be fairly general. It's a new world, and they got there a few weeks ahead of you to plant flags all over the place.

    Were you not using that core invention, you'd be perfectly fine. There is prior art for playing music within a more general context, but for inventions that use that core invention AND play music, you are cooked since the patents were gotten way before you were likely to begin building with that core API to try and do interesting things.

    So, to recap the main deadly point. If you use the core invention, which itself might even be fairly specific to a brand new combination of technologies, then, even with a patent license to that core, you might find you can't do anything interesting afterwards without violating patents. This will be the case if the general patent extensions were gotten ahead of you creating the app and even if you never use any of the extension API. So the core is detailed and creates unique context, then the extensions can be general and cover almost anything interesting you may want to do.

    What is the solution after you find yourself in the middle of the patent mind field?

    You dump the core technology and start afresh because those core patent licenses could not protect you no matter where you wanted to step so long as you brought along that core baggage.


  10. It seems I have to eat my own words. MS is changing. They just practically donated any MS patent pertaining to the ECMA .NET core to the world at large.

    I also have to tip my hat to Miguel d'Icaza and apologize. He did step up and worked to get the Mono core free from any looming IP cloud.

    I guess that makes Mono a go.

  11. Well, Miguel..... had I known you were only waiting for me to tell you to get them to say somwthing, I wouldn't have taken this long to have sent my open letter. :-D

  12. Este comentario ha sido eliminado por un administrador del blog.