Serious Legal question - TLB(S)
wine at troy.rollo.name
Thu May 26 18:22:38 CDT 2005
On Thu, 26 May 2005 20:34, Boaz Harrosh wrote:
> > Therefore, I would suggest that you could use the generated .idl file
> > to write your own .idl file that has the same interface, but would not
> > be considered a copy or derived work. This is similar to what is often
> > done for Platform SDK header files in Wine. Naturally, once you have
> > your own .idl file that is free of copyright restrictions you can do
> > whatever you want with it, including (4 and 5).
> Again, Must it be Human made or can I use a program that does all the
> above automatically? Is there in the law a distinct separation between
> Human hand made, or machine generated. Given that the output is the same?
It depends more on what is done than how it is done. If it's OK to do
manually, it's OK to do with a program. But the real question is whether the
file you create could be regarded as a derivative work of the original file,
which means asking if it contains any copyright-protected elements of the
It is often convenient to say that the interface is not protected by
copyright, but that's not quite true. The elements that are dictated by
function are what is not protected. If there's only one way to correctly
write something, that thing will not be protected. If there is more than one
reasonable way to implement something, then copyright will apply.
In most cases that we care about for this purpose, interface is determined by
functionality(*). There may be other bits that are determined by
functionality, but if you go back to the interface and then develop the rest
from that, you will normally be safe, and if you're not a lawyer of any
description, that's probably the best approach to take.
(*) It is not impossible for an interface to be independent of functionality -
for instance an interface that is entirely internal to a GPL program will be
protected under the GPL since no other application needs to use that
interface for interoperability. Interfaces requiring IDL will normally exist
for interoperation with other programs, and so will determine, to that
extent, the code implementing it.
More information about the wine-devel