Un SDK peut prendre la forme dinterfaces de programmation dapplication (API) sous la forme de bibliothèques sur lappareil de fonctions réutilisables utilisées pour sinterfacer avec un langage de programmation particulier, ou il peut être aussi complexes que des outils spécifiques au matériel qui peuvent communiquer avec un système embarqué particulier. Les outils courants incluent des fonctions de débogage et dautres utilitaires, souvent présentés dans un environnement de développement intégré (IDE). Les SDK peuvent inclure des exemples de logiciels et / ou des notes techniques ainsi que de la documentation et des didacticiels pour aider à clarifier les points soulevés par le matériel de référence principal.
Les SDK incluent souvent des licences qui les rendent impropres à la création de logiciels destinés à être développés sous une licence incompatible. Par exemple, un SDK propriétaire est généralement incompatible avec le développement de logiciels libres, tandis quun SDK sous licence GPL pourrait être incompatible avec le développement de logiciels propriétaires, pour des raisons juridiques. Cependant, les SDK construits sous la licence publique générale limitée GNU (LGPL) sont généralement utilisables pour le développement propriétaire. Dans les cas où la technologie sous-jacente est nouvelle, les SDK peuvent inclure du matériel. Par exemple, le SDK NFC 2012 dAirTag comprenait à la fois la moitié payante et la moitié de lecture de la pile matérielle nécessaire.
Lapplication mobile Android moyenne implémente 15,6 SDK distincts, avec des applications de jeu implémentant en moyenne 17,5 SDK différents. Les catégories de SDK les plus populaires pour les applications mobiles Android sont lanalyse et la publicité.
Les SDK peuvent être dangereux (car ils sont implémentés dans des applications, mais exécutent un code distinct). Les SDK malveillants (avec des intentions honnêtes ou non) peuvent enfreindre la confidentialité des données des utilisateurs, endommager les performances des applications ou même interdire les applications de Google Play ou de lApp Store. Les nouvelles technologies permettent aux développeurs dapplications de contrôler et de surveiller les SDK clients en temps réel.
Les fournisseurs de SDK pour des systèmes ou sous-systèmes spécifiques remplacent parfois un terme plus spécifique au lieu de logiciel. Par exemple, Microsoft et Citrix fournissent un kit de développement de pilotes (DDK) pour développer des pilotes de périphériques.