
My colleague Harry McCracken over at Techonlogizer has been following the correspondence Steve Jobs has had with Apple customers. One such e-mail touched on Apple's recent SDK licensing changes that forbid cross-compiled applications or solutions that reference external APIs. Jobs doubled down on the restriction, citing blogger John Gruber's mullings on the subject as being "insightful." Apple wants apps to be developed for the iPhone its way or not at all. Gruber saw a silver lining in its stance (higher quality apps), but Apple is also restricting developer freedom, impeding innovation, and increasing the cost of developing for its platform.
This situation leaves Flash and C# develpers in an unfortunate predicament. I e-mailed Novell vice president Miguel de Icaza about Apple's restrictions on Friday to ask whether developer's investments in MonoTouch would be protected. His response was reasonable, but I wouldn't feel reassured if I was a paying customers. Miguel replied:
"We believe that the new terms was a brush too broad to address an
Apple requirement. Based on the Steve Jobs' email that pointed out to:
http://daringfireball.net/2010/04/why_apple_changed_section_331
We believe that MonoTouch was misrepresented in that post since we do not really provide an abstraction layer to the CocoaTouch APIs, MonoTouch is merely a C# compiler that accesses the same CocoaTouch APIs that Objective-C does. The daringfirewall post comes from someone that does not seem to have been familiar with the way that MonoTouch works, and probably just saw "C# and .NET" and drew his own conclusion. We continue to try to reach out Apple to get this section clarified."
History shows us that Apple will do what it wants regardless of what anyone says, but Novell's case has technical merit. For that matter, Adobe might too. I don't know much about how its Flash-to-iPhone cross compiler works. My takeaway is that Apple should be flexible with Novell, and at least let it make its case. There are plenty of C# developers that would love to write apps for its platform. Why would allowing that be a bad thing? Apple could easily set the terms of the partnership, broadening its pool of developers. Erecting a proverbial Berlin Wall isn't good for developers, and isn't good for Apple in the long run. Android anyone?