Apple's SDK non-disclosure agreement is one of the most contentious issues concerning the platform . Many developers had hoped that the NDA would be removed upon the release of the iPhone 3G and iPhone OS 2.0, but it's still in place likely will not be removed any time soon.
The NDA prevents the publication of many books regarding iPhone OS programming and disallows developer collaboration. Open conversations via mailing lists or discussions boards are prohibited, but some developers ignore that stipulation and post questions to Apple's popular Cocoa-Dev list and the company's own discussion pages.
Developers who adhere to Apple's SDK are, hence, at a technical disadvantage, operating without the aid of peers. They are unable share code, ideas or even fixes or workarounds encountered when developing for the iPhone OS. A dearth of books and manuals means a lack of expansion in the developer community. The quality of the software suffers as a result. This state of affairs stands in contrast to the Mac development community, which is open and unfettered, with a wealth of guides and resources.
Taking all this into consideration, Jonathan Zdziarski, author of the book iPhone Open Application Development and an iPhone Forensics manual has come up with ten reasons to violate Apple's "SDK" NDA.
Jonathan details his personal decision to steer clear the the Apple SDK and stick with open development. Many of his reasons are like the ones mentioned above and like others he expected the NDA to be around until Apple secures it's patents globally. He also writes with some passion about how the NDA - "effectively extinguishing creativity, knowledge, and open source development, the foundation of which is community participation." His list:
- The "Free" SDK is Available to the public
- Membership-Protected Downloads Aren't Trade Secrets
- Apple's "Paid" Membership is now Available to the Public
- The Apple NDA Promotes Unfair Competition
- The NDA Threatens Personal Data Security
- The "Right to Use" Theory Doesn't Hold Water
- You Can Learn About the SDK by Other Means
- Apple Needs a Better Product
- Submitting to Fear Sends the Wrong Message
- This is the County of Free Speech