[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: My Favorite soapbox : XML linkage (was Re: [DotGNU]Jabber-thon)

From: Gopal V
Subject: Re: My Favorite soapbox : XML linkage (was Re: [DotGNU]Jabber-thon)
Date: Thu, 6 Jun 2002 19:37:59 +0530
User-agent: Mutt/1.2.5i

If memory serves me right, James Michael DuPont wrote:

Warning: I may be talking through my hat ..... (And, take that
rabbit out !) 

This is a post to end all posts in this direction, which means
that I've poured everything in my cotton-pickin' head into this

> One of the reasons that I have gotten into this
> mindset of trying to protect the programs is my
> discussions with RMS about the licensing of the
> introspector and interfacing to the GCC. He has shown
> me the pitfalls of being too open with your data and
> the problems involved.

He is right (yes,sometimes he is !) .... GCC is the most
important tool GNU has ever written . It is the source
of all the FS programs and is the reason why the idea
of FS became so popular.... when you use gcc for work,
you visit ... look ... see ... read again....etc

> It seems that there is no way to implement the
> introspector without breaking something in the GPL or
> opening the GCC up to abuse. 

Yes , unfortunately true :(

> This is exactly the issue that I have found to be in
> the .NET framework with the compiler interfaces. I
> brought this issue up on the mono list when someone
> was asking if they can embed the compiler into a
> non-free, or at least non-GPL program. 

The problem does not exists there as mono's CodeDom will 
prolly be X11 licensed (like their libs) .......

> You are basically telling me that we won't have any of
> the same licensing issues with the DotGNU project and
> Pnet compiler as with the gcc. 
> That is very interesting because it gives me a whole
> new perspective on the introspector project.

One small word in here ..... GCC is almost unmatched in
features or portability . This makes it very valuable to
reuse ... AFAIK, no other compiler can compile GNU C properly.
And so it is almost a monopoly , but as you can see co-operation
pays off better than forking (see BSD) . This community monopoly
is not enforced , but has been accepted as it benifits by having
a common compiler (rather than have slightly incompatible zillion
versions ....)

But for Portable.Net it's slightly different , it is in the
building stages .. There is a fully functional C# compiler in
the market ... and even in the Free Software arena , there is 
still another GPL'd compiler to compete. So it isn't a monopoly
by any stretch.

In a competitive market , such an abuse is less likely ..... as
anyone can load the MS CodeDOM and do exactly (currently more) than
what I can do with CSCC ...... this is one point which speaks in
favor of introspector for pnet ....

I hope you see my point ....

> Also for the issue of the compiler ASTs : 
> It does not matter how long it takes to get that
> information, you only need it once for an entire
> project to extract all types of interesting
> information. The ASTs can be used to regenerate a big
> chunk of the source code, translate it into other
> languages and make machine code.

See my point for CodeDOM ....

> But we are in a different situation from microsoft,
> if people use the Microsoft code in such a way, they
> still have to accept the EULA and pay through the
> nose. 

Not for the .NET redistributable and the other libs .

To make a point clear there is a difference between
"using code" and "linking code" .... MS does not charge
for the latter in particular ... eg linking kernel32.dll
does not need any further EULA (other than at install time).
Using MS code is out of question for most companies ....

> That takes the wind out of our sails if anyone can
> just use and abuse any of our tools with no remorse.

Yes, the extra work to provide/design interfaces is a 
cost they'll have to bear .... which is why RMS is trying
to discourage you from making their job easier for them.

> Many of these issues have been learned by the hard
> fights that GCC has had with chip vendors trying to
> get backends for various new chips. If they could get
> away from freeing up the implementation, they would.

However , this is almost a non-issue .... an RPC based 
compiler would be atleast 4 times slower than a regular
one .... well another price to pay :)... and read previous

> Can I invoke, Pinvoke, remotly invoke GPLed code from 
> non-free code? 

Even more sinister I write a clone lib for libreadline ,
and ilrun -L .libs/ sekr3t.exe uses my libs and ilrun sekr3t.exe
runs off the GPL'd readline for a non GPL app .......

(not that I want to , but I think out of the soapbox)

> Also the usage of the ASP.NET
> System.CodeDOM.Compiler.ICodeParser that can deliver
> asts to any user without linkage?

Exactly so what's the danger in providing an introspector when
you could accomplish exactly that in a C# app (using an LGPL'd 
or GPL+Linking exception CodeDOM ?)

> Not because I want to go around the GPL, but I feel
> that we need to be able to implement these features in
> order to promote growth and expansion.

IMHO it will , this allows cscc to become *really* portable ....
ie you can compile using cscc without even running it locally.
But obviously large programs will still need local files .....
(I'm giving you as much as you can chew ;)

> But I think that I can easily change the software to
> use the pnet compiler if these interfaces are to be
> supported. 
> That would also allow the introspector to be
> compatible with all types of Code Dom Providers!
> Personally I feel that they will help the project and
> be able to provide all types of add in tools,
> visualization services. 

rhys : your call ;) .... (who am I to say YES, all I can
say is GOOD !)

> One of the reasons that I came to this list was the
> excellent work done by Rhys on the compiler. 
> He has done an impressive job at cleaning up the tree
> interface. Also your encouraging words Norbert gave me
> the feeling that this was the right place to try and
> get my roots in the ground.

Thankfully you can start before the ILNode tree grows 
anywhere near what GCC's AST looks like ... and we do have 
a nice treecc to do part of your work .... 
[IntrospectorGenValue(ILNode_Dummy) anyone..... ?]

The difference between insanity and genius is measured by success

reply via email to

[Prev in Thread] Current Thread [Next in Thread]