“What is an open platform?” according to universAAL
universAAL IoT, the open source platform that enables interoperability and rapid development of innovative IoT solutions, defines a platform as anything that can be used to work or build on top of it. In case of software platforms, they offer a set of services that ease application development when used.
According to universAAL, a software platform is called open if it has one or more of the following characteristics:
- OpenAPI: A platform’s Application Programming Interface (API) specifies the interfaces available for developing applications on top of the platform, along with guidelines how to use them. Control question: Does the platform implement published and fully documented external application programming interfaces?
- OpenScope (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. Control question: To what extent can a third party use the Open API to add not a-priori planned functionality without requiring modification of the source code?
- 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. An open platform does not mean it is open source, however most Open APIs have also open source implementations, resulting in open source platforms. Control question: Is the source code of the platform available with a recognized open source licensing model?
- OpenUsage (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. Control question: Does usage necessitate a specific business development negotiation?
- OpenAdaptation (adaptability): 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 is addressed under Open Scope). Control question: Does the platform allow developers to change existing functionality?
More details at https://www.universaal.info/blog/post/3487/What-is-anopen-platform.