
Image by Stuart Miles / freedigitalphotos.net *
Application Programming Interfaces (API) are, generally speaking, specifications that allow programs to communicate with each other. (…) the freedom to reimplement and extend existing APIs has been the key to competition and progress in both hardware and software development (…) by ensuring that competitors could challenge established players and advance the state of the art. (1)