I have worked with dozens of libraries, frameworks, and SDKs over the years. In my day job my primary responsbility is to document SDKs for Autodesk, such as for 3ds max and Mudbox. Today I am going to provide 10 ruoles for writing a good SDK for extending an application.