tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Donald <>
Subject Re: [PATCH] about kjc
Date Sat, 01 Dec 2001 21:19:50 GMT
On Sun, 2 Dec 2001 08:03, Jon Stevens wrote:
> on 12/1/01 10:08 AM, "Remy Maucherat" <> wrote:
> >> Hi, tomcat users and developrs!
> >>
> >> /* I have post this patch twice. This is third time. */
> >>
> >> Do you know kjc which is one of the completely opensource Java
> >> compiler? If not, you can see detail at
> >>
> >> Accoding to Edouard G. Parmelan's report
> >> SUN'S JAVA COMPILER since version 1.5 about JLS compatibility. It was
> >> a grate news for Java open source community;)
> >>
> >> I and teik-san (san means Mr. in Japanese) wrote two kjc plugin for
> >> tomcat. One is for 3.3.x, and the other is for 4.0.x. If you take kjc
> >> plugin, it's good advertisement and help for kjc. Do you respect
> >> opensource? If so, could you take them?
> >>
> >>
> >> BTW, kjc is distributed under GPL. But you can take these patch in
> >> legal. Because you don't need to include kjc in tomcat. When you want to
> >> use kjc, only then you have to include it. In the fact, I wrote kjc
> >> plugin for Ant and it's really in it. So, you can also use kjc with
> >> Ant fine:)
> >
> > +1 for this patch as it is legal since it uses reflection.
> >
> > Remy
> I thought that using reflection to work with GPL code was still considered
> illegal by the FSF.

Depends on exactly it is used from my understanding. If you use reflection 
but still directly integrate with the GPL work such that there is no chance 
that the GPL layer could be replaced with something else or your code can not 
run in GPL free mode then it is considered no different from directly linking 
against it.

Note that if you use the "main()" interface that is considered okay last time 
I checked. However if you need to bind against the innards of the compiler 
then one option is to do the following. Create an interface layer and place 
it under a GPL compatible license (MIT, BSDL or whatever) and program against 
that interface. Then add some code to GPL work so that it implements 



Murphy's law - "Anything that can go wrong, will." 
(Actually, this is Finagle's law, which in itself 
shows that Finagle was right.)

To unsubscribe, e-mail:   <>
For additional commands, e-mail: <>

View raw message