# Dear SDK developer

DevFeed: [Dear SDK developer](<https://devfeed.tech/articles/dear-sdk-developer-21612.md>)

Original publisher: [Read original article](<http://miqu.me/blog/2016/04/22/dear-sdk-developer/>)

Author: Miguel Angel Quiñones

Published: 2016-04-22T11:50:32Z

Content type: article

Language: en

Sources: [Miguel Quinones](<https://devfeed.tech/sources/miguel-quinones.md>)

Topics: [SDKs](<https://devfeed.tech/topics/sdks.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [changelog](<https://devfeed.tech/topics/changelog.md>), [migration](<https://devfeed.tech/topics/migration.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [changelog](<https://devfeed.tech/tags/changelog.md>), [developer](<https://devfeed.tech/tags/developer.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [migration-guide](<https://devfeed.tech/tags/migration-guide.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [sdk](<https://devfeed.tech/tags/sdk.md>)

## AI overview

The article presents a checklist for SDK developers based on what application developers need when integrating third-party code. It emphasizes thorough documentation with examples, rationale, and FAQs; open-sourcing the SDK to support debugging and community contributions; changelogs that explain changes; and migration documentation for breaking API changes.

## Source excerpt

As an application developer I get to use many third party code to integrate it into my current project. I want to share a checklist of things a user of an SDK really appreciates. Documentation This is the most important part of any SDK, be it open source or closed source. Users don't need to understand your code, or learn by themselves how to use your APIs. Maintaining documentation is a big part of maintaining an SDK, and it goes far beyond documenting the code. Documentation! Really, this is very important and lacking on many commercial SDKs. Please include examples, rationale and FAQ. Documentation!! Don't get it? Just some examples of great additional documentation: Quick: Quick RxSwift: RxSwift YapDatabase: YapDatabase Please, open source your SDK There's nothing more annonying than encountering bugs or unexpected behaviour and having to skim through logs, documentation and trial and error tests. This can happen anytime when using unfamiliar APIs, and having the source to understand what goes wrong is the first big benefit of open source SDKs. Furthermore, if you accept contributions from the community, you might get some developers helping with debugging and fixing issues. Having open issue discussions help with questions and faster communication. A good example is projects on Github. See an example of Snowplow devs just guiding me over my confusion. Surely your business model is not dependant on you not publishing the source code that interacts with your platform? Changelogs Any developer including third party code in an application is assuming the quality of your code into theirs. They also have the final accountability for the end users, who don't care where a bug or crash is coming from. Good engineering practice will make users of your SDK wary of changes you introduce, so a changelog is very important to let them know what changed. And please, don't just add stability improvements. Version migration documentation More documentation! This is very special