David Elliott dfe@tgwbd.org writes:
The crypto part of ADVAPI32 was the example I used. Let's
say I were
to write a CryptoAPI implementation as a set of seperate
source files.
With the LGPL I could compile all of that stuff and refer to it as a library. What is a library? I would say one or more object files linked together form a library. I could then take my CryptoAPI library, link it with the rest of Wine's ADVAPI32 and distribute a libadvapi32.so that could be dropped into a wine install.
If it is a completely separate library that doesn't contain portions that are derivative work of ADVAPI32, then yes you can do that. But you cannot for instance decide to reimplement CreateWindow and not release it simply by putting it into a separate file, which was what Patrik suggested; because your new CreateWindow will necessarily use internal functions and variables of USER32, and thus would be considered a derivative work.
It takes more that use to be considered a derived work, but the doctrine of derived work is central to the discussion.
One thing that is very important to note is copyright only protects expression not fact or ideas. In this case we are talking about use which I guess is better to talk about in terms of functionality.
Functionality on the other lies closer to fact or ideas than to expression so I would consider it doubtful for the courts to extend the doctrine of derived work to protect this.