Linked by Thom Holwerda on Wed 2nd May 2012 22:32 UTC, submitted by PLan
Legal "The European Court of Justice ruled on Wednesday that application programming interfaces and other functional characteristics of computer software are not eligible for copyright protection. Users have the right to examine computer software in order to clone its functionality - and vendors cannot override these user rights with a license agreement, the court said." Bravo. A landmark ruling, for sure. If the US courts decide in favour of Oracle in the Google-Oracle case, Europe would instantly become an even friendlier place for technology companies.
Permalink for comment 516903
To read all comments associated with this story, please click here.
RE[2]: NOT APIs
by henderson101 on Thu 3rd May 2012 14:22 UTC in reply to "RE: NOT APIs"
henderson101
Member since:
2006-05-30

"The fact is that they haven't said anything about APIs in code form.


What is an "API in code form"? That doesn't make any sense... An API is by definition abstract - there is no such thing as an "API in code form".
"

Yes there is... an API is a contract between a Provider and a Consumer. Just because you are used to seeing a C header file, don't be fooled in to believing that is the defacto API, in reality that is just a concrete implementation of an API specification.

CreateNewUser - a method to create a new user account. This recieves the user's name and personal details in a UserRef structure and returns a boolean result to indicate if the function was successful.

API in Pseudo code form:

method CreateNewUser:: receives: UserRef returns: boolean[success==true, failure==false]

You could then provide a model implementation of the API as a C header e.g.:

extern BOOL CreateNewUser(UserRef* userRef);

The actual API is the contract between two blocks of code. Otherwise, do you really think that because the Win32 API (as an example) can't be called directly from Assembler without using the original C headers? Do you believe that the Win32 API (and I'm totally using this as an example API) included in languages such as D or Delphi are just using C headers? No. If you look at a book like the Win32 programmer's reference guide (I forget the exact name, but it is multi volume), the API is detailed as a whole bunch of specifics. This is the API. The C is just one implementation of that API specification.

Reply Parent Score: 3