So I've read the news over the past few days about the delay of ObjectSpaces until the Longhorn wave, and a lot of people seem to be upset by it for various reasons. I've been watching this play out with interest, and made a few interesting observations about the situation.
First off, after the MVP Summit, I had a chance to sit down with Alan Griver, the Group Manager for the VS Data team at Microsoft. (He sometimes posts under “yag“) His team influences data teams across Microsoft, from the VSTO team to the SQL team to the FoxPro team, in terms of how these different data systems work in Visual Studio. When I specifically brought up the ObjectSpaces delay and the ridiculous amount of speculation surrounding it, he told me that when he joined the team several years ago, he committed to having a single data access strategy, and keeping it for as long as possible. In every prior release of VS, there was a different way to access data. He said that he wanted change that, and he did, starting with ADO.NET. When Whidbey comes out, it will be the 3rd VS.NET release without major data access changes, and for that we should thank him.
Alan also told me that one of his goals was to come up with a unified model for accessing data across most Microsoft programs. It would be nice, for example, to be able to load up Microsoft Money data the same way you can in SQL Server using ADO.NET. If you put aside the emotion and really think about it for a second, that's one of the key reasons they're putting WinFS into Longhorn, to remove the "program-specific silos" that happen in application development today, and allow WinFS to be not only a file storage system, but an information storage system as well. Think MSDE installed on every desktop by default, tied into the OS. Microsoft wants to make ObjectSpaces the way IT'S OWN teams get data out of WinFS in the Longhorn time frame. Now, if you actually, oh, I dunno, READ the news past the headline, you'll see that this is exactly what they said. And for most, normal, sane people, this makes a decent amount of sense.
So, ObjectSpaces is an important technology. Microsoft wants to get it right in V1. With every product being relied upon it when Longhorn comes out, they almost don't have a choice in teh matter. They don't want to have to wait for it to be usable until V3, like most Microsoft programs, they want it done right the first time. And that's admirable. It's not like you're not going to see bits shipped in beta form between now and 2006. You'll still get to use it, so what's the big deal?
The other interesting side of the furor comes from the O/R mapping vendors. As soon as MS announced ObjectSpaces, most of them went into an uproar. From what Thomas Thomacziek (of EntityBroker fame) stated in his comments to Jesse's post, he hired an attorney to file a lawsuit against Microsoft for it. He basically stated that he thought it was possible that Microsoft was so scared at that suit, that they held off delivery. Microsoft has $60B in the bank, and he thinks that a rinky-dink lawsuit scared 'em. Come on man, I mean seriously. You don't feel like you have to compete, so you have to sue? I didn't know Thomas changed his name to Scott McNealy.
Personally, I see it as a blessing that Microsoft even releases this kind of information, and so chould they. Anything less than that is incredibly myopic. Instead of looking at the situation and going "I have two-three years to fill a void now, AND plan for how I'm going to position my product when Microsoft releases theirs. Because I know that, no matter how good Microsoft's product is, it will staill have gaping holes that need to be filled. And the more I know about it today, the better position I can be in to fill those foles later." It's like telling Saddam Hussein you're gonig to invade his country 8 months before you do. Gives you time to plan for it.
But no. Most of these companies have bet their entire business model on one product. And they guard their market share like hawks. They don't see new players as a driving force for innovation, they see them as a threat that will likely destroy their very way of life, and they must protect the way things are at all costs. So they whip out their attorneys and their harsh language, and waste time they could have been spending gaining customers in the interim. Because they have yet to discover a very simple fact: If you take care of your customers, they will stay your customers. Who is going to rip out an entire O/R framework and replace it with Microsoft's if the existing code works, and works well? No one I know. At least, no one with any common sense.
Case in point. Microsoft may make the Whidbey "DataGridView" control that can keep the header, footer, and pager stationary, while scrolling the body area. Some component vendors would get scared and head for the hills, saying "I'm ruined. This component makes up 85% of my business." But I'm not like that. Why? Because I'm thankful to Microsoft for giving me ample leadtime before they enter the market, and I don't hedge all my bets on one product. If I can't make my product compete effectively with theirs in that lead time, I have more than enough time to see what ofther parts of the Framework need spackling, and whip something togther. That's called an effectiv positioning strategy, and it's way cheaper than using the Justice System as a means for beating a competitor.
It used to be, if you can't beat 'em, join 'em. It was an effective mentality that worked. Today its: If you can't beat 'em, sue 'em.
The bottom line is, your real beef is that you want this technology now, and if Microsoft builds it into the .NET Framework, you won't have to pay for it. You can shell out money right now and use any one of the fine products available right now that do the trick, but you don't want to. It's the mentality of a three year old... "I want it NOW! GIMME GIMME!", and it's ridiculous. Grow up. Seriously.
Let the flaming begin.