Documentation

Specifications

Projects like the Featureless Linux Library are focused entirely around provided standards for every aspect of the project. Numerous specifications are available describing these standards. At this time, the specifications have not been transcribed into a format for the web. They are stored in plain text within the source code repositories.

There are two major groups of specifications, the Featureless Settings Specifications and the IKI Specifications. Individual program projects may also have their own specifications. Each pogram has a specifications page that describes the specifications, if any, that are defined by that project. The Featureless Make is a good example of program specific specifications.

Many of these specifications may also be found in the source code repositories:

Terminology

One of the biggest problems with an API is the mis-use or misunderstanding of the meaning and purpose of one. The term itself is not the most accurate and is also not ideal. A more appropriate term would be a Library Interface or a Software Interface.

Standard

A set of rules and guidelines.

Specification

A specific interpretation, clarification, or description of a Standard, such as the documentation that describes how to use or follow a Standard.

Implementation

The applying of some Standard or Specification.

Application Programming Interface (API)

The API term is commonly mis-represented as Services or Protocols (such as "Web API"). An API instructs a programmer how to use a dependency when programming some software that utilizes said dependency. An API is a Specification of some Implementation of a Standard be it a formally defined standard or an informally defined standard. An API may be an Implementation of a Standard or a part of an Implementation of a Standard. An API is, in effect, documentation.

Application Binary Interface (ABI)

The ABI term refers to an Application Binary Interface and represents the compiled implementation of some API. An ABI may not always exist for some API, such as for pure scripting languages. An ABI is neither a Specification nor a Standard. An ABI is an Implementation of an API making it an Implementation of a Standard or Specification.

Service

Any action or labor performed by one party for another party (such as one person helping another person).

Protocol

In the context of computers and software, this is a Standard focused on communication between two parties (often referring to Internet communication).