This is NOT intended to inflame anyone, just my opinions.
Im a Linux Programer (i just switched from Win to Linux, i have some problems with the IDE's). Im using OGL.
Funny. I'm a Linux/UNIX programmer going to MS. I finally gave up on the "religious wars" surrounding the whole MS/Linux scene. It's ridiculous and counter-productive, at least to my efforts.
I've grown tired of hearing "MS wants to control your desktop" and Windows is buggy, blah, blah, blah... Rubbish. There have been problems and there will always be problems. Sun Microsystems would be just as pleased to own your desktop as MS would.
And for those who don't think LINUX/UNIX systems don't have their share of woes, I'd say "you just don't know." Spend 15+ years working in it and you'll see.
The facts remain that if you want to publish a game, that is, make *real money* and not just pursue a hobby, the MS platform is where it's at. They own about 90% or better of the desktop market, they have the XBOX and MS has put a lot of effort into .NET. The DX SDk is fantastic, MS has the tools and formats already available. Take a close look sometime inside the DX SDK directory tree and you'll find an enormous number of auxilliary applications, useful for building games.
Is DX huge? You bet. but there's so much "good stuff" to use if you can survive the learning curve.
The whole .NET framework is very cool. The ability to program in a language that is comfortable for you (C. C++, VB, etc) and compile your code to MSIL is incredible. Java was close, but I honestly believe MS has found the keys to the kingdom. I found Eiffel.NET for instance. IronPython is developing and there are many others.
If you can't stand MS, try Mono. It's a happening technology but still very immature.
OGL is a great API and OGL ES has wondrous possibilities for the mobile market but that market is still emerging. And you can bet your bottom dollar that MS will carve out a part of the mobile as well using DX.