For the most part, SDKs are somewhat of a black box for developers. They get to use them to access a service’s features, but they don’t get any real insight into what really happens inside them.
As Parse co-founder James Yu tells me, developers have been asking for this for a while. “They want more transparency and know how the SDK interacts with our backend servers,” he said. “Before today, our SDK was a black box to them. They put it into their application and use it at the SDK level. But a lot of them crave transparency and want to see under the hood.”
Yu also noted that the company never set out for its SDKs to be a black box, and once the team decided to open source them, it still took a while to get the code ready for public consumption. “We didn’t just want to throw some code over the wall,” Yu said. Parse, after all, hopes that developers will not just look at the code but also contribute bug fixes and maybe even new features to the SDKs. For that to happen, the code had to be in a state where outsiders would be able to contribute. That meant cleaning up the code, re-architecting some parts and adding comments.
Going forward, Parse will also use GitHub for bug reports.
The Parse team plans to publish a number of blog posts over the next few weeks that detail exactly how the SDK works. The first post, which was published today, goes into the details of how Parse’s asynchronous API works.
This is obviously not the first time the Parse team has open-sourced some of its products (though it is definitely its most ambitious effort in this area). The company’s GitHub repository currently features over 40 projects (though some of them are documents and demo apps), and earlier this month, the company open sourced its command line tool.