This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Linkage of GPLed GCC to Closed Source via XML or Perl


I am really shocked : 
>James Michael DuPont asks lots of questions
>indicating that he is attempting to find a legal way
>around the GPL, so that he can attach
>proprietary back-ends to GCC.
>I would urge people not to give him any assistance,
>even if he is only asking the questions out of
>intellectual curiousity.

I think you should not shoot first without asking
questions. Everyone allways talks about how nice
everyone in "Open Source" is to each other. This is
setting a bad example.

I am sorry to tell you that you are misjudging me.
You might not know me, but I am a supporter of the GNU

The reason why I am pointing out the flaws in the GPL
is because the GPL has an outdated idea of linkage,
it is that simple.

I think back to the story of gödel and how he proved
that every system can be self referential, and every
function can be encoded into data, and that data can
be fed back into itself to create a contradiction.
In that light, every GPLed Program can be compromised
via alternative interfaces to function invocation
than linking, and GPL code can be translated into an
external representation that is no longer code, but
All within the confines of the GPL.

Also with Perl, you can just link to perl and you have
gone around the GPL.

Invocation of functions, evocation of effects, that is
the key issue here.  The freedom to invoke, and the
freedom to see how it is done. The protection of this
freedom will have to be rethought in the light of the
changes in the world.

I think that it is time to consider the concepts of
invocation versus linkage in the GPL and allow for
external representation, network based linkage and
invocation. We will see all these splinter projects
come together and a brand new interest in GNU from
many different areas.

Let me tell you about myself and my interests : 

I always was asking myself how to create an C++ class
that has a list of members that are available. Like
reflection. Originally I wanted to create this
interface directly into the compiler and allows an
object to get a rtti-like interface into its

I am a believer in the GCC and GNU. I use emacs and
gcc at home and at work. I run only linux at home and
and running debian gnu/linux.  

For my living i write not compilers, but billing
systems. We deal with complex data structures and they
have to be fast. C++ is an ideal language and that is
why I use it.

Perl supports introspection to some degree, as java.
Noone is crying about that.

When I first came to this list in 1999
I was asking about creating an object oriented C++
interface into the complier :
Back then the Trees were not documented as well

I remember when denis percin
kicked off a discussion about external representation.

you said  :
"I'm afraid that's exactly what RMS is extremely
worried about:
specifically, that proposed changes make it easier for
tools to use the gcc front ends or back ends."

He has gone on to abandon talking to gcc, and wrote
his own parser with the project
DCT: The Document Comprehension Tool

The GCC list has had many people who are interested in
getting access to the compiler data, and many of them
are turned away in a similar fashion.

Let me tell you that there are 4 projects out there
that are interfacing to the gcc compiler :


This is a project that is very similar to mine,
without the introspection idea.

Gasta from Guillaume Thouvenin   Gasta - Gcc Abstract
Syntax Tree Analysis

GCC_XML from
Also a GCC patch.

I think the GCC list has to ask itself,
how long are we going to wait before addressing the
issues at hand, and not just ignoring the problem to

It is time to get our heads out of the sand and face


James Michael DuPont

Do You Yahoo!?
Yahoo! Greetings - Send FREE e-cards for every occasion!

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]