On 12/30/2012 02:03 PM, Theodore Ts'o wrote:
I can't speak to what was intended by the GPLv2/v3, but I can
speak to
what are commonly referred to as "interface definition files". The
usage comes from RPC libraries, such as SunRPC --- for which a
reference implementation was released to comp.sources.unix in 1988.
Indeed, I know it well (from a licensing standpoint, that is). The
general time period is interesting, since something must have happened
not long after 1988 causing RMS to add "associated interface
definition files" to GPLv2 in 1991. I wouldn't think it likely that
RMS would remember such a historical detail, though he might have some
current understanding of what he believes "interface definition file"
is doing in the GPLv2/v3 definition that might be worth finding out. I
suppose I could find Josh Gay and Bradley Kuhn on IRC, ask them for
their opinion, and then do a HBR cure. :)
[...]
But I'm not sure I understand why IDL files were specifically
called
out in the license. Arguably the IDL files are the "preferred form of
the work for making modifications". They would be the same as .y
files used by yacc/bison which generate .c and .h files, and -l files
used by lex/flex for the same purpose.
BTW, I could imagine an original author deciding that they didn't want
to make it easy for people to make incompatible changes to the
protocol, so that author might not release the IDL, and only released
the generated .c and .h files. But that would be legal for the
original author to do, since they wouldn't be bound by the Copyleft
restrictions as the copyright author. There might be some interesting
questions about whether subsequent redistributions would be allowed,
since they would not have the "preferred form of the work for
modifications" --- but that would be because the original author never
provided them! (I'll leave it to the lawyers to figure out what would
happen in such a hypothetical case.)
I hope this helps,
Yes, very useful. Thanks,
- Richard