Introduction, Licensing Question and the Introspector Project

James Michael DuPont
Tue, 25 Jun 2002 11:13:19 -0700 (PDT)

My name is James Michael DuPont,
I have seen a reference to this list from Slashdot, and was wondering
about the GPL questions that you were asking.

In particular I have a question about the GPLing of the output of a
reflective and introspective system. 

If a system can know its own source code, and can describe itself to
the the user, then the user can then have the system describe itself to

That would create an endless loop of system reproducing themselves.

If that original program is GPLed program, lets say, the gcc,
then the source code generated would be derived from it, and therefore
be gcced. 

Now if the program describes itself in such as way that it is easy to
read this description, and the parsing of it requires lower energy,lets
say an XML file.
Then the output (XML) is not exactly the same, because the output
contains more information than then input does, it has less entropy.

This added information can then be abstracted and removed from the
original and packaged as a diff. Lets say a parse tree containing
semantic information. To avoid the copyright issue, lets say that the
original is not outputted, but just byte references to the original

Now we can then copyright and publish this new file that is separate
from the original, and needs the original to be used, but exists
otherwise on its own.

That would then be under possible a different license and copyright
than the original source code. 

A program could then use this meta-information to read the original
file and understand its contents, kind of like an index file.

My question is if there is any way that a GPled program could prevent
such added value information from being extracted from it. 
The GCC for example collects all type of information about a program
being complied, is it fair for that program to be the exclusive user of
this data. 

A patch to the gcc to extract this meta-information is then fair and
legal is it not? Would the GCC developers be able to prevent a third
party from using and distributing such a patch?

That is the current problem that I am having with the introspector
project, I have built such a patch and it turns out that I am one of
many people who have build extensions to the gcc that are not wanted by
people like RMS.

I would like your advice on hold to proceed and how you have handled
similar issues in the past.

best regards,


James Michael DuPont

Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup