What is SDK ? You often come to this terminology, ever wondered what this SDK, which is an abbreviation of Software Development Kit stands for ? A software development kit or SDK is generally a set of tools for software development that allows the programmer to create applications for a particular system, for example certain packages of software; frameworks; hardware platforms; computers in general, consoles, operating systems, etc. Example can be found in our one of such guide – Android Apps Development. This article answers the question what is SDK in detail.
Basics You Need to Know Before Knowing What is SDK
There are some basics you need to know before knowing what is SDK. It is as simple as an application programming interface or API designed to allow the use of certain programming language or it may also include sophisticated hardware to communicate with a certain embedded systems. The tools most commonly include support for detecting programming errors as an integrated development environment or IDE and other utilities. The SDK often include also sample code and ships with supporting technical notes or other supporting documentation to help clarify certain points of the primary reference material.
SDK can be of closed source software. Indeed, most SDKs popular today are for closed source software. They might have attached licenses that make them unsuitable for building software intended to be developed under GNU GPL license.
What is SDK (advanced) and why SDKs are distributed
SDK as a marketing technique
A programmer usually receives the developer SDK for which they are writing the program. SDK can be downloaded from the Internet for free. In fact, many SDKs are distributed free to encourage developers to use the system or language. So we can deduce that sometimes are used as marketing tools, for example, Foo Products distributes the Widget SDK for free to encourage people to use it. Consequently many people are encouraged to buy many other widgets since they can program them yours free.
SDK may include licenses that make them incompatible to create software that is attempted to create a GNU GPL non-supported software. In other words, they will probably be incompatible SDK for the development of free software. An SDK licensed under GPL will possibly incompatible with proprietary software development.
More specific terms
An SDK for an addition (or add-on) is used for a particular operating system. The software may also needed to be included or added itself to be used for development but not necessarily for redistribution, this is to force to accept another agreement. It is possible to build a single binary function in configurations where the add-on is present or not, with a reduced functionality in the latter case.
SDK providers for certain systems or subsystems can use a more specific term than “software”. For example, both Microsoft and Apple provide Driver Development Kits (DDK) or kits to develop drivers for developing device drivers , and PalmSource distributes its own development kit as PalmOS Development Kit (PDK) or development kit for PalmOS.
It is to be noted that, many Open Source (including Free Softwares allowing Non Free Softwares to use, Free Software means a software that is compatible GNU GPL License) or even partially closed source software companies can claim these SDK as Source Code. Google, for example frequently tries to show that ‘everything is open’ by showing the source code of the SDK but the actual software differs in real.