Whatis an open platform[1]?
A platform is anything that can be used to work or build on top of it. In case of software platforms, they have a set of features that ease application development when used.
A software platform is called open if it has one or more of the following characteristics:
1. Open API: The Application Programming Interface (API) of a software platform specifies the interfaces available for developing applications on top of the platform, along with guidelines how to use them. An Open API is well documented and available for use by application developers.
Control question: Does the platform implement published and fully documented external application programming interfaces?
2. Open Scope(extensibility): Open Scope refers to the capability of using the platform for purposes it wasn’t planned for, resulting in extensible systems. The scope of a platform determines the extent of the platform’s applicability, in the sense of degree of freedom in the development of applications on top of it; the higher this degree of freedom, the opener the scope of the platform. Another way to look at it is the limitations that the platform imposes to the applications on top of it (e.g., only for a narrow domain).
Control question: To what extent (e.g., unlimited, widely unlimited, limited, widely limited) can a third party use the Open API to add not a-priori planned functionality without requiring modification of the source code?
3. Open Source: Open Source refers to the availability of the source code of a piece of software in a given programming language with a license in which the copyright holders provide the rights to study, change, and distribute the software to anyone and for any purpose[2].There are different open source licensing models with different degrees of freedom in change, usage and distribution of the software in source or binary forms. An open platform does not mean it is open source, however most Open APIs have also open source implementations, resulting in open source platforms. Obviously, open source platforms do provide an Open API.
Control question: Is the source code of the platform available with a recognized open source licensing model?
4. Open Usage (adoptability): Adoptability refers to enabling others to use the open platform while bypassing specific business development negotiations. This does not necessarily mean that the usage has to be royalty-free; it is rather about published, clear, and generally applicable (non-discriminatory) terms and conditions, usually known as the license. There are a number of “usage types” that are important for determining the degree of openness of a platform: (1) Open Development, which is about enabling others to benefit from the Open API and Open Scope and build upon the platform[3];(2) Open Provision, which is about enabling others to bundle the platform with a host platform (in terms of hardware / operating system) and provide the resulting bundle to their customers; and finally (3) Open Operation, which is about enabling others to use a piece of software in operation.
Control question: Does usage necessitate a specific business development negotiation?
5. Open adaptation(adaptability)[4]: Assuming that the specifications are publicly available, adaptability of an open platform refers to the possibility of changing existing functionality of the platform itself as opposed to adding new functionality (which was already addressed under Open Scope). Important aspects of adaptability of open platforms are related to the possibilities for (1) changing the source code of the platform in order to adapt it to specific requirements (which may work only in case of open source platforms), and (2) excluding certain modules and, in particular, substituting them with other implementations that are for some reason a better fit to the context of use.
Control question: Does the platform allow developers to change existing functionality?
The following comparison of the most widely spread open operating systems should help to better understand these definitions by example[5]:
Table 1. Comparison of operating systems
| | | Adoptability | |
| API | Scope | Source | Develop | Provide | Operate | Adaptability |
Android | Open | Unlimited | ASL 2.0 | Open | Open | Open | Open |
iOS | Open | Unlimited | Closed | Closed | Closed | Open | Closed |
Linux | Open | Unlimited | GPLv2 | Open | Open | Open | Open |
Mac OS | Open | Unlimited | Closed | Open | Closed | Open | Closed |
Windows | Open | Unlimited | Closed | Open | Open | Open | Closed |
Related:Assessing the openness of universAAL IoT