The specifics are different, no doubt - but the ethos is the same. Microsoft force you to use .Net (of some form) and their APIs because that fits their business model (i.e. ties you to the XBox). They're restricting me from using my platform portable pure C code, which is their choice. I obviously don't know, but suspect if large amounts of code started targeting XNA in a cross platform way, they'd come down on that too. I also don't know what the requirements of their commercial licence are (and unless you're an XBox developer, neither do you), but it's almost certainly more than just revenue sharing (they would never allow the publication of a "Crash a plane into the twin towers" game, for example). Moreover, I do know that Nintendo certain did (and I think still do) have strict policies on types of violence in games for their platforms.
Regardless, the general point stands. They're making choices based on what they think is best for their platform, and letting the market chose. This is how the free market is supposed to work. It breaks down when there are entrenched monopolies, or when other external factors prevent people from exercising their right to buy an alternative, or start a competitor - but that is demonstrably not the case here. So why not let the market decide?
Microsoft force you to use .Net (of some form) and their APIs because that fits their business model (i.e. ties you to the XBox). They're restricting me from using my platform portable pure C code, which is their choice.
You're missing the point. Microsoft makes it technically difficult to write a game in a non-.net language, but (at least as far as anyone knows) it's not disallowed in their developer agreement. If you can get LLVM to spit out .net bytecode that works, then good on you, there's nothing keeping you from using it. There's no clause that prevents you from writing a Lisp interpreter in your game, nothing to keep you from auto-generating C# from template files, etc. The only reason people don't do these things is that they're a pain in the ass, not that they would be in violation of the developer's agreements that they signed.
Certainly attempting to achieve developer lock-in is part of good business, especially in the world of game development. But make no mistake, Apple is in uncharted territory here: rather than trying to get people locked-in by providing a smoother workflow with their toolset than they'd find elsewhere (which is what Microsoft does with .NET), they're declaring that all other tools, better or worse, are strictly prohibited.
They're making choices based on what they think is best for their platform, and letting the market chose. This is how the free market is supposed to work.
Bundling IE with Windows without any option to replace the browser is what would be best for the Windows platform. A "plato o plomo" acquisition/sued-to-death strategy employed by would-be-monopolists to kill off competition before it's big enough to compete is best for the business. Gauging prices in a market where a near monopoly exists is "best for the platform."
What you're really hinting at is a discomfort with the entire idea of anti-trust legislation, another discussion altogether. Suffice it to say that "let the market decide" would, if taken as mantra, excuse every sort of monopolistic or anti-competitive abuse that we've ever seen, which indicates to me that it's not a remotely valid argument.
In this case, Apple has, with a stroke of the pen, killed off several toolsets that compete with the one that they're trying to promote. It reads like a textbook example of tying, using control over a mobile phone application marketplace to kill off competition in the developer tools market, and it's almost entirely targeted at a single competitor (though there's plenty of collateral damage, as well, Unity et al).
I think Apple may have something to worry about here.
From what I understand, the problem was Microsoft tried to use its dominant position with Windows to achieve a dominant position in the web browser space in a manner that was considered 'unfair'.
What Apple is doing isn't trying to use its dominant position in the market for mobile applications to achieve a dominant position in the market for development tools, nor even in the market for development tools used to write iPhone applications.
Conceivably, you could use TextMate to write your code.
Conceivably, Adobe could write a better IDE than Xcode for Objective-C and Cocoa Touch programming
> Microsoft force you to use .Net (of some form) and their APIs because that fits their business model
You can always develop in Java with your favorite tools and transform the generated bytecode to .NET using IKVM. You can have your own abstraction on top of XNA and SDL, so you don't have to change anything when porting a game from the JVM to the XBox.
Nothing stops you from developing cross-platform apps, and in fact major games publishers are doing just that ... any game that's running on both the XBox and on Playstation 3 is using a intermediate layer.
Yeah, it's costly to distribute object code compiled from C/C++ or your tools of choice, but you have that option.
"They're making choices based on what they think is best for their platform, and letting the market chose."
The former is absolutely true. The latter is absolutely not. Hence why the government is looking into it.
Apple's actions are completely inexcusable and borderline illegal. It is only by incredible bravado and arrogance that they could have ever thought that 3.3.1 would be acceptable. They could have accomplished the same goal more subtly, but, probably due to Jobs universe-sized ego, they had to bring this upon themselves.
"This is how the free market is supposed to work."
No, it isn't at all how the free market is supposed to work. 3.3.1 is the exact opposite of a free market.
How are Apple preventing you from buying the ever more popular Android phones? Or Web OS phones? You, a member of the market, buy the phone with the features you want. If you don't like Apple products, or the app store they provide, buy one of the many hundreds of alternative smartphones, many of which have large adoption.
"How are Apple preventing you from buying the ever more popular Android phones?"
They aren't and I have. Right now, however, the biggest momentum that the iP(hone|ad) has is the app market, and the fact that a lot of large organizations have special support for its walled garden. 3.3.1 is Apple's way of trying to ensure that it is a specially cultivated walled garden, and that it's more likely that "there's an app for that" only applies to the Apple devices.
I think it's a futile move that is too late, but that is the clearly obvious motive behind 3.3.1. It is anti-competitive and without justification, and honestly it's a bit bizarre that so many fail to grasp that.
Regardless, the general point stands. They're making choices based on what they think is best for their platform, and letting the market chose. This is how the free market is supposed to work. It breaks down when there are entrenched monopolies, or when other external factors prevent people from exercising their right to buy an alternative, or start a competitor - but that is demonstrably not the case here. So why not let the market decide?