It is so important that people should be forced to sell things that adhere to a mandaded system? Should I be forced to write code in a spcific way? This isn't academic - I'm about to push code to CPAN. I'm going to do so because I think there's a commercial advantage it releasing the code. Are you proposing that I be forced to write to some spec (that doesn't exist)?
It's critical that vendors adhere to published specs. They can be "standard" ones, they can be their own ones, but they have to be PUBLISHED. Either as an RFC-like document, or as the source code of the program/driver itself. I don't care about the form as long as I can take that damned thing and glue it to whatever I am building at the moment without having to reverse-engineering it. (Or, even more important, that when I will be tracing why it doesn't work as expected, I will know where I have to look for what.) If the specs are too tight for you to fit, or aren't at all, good for me - but I want to have enough of data to write an eventual convertor from/to something other. What it does inside is your business, but I want to know what goes in and out - protocols and data formats.
(I must say that I'm not defending Microsoft. I think they're killing innovation everywhere they can. Typical monopoly behaviour - it isn't interesting. Transforming them into a public utility is not the way to call them to task. Making them an AT&T is.)
I want to see Billy "Greedy" Gates having to powerlessly watch his power disappearing, his clout leaking through his fingers, his empire crumbling. This would hurt him more than losing money. I want to see him suffer. I want him to end in Hell, reinstalling Windows NT 5 forever.
I largely agree that it is aweful that IT is so stagnent.I'm personally doing OK, if not great, selling change. I sell open source agressively. Sometimes, I sell closed source. Best tool, best job. Trade is about what works. I do have a personal preference, but that does not interfere with what I tell clients, because I fell I have a duty to tell then facts.
I go for open source whenever I can. If I can't have the source, I want at least the specs. I would have to think hard to find what I hate more than feeling powerless - when a binary-only thing doesn't work correctly and I can't take a look into it and litter the suspicious part of code with debug messages. (I am in fighting mood now, freshly after winning a several hours long battle with gnokii, smsd, and Nokia 3310, trying to figure out why that damned thing sent a message 4 times and claimed error. The reason was a response timeout constant defaulting to -1 (no wait) instead of 30 (at most 3 seconds wait). If it'd be a binary-only thing, I'd have to wait at least a day for the vendor's response, likely MUCH longer - if it would have support at all.) Mark Twain was right, when he said that the nearest helping hand is right at the end of your shoulder. :) I just wish the corporations would let people help themselves and wouldn't push for artificial complexity and forced dependence on their "good will".