Is MonoTouch dead?

Posted by ESCOZ on Friday, April 09, 2010

This post was originally posted on StackOverflow, but as many people follow my blog to read more about MonoTouch, I thought it would be nice to post my answer here. You can find my post on StackOverflow here.

By now it seems everybody already knows about the update to the Apple Agreement (version 4) that bans any language other than Objective-C. Most people simply take Apple's agreement by the word and declare "yes, MonoTouch its banned".
I believe, though that at this point, nobody really has any idea if MonoTouch is going to be banned or not, and I'll explain why:
The Apple agreement version 3 (not the latest, the one before) clearly states that its illegal to use any other frameworks to develop applications other than the ones provided by Apple:
3.3.2 An Application may not itself install or launch other executable code by any means, including
without limitation through the use of a plug-in architecture, calling other frameworks, other APIs or otherwise.
No interpreted code may be downloaded or used in an Application except for code that is interpreted and run
by Apple's Documented APIs and built-in interpreter(s). http://adcdownload.apple.com/iphone/iphone_sdk_3.2__final/iphone_sdk_agreement.pdf
Even though that's the case (and was actually the case since 2.x, apple doesn't have any problem accepting applications that do exactly that. For example, ALL EA games use Lua scripts, and lots and lots of people use external libraries that are not native to the iPhone. Even when the iPhone has those native APIs, Apple never had a problem accepting applications with different versions of it, like SQLite.
My point is that saying "YES, they'll be banned" right now is simply WAAY too early. The only clear thing at this point is that Apple **could** in fact use that to ban apps. Just like they accept Apps today that are against some of their rules, they'll probably continuing doing so.
There's also the fact that are hundreds (or probably a few thousands?) of apps in the store currently running Mono, and Apple will need to accept updates for those apps. Major apps with millions of sales were created using Mono (and Lua), and I doubt they would refund every single user.
Lastly, Enterprise applications are deployed to iPhones without Apple's approval, and that's a big market that MonoTouch is on (I myself develop enterprise apps). There's no way at this point that Apple could ban MonoTouch for those applications, and that will probably be enough to keep MonoTouch alive for a long time.

Most people here simply want to take Apple’s document by the word and say “yes, its banned”. Well, here’s my point of view: at this point, nobody really has any idea if MonoTouch is going to be banned or not, and I’ll explain why:

The Apple agreement version 3 (not the latest, the one before) clearly states that its illegal to use any other frameworks to develop applications other than the ones provided by Apple:

3.3.2 An Application may not itself install or launch other executable code by any means, includingwithout limitation through the use of a plug-in architecture, calling other frameworks, other APIs or otherwise.No interpreted code may be downloaded or used in an Application except for code that is interpreted and runby Apple's Documented APIs and built-in interpreter(s). http://adcdownload.apple.com/iphone/iphone_sdk_3.2__final/iphone_sdk_agreement.pdf

Even though that’s the case (and was actually the case since 2.x, apple doesn’t have any problem accepting applications that do exactly that. For example, ALL EA games use Lua scripts, and lots and lots of people use external libraries that are not native to the iPhone. Even when the iPhone has those native APIs, Apple never had a problem accepting applications with different versions of it, like SQLite.

My point is that saying “YES, they’ll be banned” right now is simply WAAY too early. The only clear thing at this point is that Apple could in fact use that to ban apps. Just like they accept Apps today that are against some of their rules, they’ll probably continuing doing so.

There’s also the fact that are hundreds (or probably a few thousands?) of apps in the store currently running Mono, and Apple will need to accept updates for those apps. Major apps with millions of sales were created using Mono (and Lua), and I doubt they would refund every single user.

Lastly, Enterprise applications are deployed to iPhones without Apple’s approval, and that’s a big market that MonoTouch is on (I myself develop enterprise apps). There’s no way at this point that Apple could ban MonoTouch for those applications, and that will probably be enough to keep MonoTouch alive for a long time.