I appreciate your views as they are far more balanced than the average lock-in conspiracy theorist. You seem to have thought this out thoroughly and I respect that.
I'm telling you now that lock-in has never been an explicit goal of any team I have worked for or with. Lock-in is often an unfortunate side effect of prioritizing customer paint points and integration, while downplaying the importance of engineering.
"What is my escape plan?" is a very real question that enterprise buyers consider. Microsoft software does, in fact, offer escape plans. You just need to think at the enterprise level instead of at the consumer level. Consider our server technology: someone builds an intranet app for their enterprise which uses .NET, IIS, Windows Server, etc. Their app is now tightly bound to a Microsoft stack. Each of these individual components has evolved together due to business needs and it is quite difficult for open source software to replicate any piece of the stack. That is more an accident of process than anything else.
Now lets say Microsoft server licenses are too expensive and your enterprise decides to move to Linux. The Microsoft licensing costs are already sunk. The enterprise doesn't say "Oh dammit. We've got to get rid of all these old Microsoft servers and move everything to Linux!" Why would they do that? If it isn't broken, don't fix it. Instead, they keep on running the old servers and put up with the old problems because they have already paid for that stuff. It's in the past. Enterprise customers don't buy individual components. They buy "solutions". Sure, if you get a Microsoft server stack, you're locked into the Microsoft server solution. But you wouldn't ever change any one piece of that stack anyway even if you could. Enterprises simply don't operate that way.
Now, in the document space, you want your old data to keep on trucking if you decide to switch to OpenOffice or something. Customers want that escape plan and if they don't get it, they won't buy. So Microsoft spends the money on developing that escape plan. Engineering decides that the existing standards aren't sufficient (it's true, the open spreadsheet standards still are not finalized for cell functions!), so they go build their own, but apply for standardization so that others can replicate the standard. They documented that spec in incredible detail because there was A LOT of skeptics. They had to silent the skeptics to convince governments to buy Office.
Lock-in hurts Microsoft too. Our customers expect escape plans, but we're not going to spend dollars developing escape plans that customers haven't asked for. That's just bad business.
I'm telling you now that lock-in has never been an explicit goal of any team I have worked for or with. Lock-in is often an unfortunate side effect of prioritizing customer paint points and integration, while downplaying the importance of engineering.
"What is my escape plan?" is a very real question that enterprise buyers consider. Microsoft software does, in fact, offer escape plans. You just need to think at the enterprise level instead of at the consumer level. Consider our server technology: someone builds an intranet app for their enterprise which uses .NET, IIS, Windows Server, etc. Their app is now tightly bound to a Microsoft stack. Each of these individual components has evolved together due to business needs and it is quite difficult for open source software to replicate any piece of the stack. That is more an accident of process than anything else.
Now lets say Microsoft server licenses are too expensive and your enterprise decides to move to Linux. The Microsoft licensing costs are already sunk. The enterprise doesn't say "Oh dammit. We've got to get rid of all these old Microsoft servers and move everything to Linux!" Why would they do that? If it isn't broken, don't fix it. Instead, they keep on running the old servers and put up with the old problems because they have already paid for that stuff. It's in the past. Enterprise customers don't buy individual components. They buy "solutions". Sure, if you get a Microsoft server stack, you're locked into the Microsoft server solution. But you wouldn't ever change any one piece of that stack anyway even if you could. Enterprises simply don't operate that way.
Now, in the document space, you want your old data to keep on trucking if you decide to switch to OpenOffice or something. Customers want that escape plan and if they don't get it, they won't buy. So Microsoft spends the money on developing that escape plan. Engineering decides that the existing standards aren't sufficient (it's true, the open spreadsheet standards still are not finalized for cell functions!), so they go build their own, but apply for standardization so that others can replicate the standard. They documented that spec in incredible detail because there was A LOT of skeptics. They had to silent the skeptics to convince governments to buy Office.
Lock-in hurts Microsoft too. Our customers expect escape plans, but we're not going to spend dollars developing escape plans that customers haven't asked for. That's just bad business.