Open Technology

API
'API is the acronym for Application Programming Interface, which is a software intermediary that allows two applications to talk to each other. Each time you use an app like Facebook, send an instant message, or check the weather on your phone, you’re using an API' (MuleSoft, 2021).

Open API:
Open APIs, also known as external or public APIs, are available to developers and other users with minimal restrictions. They may require registration, and use of an API key, or may be completely open. They are intended for external users (developers at other companies, for example) to access data or services. As an example, take a look at the Food Hygiene Rating API provided by the UK government (Castellani S & Dorairajan A 2020). Any developer can access it, without even registering, allowing app builders to include governmental data on restaurant standards in their apps.

API Architectures and Protocols:
An API protocol defines the rules for API calls: it specifies accepted data types and commands. Different API architectures specify different protocol constraints. RESTREST (representational state transfer) is a very popular web API architecture. To be a REST API, an API must adhere to certain architectural constraints, or principles, including: Client-server architecture: the interface is separated from the backend and data storage. This allows for flexibility, and for different components to evolve independent of each other.Statelessness: no client context is stored on the server between requests.Cacheability: clients can cache responses, so a REST API response must explicitly state whether it can be cached or not.Layered system: the API will work whether it is communicating directly with a server, or through an intermediary such as a load balancer. JSON-RPC and XML-RPCAn RPC is a remote procedural call protocol. XML-RPC uses XML to encode its calls, while JSON-RPC uses JSON for the encoding. Both protocols are simple. A call can contain multiple parameters, and expects one result. They have a couple of key features, which require a different architecture to REST: They are designed to call methods, whereas REST protocols involve the transfer of documents (resource representations). Or, to put it another way, REST works with resources, whereas RPC is about actions.The URI identifies the server, but contains no information in its parameters, whereas in REST the URI contains details such as query parameters.SOAPSOAP (simple object access protocol) is an established web API protocol. It is intended to be extensible, neutral (able to operate over a range of communication protocols, including HTTP, SMTP, TCP and more), and independent (it allows for any programming style) The SOAP specification includes: The processing model: how to process a SOAP message.Extensibility model: SOAP features and modules.Protocol binding rules: how to use SOAP with an underlying protocol, such as HTTP.Message construct: how to structure a SOAP message (StopLight, n.d).

What is open?
What exactly is open data? To illustrate this, we use the 'Open Knowledge Definition' to define open data.

Open data is a category of data that can be used, reused and redistributed by anyone for free - with restrictions that require, at best, attribution and redistribution using similar protocols.

The full 'Open Knowledge Definition' gives a more informative explanation of this definition. The most critical parts are summarised here.

Accessibility and accessibility: the work should be fully accessible and cost no more than a reasonable cost to reproduce (the preferred access option is to provide data for download from the web). The data must also be in a format that can be easily modified.

Reuse and redistribution: The data should use a licence agreement that allows for reuse and redistribution (including redistribution after integration with other datasets).

Universal participation: Everyone should be able to use, reuse and redistribute the data. Agreements that restrict individual or group use are therefore not permitted. For example, a 'non-commercial use' restriction would restrict 'commercial' use and therefore not be permitted. For example, a restriction on the use of data in a defined area (e.g. only in education) would also not be permitted (Wikipedia, 2021).

Open Platform:
In the Internet age, the act of encapsulating a website's services into a series of computer-recognisable data interfaces and opening them up for use by third-party developers is called Open API, and the platform that provides it is itself known as an open platform. Through open platforms, websites can provide not only simple access to web pages, but also complex data interactions, transforming their web sites into development platforms that are equivalent to operating systems. Third-party developers can develop a wide range of applications based on these already existing, publicly available web sites.

Open platforms have two meanings.

The first is technical openness, such as Baidu, Tencent, Alibaba, etc. Ali, for example, can provide standardised applications, but millions of sellers of all shapes and sizes require software that cannot be met by a single company, so it opens up these needs to a wide range of third-party developers. Another example is google's Linux-based open source mobile phone operating system, which is thought to beat Nokia's Symbian system soon. Although this kind of technical open platform does not have much to do with the open platform of B2C enterprises at the moment, it can also show to a certain extent that open platform is the trend of Internet enterprises.

The second kind of open platform refers to the software system through the public its application programming interface (API) or function (function) to enable external programs can increase the functionality of the software system or use the resources of the software system, without changing the source code of the software system. A: Taobao Mall, Japan Rakuten this pure platform model, that is, they do not touch the merchandise inventory, all by the resident merchants to do; B: the United States Amazon, Dangdang, Jingdong Mall this "self-management + affiliate" model.

Classification

Among the many open platforms, according to the different subjects served, the open platform is also divided into two categories, one is the centralized open platform, represented by Facebook, Baidu and other open platforms, the API provided by the platform is mainly for their own websites to provide application development interface, and the docking application only for their own website services; there is also a distributed open platform, in foreign countries to Google proposed the open standard as a representative, in the country is represented by the google, this kind of platform in the provision of a standard API, can be the platform of multiple applications to all support the standard website.

Open source software(abbreviation: OSS), also known as open source software, is a type of computer software whose source code is freely available and whose copyright holder retains a portion of the rights under the software agreement and allows the user to study, modify and distribute the software to anyone for any purpose. Open source agreements usually meet the requirements of the definition of open source. Some open source software is released into the public domain. Open source software is often developed openly and collaboratively. Open source software is the most common example of open source development and is often compared to user-generated content. The term "open-source software" is derived from the marketing of free software (Inidus, 2019).

Open-source software is also a model of software distribution. Only compiled binary executables are available for general software, and usually only the author or copyright holder of the software owns the source code.

Some software authors only make the source code publicly available, but this does not meet the definition and conditions of "open source" because the author may set restrictions on the open source code, such as limiting who can read the source code, limiting derivatives, etc. This is called open source free software (Freeware, e.g. the well-known web ), so software that is open source does not necessarily qualify as open source software.

Reference List:


 * 1) Castellani S & Dorairajan A 2020, What are the different types of APIs?,  APIfriends, viewed 20 May 2021, < https://apifriends.com/api-creation/different-types-apis/ >
 * 2) Inidus, 2019, What is an Open Platform?, inidus limited, viewed 21 May 2021,< https://inidus.com/what-is-an-open-platform/ >
 * 3) MuleSoft, 2021, What is an API? (Application Programming Interface), MuleSoft LLC, viewed 20 May 2021, <  https://www.mulesoft.com/resources/api/what-is-an-api  >
 * 4) StopLight, n.d., Types of APIs & Popular REST API Protocol, StopLight, viewed 20 May 2021, <  https://stoplight.io/api-types/  >
 * 5) Wikipedia, 2021, Open data, WIKIPEDIA, viewed 21 May 2021, < https://en.wikipedia.org/wiki/Open_data  >