For me, telling their employees that patents would only be used defensively, then using them offensively (against Android) is as bad as anything they've ever done.
That is not to say they don't have a lot to make up for, just that there might still be hope for Microsoft.
Had they stopped extorting Linux and Android OEMs? Will ARM-based Win8 tablet makers be allowed to ship unlocked bootloaders?
I don't think they "tried to do". I think they actively do it.
Perhaps I just am not familiar enough with what they've done to harm OSS.
Perhaps you meant "malevolent empire?"
That is probably the case. They've done a lot of harm to OSS and the technical community in general:
- OOXML vote stacking,
- Patent suit threats chilling effects against virtualdub
- Vague FUD claims against Linux infringing on intellectual property, never substantiated
- Extortion of fees from handset producers for using Android
- Disallowing dual boot on Win8 ARMS (and that goes some 15 years back - and was one of the ways they killed BeOS)
- Refusing to support ISO standards (like C99) and IETF standards (until they were forced to by dwindling market share)
It is my impression that Microsoft has repeatedly shown they will not act antisocially only when they have no other choice.
Microsoft doesn't ship a Fortran 2008 compiler either; should they?
This would have been true if Microsoft wasn't also providing the platform. I have been avoiding MS platforms like the plague for the last 5 years, but when I last developed for Windows, you had to use the Microsoft C/C++ compiler to properly play with many system interfaces (some of which, e.g. IShellFolder, are only exposed this way).
Perhaps gcc is better these days, and you really can do without a Microsoft compiler; that wasn't the case 5 years ago.
> for the line-of-business developers that makes up the bulk of Microsofts dev market, C99 compatibility is simply not important.
Of course, neither was ODF/OASIS support, and neither was OOXML. But the former was an industry standard supported by every other player. And the latter was an incompatible standard introduced by Microsoft for political reasons and not even properly supported by them.
Which supports my claim that Microsoft is not becoming community friendly (for any community other than "Microsoft developers") or helpful in any way.
Microsoft doesn't need to ship a Fortran 2008 or C99 compiler. But I think there's no merit in the claim that Microsoft is trying to be friendly with the open/standard community, or that it has changed its ways (given in my list above) in any way.
There are commercial compilers from Intel and others which I think are both thoroughly compatible with Windows and support some or all of C99; these are always options.
I wasn't taking issue with any of your other examples, because I'm largely sympathetic to those claims. But Microsoft's failure to sell a specific product you want from them seems like a different category of complaint entirely.
There definitely was stuff incompatible. I think at some point gcc/icc started supporting these extensions, but for a long time, all of the midl / type library tools with MS only, and the header files used proprietary MS extensions.
You could, of course, rewrite the definitions for another compiler (COM was documented), but it was a tedious error prone thing to do.
> Microsoft's failure to sell a specific product you want from them seems like a different category of complaint entirely.
The list of complaints was far from complete, I tried to give complaints of different kind. This one is in the same category of the IE6 stagnation (market owned -> innovation stops, standards ignored). It's not as antisocial as the rest of the complaints, but it is definitely in the "Microsoft isn't a friend of the community" department.