软件开发工具广义上指
辅助开发某一类软件的相关文档、范例和工具的
集合。
软件开发工具包是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件的开发工具的集合,一般而言SDK即开发
Windows平台下的应用程序所使用的SDK。它可以简单的为某个
程序设计语言提供
应用程序接口
API的一些文件,但也可能包括能与某种
嵌入式系统通讯的复杂的硬件。一般的工具包括用于调试和其他用途的实用工具。SDK还经常包括示例代码、支持性的技术注解或者其他的为基本参考资料澄清疑点的支持文档。
为了鼓励开发者使用其系统或者语言,许多SDK是
免费提供的。
软件工程师通常从目标系统开发者那里获得软件开发包,也可以直接从互联网下载,有时也被作为
营销手段。例如,营销公司会免费提供构建SDK以鼓励人们使用它,从而会吸引更多人由于能免费为其编程而购买其构件。
SDK可能附带了使其不能在不兼容的许可证下开发软件的许可证。例如产品供应商提供一个专有的SDK可能与自由软件开发抵触。
GPL能使SDK与专有软件开发近乎不兼容。
LGPL下的SDK则没有这个问题。