Some seem to think Apple’s section 3.3.1 is there to ban meta-platforms from iPhone OS. But do Apple want to ban all meta-platforms? Or do they just want to avoid meta-platforms that would put some other vendor in control? Those two things are very different, and the later is much more reasonable. If the fear is that Apple could become dependent on some other vendor (such as Adobe), they could do a much better job at writing the terms of the agreement…
I think Apple should just force any such translation layer or interpreter used in an application to be publicly available as open-source. If one such meta-platform ever becomes a problem, it’s easy for Apple to investigate the problem, and they can even release a fixed version themselves. It doesn’t solve all the problems people have with rule 3.3.1, but at least it’s not an outright ban of technology, and it even promotes sharing your building blocks with other developers (a good thing for the platform if you ask me).
And if that puts pressure on Adobe to release Flash as open-source, I’ll just say great!
Banning technology is regressive. Banning certain undesirable uses of technology (like lock-ins) is harder to argue with. I hope Apple take notice.