Keith Marshall wrote:
> Sorry, I just don't buy this.
Welcome to the wonderful world of copyright, patent, and trademark law.
If the only place the knowledge that the
> value for FOO should be foo_value is affirmed is within the PSDK, then
> by divulging this privileged information, regardless of the format,
> both Tom and Dick are violating the terms of the EULA, by which they
> are *legally* bound.
IANAL. However, the EULA isn't a non-disclosure agreement. It is, at its
core, an agreement prohibiting reproduction of copyrighted work.
Dick is not reproducing the copyrighted work.
Harry is creating a new work.
No, it doesn't make any sense. But it is the law. It's called "the
cleanroom technique" (or sometimes "the chinese firewall" -- why, I have
no idea, but I could make some guesses). And it has been upheld in court.
Why do you think AMD was able to recreate the x86 ISA?
> IMO, Harry's collusion with Dick, in passing that
> information on to MinGW, renders Harry's and Tom's patches equally
Has nothing to do with "collusion". AMD had two different teams --
employed by the same company -- working to reverse engineer the x86: One
that had access to Intel chips and tested them, documenting their results.
The other wasn't allowed to touch or be in the same room with the Intel
chips. I've heard of other cases where the Blue Team was not allowed to
even talk to or eat in the same lunchroom with members of the Red Team,
except via the Interface Control Documents generated by the former.
>> The documenter must use grammatical sentence structure and not appear
>> to be copying the source document.
Actually, this is the KEY requirement. In the most basic sense,
copyright protects a particular expression of an idea. Patents protect
(So, if Microsoft has patent protection on a particular bit of code,
you're out of luck -- provided the code doesn't fall under the
"interoperability" exception or (in this case) the 1996 consent decree;
thus, it's arguable that MinGW headers DO fall under that exception.
'Course, we can't afford any real lawyers if it ever came down to an
actual legal fight, so that might be a moot point.)
Back on copyright:
A particular bit of code:
#define foo_VAL 42
is an expression of an idea.
"The C++ macro foo_VAL should be equal to 42 decimal"
is a different expression of that idea.
Dick never signed an NDA on the idea, nor is the idea patented. (EULA !=
NDA) Therefore, he is free to create a new expression of that idea,
using his knowledge of the grammatical rules of ordinary English. He
could even write a book, called "Dick Explains the Secrets of Microsoft
Windows(tm)" and sell it for profit, and never pay a dime to Microsoft
-- as long as he abides by /trademark/ law when referring to Microsoft's
Harry, having never seen the copyrighted original work, is free to
create a third expression of that same idea, using Harry's own knowledge
of the syntactical rules of C++ and Dick's book. Harry then ends up
generating an expression of the original idea that may (or may not) be
identical to Microsoft's original expression.
But Harry DID NOT COPY it (nor did he copy Dick's book). Therefore,
Harry is not guilty of copyright violation.
Yes, it's stupid. But it is a recognized legal loophole.