Hi,
To my understanding, wine is a reimplementation of the MS system. As far as I understand, you take MS public headers and reimplement their functions. If that is how it works, then how do you deal with copyright? The MS headers certainly come with a copyright clause: how is it possible to redistribute these headers with wine?
The reason why I ask this: I just rewrote an opensource implementation of a closed-source library. This opensource implementation is meant to be fully compatible with the closed source one: I reimplemented all the functions provided by their header, and anyone using the closed source one should be able to use my library as a replacement. My problem, though, is with the distribution of the header: Since I want to be fully compatible with the closed-source implementation, I have to, somehow, use the same header. I could probably modify it so that is *looks* different, but for the compiler, the API *needs* to be the same.
Since you seem to have the same problem with wine (and you probably dealt with it succesfully), I wanted to ask you how you are solving this problem. Do you "rewrite" the headers? Do you copy them "raw"?
Thank you, Christophe-Marie Duquesne
On Mon, Jun 11, 2012 at 6:54 PM, Christophe-Marie Duquesne chmd@chmd.fr wrote:
Hi,
To my understanding, wine is a reimplementation of the MS system. As far as I understand, you take MS public headers and reimplement their functions. If that is how it works, then how do you deal with copyright? The MS headers certainly come with a copyright clause: how is it possible to redistribute these headers with wine?
The reason why I ask this: I just rewrote an opensource implementation of a closed-source library. This opensource implementation is meant to be fully compatible with the closed source one: I reimplemented all the functions provided by their header, and anyone using the closed source one should be able to use my library as a replacement. My problem, though, is with the distribution of the header: Since I want to be fully compatible with the closed-source implementation, I have to, somehow, use the same header. I could probably modify it so that is *looks* different, but for the compiler, the API *needs* to be the same.
Since you seem to have the same problem with wine (and you probably dealt with it succesfully), I wanted to ask you how you are solving this problem. Do you "rewrite" the headers? Do you copy them "raw"?
Thank you, Christophe-Marie Duquesne
I wouldn't have a clue about France or my own country however it now appears rather clear cut to developers in the United States. You'd assume this is the common sense ruling that should follow any action of this type in other countries though.
http://tech.slashdot.org/story/12/05/31/237208/judge-rules-apis-can-not-be-c...
Have you considered talking to your local version of the EFF?
Edward
Hello!
On 06/11/2012 10:54 AM, Christophe-Marie Duquesne wrote:
To my understanding, wine is a reimplementation of the MS system. As far as I understand, you take MS public headers and reimplement their functions. If that is how it works, then how do you deal with copyright? The MS headers certainly come with a copyright clause: how is it possible to redistribute these headers with wine?
The Windows headers are copyrighted and Wine cannot redistribute those. Wine provides its own headers.
bye michael
2012/6/11 Michael Stefaniuc mstefani@redhat.com:
Hello!
On 06/11/2012 10:54 AM, Christophe-Marie Duquesne wrote:
To my understanding, wine is a reimplementation of the MS system. As far as I understand, you take MS public headers and reimplement their functions. If that is how it works, then how do you deal with copyright? The MS headers certainly come with a copyright clause: how is it possible to redistribute these headers with wine?
The Windows headers are copyrighted and Wine cannot redistribute those. Wine provides its own headers.
bye michael
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.
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!
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
On Mon, Jun 11, 2012 at 5:33 PM, Roderick Colenbrander thunderbird2k@gmail.com wrote:
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.
This really helpful. Thank you very much.
On Mon, Jun 11, 2012 at 11:04 AM, Edward Savage epssyis@gmail.com wrote:
http://tech.slashdot.org/story/12/05/31/237208/judge-rules-apis-can-not-be-c...
Have you considered talking to your local version of the EFF?
Edward
Thank you for your kind advice, and for the link you provided. I'll consider writing to the EFF.
On Mon, Jun 11, 2012 at 11:49 AM, Michael Stefaniuc mstefani@redhat.com wrote:
The Windows headers are copyrighted and Wine cannot redistribute those. Wine provides its own headers.
Gotcha.
Thank you very much, Christophe-Marie