On Mon, Jun 11, 2012 at 6:50 AM, Christophe-Marie Duquesne chmd@chmd.fr wrote:
On Mon, Jun 11, 2012 at 3:09 PM, Ricardo Filipe ricardojdfilipe@gmail.com wrote:
yeah, what happens is the header is reimplemented, not simply copy-pasted from Windows. Even if the API is not copyrighted, the header contents still are.
Well if you rewrite a header such that it is 100% compatible with an API (which means: 0 change in client code), it has to be very similar to the one the API came from.
- The macros have to be the same, in order to expand the same way in client code
- The function names have to be the same as well
- Same goes for the typedefs
- The header name also has to remain the same.
What can be different:
- function argument names
- indentation
- comments
In the end, it seemed pretty silly to me to do that. But, if that is the solution to my copyright problem, I am doing it!
Have a look at what Google does for the Linux headers in Android. They essentially process them with a script and remove comments, inline functions and other stuff. There have been various articles about it. Look at the argumentation.
Years ago a lot of video games used 3dfx their 'glide' APIs. A number of people made re-implementations of glide by using the 3dfx glide SDK. All implementations which used the official headers were taken down. Again there may be more information about this.
Roderick