This article needs additional citations for verification. (January 2017) |
In computing, an open platform describes a software system which is based on open standards, such as published and fully documented external application programming interfaces (API) that allow using the software to function in other ways than the original programmer intended, without requiring modification of the source code. Using these interfaces, a third party could integrate with the platform to add functionality.[1] The opposite is a closed platform.
An open platform does not mean it is open source, however most open platforms have multiple implementations of APIs. For example, Common Gateway Interface (CGI) is implemented by open source web servers as well as Microsoft Internet Information Server (IIS). An open platform can consist of software components or modules that are either proprietary or open source or both. It can also exist as a part of closed platform, such as CGI, which is an open platform, while many servers that implement CGI also have other proprietary parts that are not part of the open platform.
An open platform implies that the vendor allows, and perhaps supports, the ability to do this. Using an open platform a developer could add features or functionality that the platform vendor had not completed or had not conceived of. An open platform allows the developer to change existing functionality, as the specifications are publicly available open standards.
A service-oriented architecture allows applications, running as services, to be accessed in a distributed computing environment, such as between multiple systems or across the Internet. A major focus of Web services is to make functional building blocks accessible over standard Internet protocols that are independent from platforms and programming languages. An open SOA platform would allow anyone to access and interact with these building blocks.
A 2008 Harvard Business School working paper, titled "Opening Platforms: How, When and Why?", differentiated a platform's openness in four aspects and gave example platforms.[2]
Aspect of openness of a platform[1] | Android | Linux | Windows | Macintosh | iOS |
---|---|---|---|---|---|
Demand-Side Use (End-user) | open | open | open | open | open |
Supply-Side User (Application developer) | open | open | open | open | closed |
Platform Provider (Hardware/OS Bundle) | open | open | open | closed | closed |
Platform Sponsor (Design & IP Rights Owner) | open | open | closed | closed | closed |