Back in 2003, I blogged about how Miguel de Icaza could not get his proposed Birds of a Feather session approved at Microsoft’s Professional Developers Conference.
There’s always been ambivalence at Microsoft about Mono. Extending the value of .NET – good. Making it possible to ditch Windows – bad. Mono events at Microsoft conferences have tended to be off-site affairs in nearby hotels.
Viewing the sessions for Mix08, it’s clear that Mono has been pretty much welcomed into the fold. The catalyst for change was Moonlight, which solves a problem for Microsoft by enabling Silverlight to run on Linux. Miguel de Icaza is participating in a panel discussion on open technologies (with Andi Gutmans at Zend and Mike Schroepfer from Mozilla), and has his own session on Moonlight, subtitled “Come experience .NET on Linux”.
Don’t expect Microsoft to open source Office any time soon. That said, the company has changed significantly since 2003. Yes, it’s been forced by the market; but it’s a welcome development nonetheless.
If the Yahoo deal goes ahead, open source at Microsoft will get even more interesting.
“That said, the company has changed significantly since 2003. Yes, it’s been forced by the market; but it’s a welcome development nonetheless.”
During the evangelism phase, Microsoft has to give stuff away. It’s just part of the plan.
I see Mono as a tool to break the open source community apart.
Don’t forget that it does not matter what Mono does. Microsoft has a long history of coming up with Windows-optimized binaries (remember Sun’s Java versus Microsoft’s JVM?). There is a battle you can’t win.
“If the Yahoo deal goes ahead, open source at Microsoft will get even more interesting.”
The blogosphere seems to rumour that Yahoos are sending resumes all over the place. I sense massive exodus period, no “more open source”.
Do you mean for Silverlight, or for .NET? If you mean .NET, the evangelism phase is long since passed. It makes more sense in the context of Silverlight; but I reckon Microsoft knows it must deliver cross-platform to have any chance of success vs Flash.
Tim
Regarding Microsoft and Java.
If I had been on Microsoft’s position, I would also have extended Java, and it is exactly what we do with Mono. Mono embraces and extends .NET.
Because of our small size as a team, we tend to extend .NET in ways that remain compatible because that is the only strategic decision that makes sense at this point.
Microsoft extended Java in two important ways: P/Invoke for Java (I forget the name, perhaps J/Direct?) and delegates.
It is interesting to see that although Delegates were attacked viciously by Sun as useless at the time (you can google the article) they are turning up on the lambda/closures discussion. They have a different name, but they are there.
Not accepting delegates at the time was just arrogance: we know better, and we will not get them into Java.
The same thing happened with J/Invoke, people in the Java world finally realized how painful JNI is to use, and that actually copying the Microsoft model was a good idea. It now exists as the “Java Native Access” API.
You might say it was evil, but it seems that Microsoft was just ahead of the game when it came to real world uses of Java back in 1997.
Miguel.
“Do you mean for Silverlight, or for .NET? If you mean .NET, the evangelism phase is long since passed.”
I was specifically thinking about Mono and the effect it has on Unix OSes, now that some people out there are adding Mono dependencies as much as they can. But it holds true for everything .NET actually. The best example is VBA versus VSTO in Office related applications. Nobody has a reason whatsoever to use VSTO over VBA given that they are almost certain to lose something : performance, ease of use (business people), integration, stability, …
“If I had been on Microsoft’s position, I would also have extended Java, and it is exactly what we do with Mono. Mono embraces and extends .NET.”
That you like Microsoft’s embrace and extend attitude is not news to me. You take it a pride to be Redmond-most smiling advocate while not on their payroll (at least not directly…).
What you call extension is actually a planned and conscious agenda to kill Java “write once, run anywhere” where it could be killed. Then Microsoft used their marketing forces and the rest is history.
Microsoft has ALWAYS used the performance trick to justify what they reinvented the wheel at every turn, went their own way on just about everything.
See OOXML, they are not fixing it. OOXML excuse is performance, again. OOXML is not XML, it’s angle brackets around binary streams. Everything in it is designed to make it possible to come up with a “better performing” excuse. We know that, in 2008, it’s hard to trust those guys when they could achieve much more by going back to the drawing board and desiging a really XML native Office document model (with better separation between document and application, just as ODF in fact…)
It’s interesting how you Miguel are rewriting history by making sure what you say is perfectly in line with what Microsoft says. Their own Karl Rove’s history.
For instance, if you ask them (and Tim even wrote about it) about where .NET came from, you will not find them make a reference to anything remotely close to Java. In other words, it was innovation.
Then, when you compare .NET 1.0 (run-time, base classes, SDK, tools) and Microsoft JVM (run-time, base classes, SDK, tools) in 1997, they are exact replicas of one another.
I’m sure this is just coincidence.
I’ll add to this that, in regards to virtual machines, that Microsoft miserably failed by having two separate run-times, one for 32-bit OS, another for 64-bit OS.
What’s the purpose of the virtual machine if it can’t even abstract this away?
What’s the purpose of the JIT if it is not even given the chance to compile this according to the underlying CPU?
That’s not just the DevDiv that is miserable. Take a look at the Office team : no 64-bit version of Office. VBA is single threaded so it can’t be used on Excel server (sharepoint). And that goes on…
I’m glad that miserable failures like this are eventually going to hit them back like a boomerang. Give credits to where credits is due.