Serious Legal question - TLB(S)

Robert Shearman rob at
Wed May 25 14:22:49 CDT 2005

Boaz Harrosh wrote:

> Lets say I have an open source tool that I can compile with MinGW. 
> That can open a COM DLL extract it's TLB and make an .IDL file out of 
> it. Very similar to #import in msvc++ but to .IDL instead of a .H
> Let's say I use this tool on a component of a Commercial program Like 
> for example Norton Anti Virus. Or any other product and/or component. 
> Let's say I am a legal user of this component.
> Now what am I allowed to do with this .idl file: (??)
> 1. Nothing I must delete it and never do that again.
> 2. Use this idl to make a program that can interface that component, 
> and I can also distribute such a program, as long as the user has a 
> legal copy for that component.
> 3. I can use this idl to make my own implementation of that component. 
> As long as I do not violate any patents on the way. And I can 
> distribute that alternative implementation of that component.
> 4. I can Publish the component form 2 including the idl with an OSS 
> compatible License.
> 5. I can Publish the component form 3 including the idl with an OSS 
> compatible License

I think the closest is (1). Copyright law in most countries states that 
you can't copyright an interface, only works based on an interface. 
However, what complicates the matter for TLB files is that they contain 
variable names and comments/help strings that could constitute a 
copyrightable work. 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).

Rob Shearman

More information about the wine-devel mailing list