它或许只是简单的为某个程序设计言语提供应用程序接口的一些文件,但也可能包括能与某种嵌入式系统通讯的复杂的硬件。普通的工具包括用于调试和其他用途的适用工具。SDK还经常包括示例代码、支持性的技术注解或者其它的为基本参考资料廓清疑点的支持文档。
软件工程师通常从目的系统开发者那里获得软件开发包。为了鼓舞开发者运用其系统或者言语,许多SDK是免费提供的。SDK经常可以直接从互联网下载。有时也被作为营销伎俩。例如,甲产品或许会免费提供构件SDK以鼓舞人们运用它,从而会吸收更多人由于能免费为其编程而置办其构件。
SDK可能附带了使其不能在不兼容的容许证下开发软件的容许证。例如一个专有的SDK可能与自由软件开发抵触。而GPL能使SDK与专有软件开发近乎不兼容。GPL下的SDK则没有这个问题。