Of course it's legal. It's greedy, petty, consumer and developer hostile, and generally sucks.
But they're allowed to set the rules for playing in their app store, just like schools are allowed to set rules about wearing your uniform correctly all the way home, parents can ground their children for complaining about their shitty parenting at another person's home, a company can make a contract which allows them to fire you if you get drunk and disorderly in public, and any other situation where an arrogant entity assumes it's own interests are
FAR in advance of yours AND has the ability to take rights from you.
EDIT 201102221305 GMT+10 I should learn never to comment when anyone is discussing Apple. It's too tempting for people to downvote when their pet company is criticized, even if you're answering a question at the same time.
>just like schools are allowed to set rules about wearing your uniform correctly all the way home.
They can set whatever rules they like, but can they enforce them? I don't know if the school can enforce the uniform rule, though I imagine it would depend on whether it is a private or a public school.
Apple is attempting to leverage its position in one market (hardware) to coerce another market (mobile applications). Under the historical antitrust analysis, this would have been a per se antitrust violation to even attempt this.
Now, however, antitrust laws are no longer enforce. During the Bush administration,the DOJ's antitrust department was effectively gutted, and antitrust was moved close to the bottom of the DOJ's list of priorities.
Obama hasn't changed the DOJ's antitrust priorities since he took office, so any enforcement of antitrust laws will have to come from the states. Basically, that means New York's Attorney General, since California's not going to kill one of its tax cash cows.
i'm counting at least on EU to throw a legal hammer on it someday. iOS is a platform/operating system and i see much danger in this. Can you picture TV networks asking for commissions on sales related to advertisement? Developers already have to pay (annual fee?) for deploying their applications on the appstore