f
l
TAGS
H

What is an "open platform"?

What is 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 offer a set of services 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 the developer 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

 

With regard to universAAL, the subject of study in this report, we can state that all of the above five openness criteria apply to the highest degrees. universAAL is available royalty-free, with one of the most permissive open source licenses, namely the Apache Software License 2.0. It has a widely unlimited scope that includes AAL and health, among many others.


[1] Inspired by https://en.wikipedia.org/wiki/Open_platform and http://www.innovationinthecrowd.com/open-platform/, sometimes reusing complete sentences and phrases from them.

[2] https://en.wikipedia.org/wiki/Open-source_software

[3] This is actually almost a prerequisite for a platform in order to call it an “open platform”.

[4] Not related to controlled adaptability by a pre-defined set of configuration and customization parameters.

[5] Inspired by http://papers.ssrn.com/sol3/papers.cfm?abstract_id=1264012.