Apple apparently chose the best possible template for its iPhone developer programs: its own Apple Developer Connection for OS X. Why it then made the iPhone SDK confidential even for those who download it for free poses a puzzling contradiction in the company's seemingly open approach to development.
The basic ADC membership is open to everyone and free of charge. All you need is a verifiable (at least temporarily) e-mail address to obtain a free Apple ID. Free and paying ADC members get exactly the same commercial-grade development tools, samples, and docs. Depending on their membership level, paying members get additional access to pre-release software, prepaid tech support incidents, hardware discounts, and WWDC tickets. Free members face no disadvantages when it comes to creating and distributing applications for the current or prior release of OS X. That cornerstone of the Mac platform accounts for its large catalog of high-quality free and inexpensive applications, as well as its loyal and welcoming community of developers. ADC is the magnet that draws developers to the Mac from other platforms.
By choosing ADC's tiered programs as a model, it seemed that Apple had tilled the field for an instant and vibrant iPhone dev community. Then it salted the ground by making the iPhone SDK confidential even for those who download it for free. The upshot is that every citizen of planet earth can get the iPhone SDK at no charge, but they're contractually obligated to Apple not to discuss the SDK or exchange ideas with others. The agreements leave no room for forums, newsgroups, open source projects, tutorials, magazine articles, users' groups, or books.
The terms and conditions of the most restrictive Agreements to which all iPhone developers are bound are secret. A few sentences from the nonconfidential iPhone Registered Developer Agreement (PDF) are sufficient to illustrate the breadth and severity of the restrictions. As is always the case, you must not rely on my excerpts or analysis as a summary of the Agreement or as legal advice.
From Section 3, Confidentiality: "You agree not to disclose, publish, or disseminate any Confidential Information to anyone other than to other Registered iPhone Developers who are employees and contractors working for the same entity as you and then only to the extent that Apple does not otherwise prohibit such disclosure in this Agreement."
What's "Confidential Information"? The Agreement contains two definitions, one in Section 3 that's broad and rambling but with specific and liberal exceptions, and one in Section 4 that's concise and inescapable:
From Section 4, iPhone Materials: "All iPhone Materials shall be considered the Confidential Information of Apple"
Section 4 also makes unrestricted allowance for additional tightening of screws (not quoted in full): "All use of the iPhone Materials shall be subject to this Agreement, unless such iPhone Materials are accompanied by a separate license agreement, notice or disclaimer (collectively, "Other Agreement") in which case such Other Agreement will govern to the extent of any inconsistencies with this Agreement [...]"
There are two Other Agreements (the secret ones): one that governs free use of the SDK and the other, responsibilities of iPhone Developer Program members. I have no problems with the latter. When money gets involved, that changes the rules, and Developer Program members have access to trade secrets. My problem is that Apple brands publicly available information -- that is, the released and freely downloadable iPhone SDK -- as confidential. Laypeople who are ill equipped to interpret the secret Agreement attached to the free iPhone SDK are likely to assent to it without reading it, if they're aware that it applies to them at all.
I can't discuss the secret SDK Agreement, but you can read it for yourself by signing up as an iPhone Registered Developer.
This isn't Apple-bashing. This is serious business. You'll see arguments from armchair legal analysts that the iPhone developer Agreements won't stand up in court -– but those analysts certainly won't stand up in court on your behalf. When you download the SDK, you grant Apple special rights to injunctions and suits against you for unspecified damages in addition to their rights under the law.
The iPhone developer Agreements covering the freely accessible iPhone SDK are not EULAs that you can blindly click to sign without study. It turns out that the iPhone developer programs are the antithesis of the developer-friendly Apple Developer Connection. The iPhone Agreements are risk-laden contracts that make the iPhone SDK one of the most dangerous downloads on the Internet. It is certainly the most heavily encumbered free software I've encountered.
If you're planning a forum, newsgroup, users' group, open source project, book, or any discussion of iPhone development, the only path to protection from liability is explicit written approval from someone at Apple. Have a lawyer draft your request for exemption, and make sure that the Apple staffer granting it personally commits to status as authorized to approve exceptions to the iPhone Registered Developer and iPhone SDK Agreements.
The concerns I have expressed relate only to free access to the SDK. Terms of the paid iPhone Developer Program are appropriately confidential, and in my view, Apple offers paying individual developers a generous balance between benefits and responsibilities. This said, shutting the door to all opportunities for discussion of the freely available iPhone SDK hurts all iPhone developers.