Zac Bowling (of Mono fame) is not a huge fan of Apple's new software development kit for the iPhone.
Indeed, he's no fan at all.
Reading through his late Friday post, in which he calls Apple's program a "giant joke," it's fairly clear as to why: even in Apple's attempt to open up the iPhone, the company keeps it rigidly closed.
The thing that I found most interesting in Zac's post is the mention of Section 3.3.14 in Apple's SDK license agreement. It betrays an odd (and wrong) understanding of open source from Apple:
If Your Application includes any FOSS [free and open-source software], You agree to comply with all applicable FOSS licensing terms. You also agree not to use any FOSS in the development of Your Application in such a way that would cause the non-FOSS portions of the SDK to be subject to any FOSS licensing terms or obligations.
Perhaps this is just a matter of Apple playing it safe, but that second sentence is garbage. A downstream user of Apple's SDK cannot force open-source licensing onto the SDK. One cannot "reverse engineer" open source into the SDK. Open-source licensing simply doesn't work that way.
It is likely that I would not be able to use some open-source software with the SDK due to its licensing restrictions. It is impossible that I would be able to force-feed Apple's SDK with conflicting open-source licensing terms and thereby "infect" Apple's code. If this were possible, don't you think someone would have done so with Microsoft's portfolio of software?
This is just overly cautious legal engineering on Apple's part, and it's not welcome. It perpetuates myths about open source. Bowling writes, "The restrictions on what your application is allowed to do is total, laugh-out-loud, crap." I concur. This license restriction alone fits that description.