On 16 Nov 2001, Alexandre Julliard wrote:
Ove Kaaven ovehk@ping.uio.no writes:
But can the machine-generated sources that MIDL outputs
be put into the
official Wine source?
I'd prefer not. If we want to use .idl files we'll have to come up with our own compiler, and then we can put the .idl source
in the tree
and compile it at build time.
Hmm. Even when using flex and bison, it sounds like a fair amount of work... wonder who would volunteer?
There already are a multitude of open souce (GPL and otherwise) CORBA .idl compilers.
Of course Wine have probably slightly different requirements but I should guess that we could save 90% of the work compared to writing it from scratch.
Alexandre: Is a GPL:ed (or possible different licenced) .idl compiler acceptable?
And how about source IDL files? Can we put into Wine IDL
extracted from
real Windoze .tlb files with a tool like oleview.exe, or
IDL parsed from
MIDL-generated Windows SDK .h files, like objidl.h, with a script?
No, anything generated from a Windows file is copyrighted by Microsoft, so we cannot distribute it. We need to rewrite
these files
from scratch, just like we do for the normal headers.
Now where are all the usual non-lawyers on this list who would argue that API definitions, like prototypes in header files (which of course IDL, as a formalized API spec format, is all about), cannot be copyrighted? Oh well...
I'm here. :-)
Well, I wouldn't really go quite that far. The API definitions in themselves can't be copyrighted, true. But a specific way of expressing them is, so compiling any Microsoft file will generate create a derived work copyrighted by Microsoft as the main rule.
However it is not quite that easy, since only the specific expression is protected, the compilation result is only a derived work if it still contains any protected expression.
In light of this you could argue that since, I presume, MIDL removes whitespace and commments which is IIRC the only really expression, since the rest the API defintions are just facts, that the MIDL compiled files just contains facts not any part of the protected expression.
However that is a little thin line to walk, since there is quite of lack of real cases in the area, so I would recommend that we do as Alexandre suggest. Beside having the real .idl files in the Wine tree might be useful for other things as well.