“Craig Hockenberry half-joked on Twitter”:twitter.com/chockenbe… about the iPhone SDK non-disclosure agreement and it reminded me of one of my personal annoyances in the development community: we tend to take NDAs very seriously. I’ve always been impressed by how Scott Stevenson in particular can write thoughtful articles about Mac software development that go out of their way to tiptoe around unannounced APIs. In his “latest excellent introduction”:theocacao.com/document…. to the iPhone SDK, there are no less than 3 mentions of the NDA in the original post and comments:
"Until that time, the SDK is under NDA and the apps cannot be distributed to the general public." (Scott Stevenson)
"The iPhone SDK is very well done (can't say more because of the NDA)" (Florent Pillet)
"To answer without getting into NDA stuff, let's talk about Mac OS X in general." (Scott Stevenson)
I’ve also been hit by this community-killer. At WWDC last year I posted to Twitter about new .Mac features and it remains the only tweet I have ever deleted. I had this sudden paranoia that conference staff would kick me out of Moscone and revoke my ADC account. Silly.
But let’s look at reality. Over 100,000 people have downloaded the SDK. This couldn’t be more different than WWDC, which effectively encourages discussion only while in San Francisco by requiring an investment of at minimum $2-3k between conference, hotels, food, and travel. The SDK by comparison is totally free to download.
Put simply, how can Apple expect us to take an NDA seriously while at the same time they spread the applications and documentation covered under this NDA to every corner of the Mac universe?
I’m not a lawyer, but this one seems legally ridiculous. There are a few issues handled by the license:
- Don't distribute apps created with the beta SDK. That's fine, because there's no good way to do that anyway and giving everyone a level "June launch" playing field makes sense for both Apple and developers.
Don't rip-off Apple's ideas and use them in your own phone before the SDK ships. That's also fine, because I don't care about other phones and generally think Apple already has a insurmountable development platform advantage.
Don't talk about confidential capabilities of the SDK. This is the one I have problems with, because I question if something can be considered confidential if it is shared with 100,000 people.
For years Mac developers have asked Apple for an official, closed mailing list to discuss APIs still under NDA. Maybe things would be different now if Apple hadn’t refused that request, but with a release as mainstream as the iPhone SDK it’s too late to try to control the conversation. I expect a healthy discussion of APIs and business practices to happen on blogs and Twitter and IRC and email, and that’s how it should be.