GCJ related questions

Charles Wilson cygwin@cwilson.fastmail.fm
Wed Apr 4 05:00:00 GMT 2012

On 4/3/2012 3:22 PM, Thomas Wolff wrote:
> So the gcj package should actually not have been included in cygwin at
> all without the proper dependency and the necessary packages, if I
> understood the cygwin policy correctly.

IIUC gcc4-java is an explicit exception at the moment -- because there 
have been concerns about ecj's license, as well as "self hosting" concerns.

1) Licensing. If you want to discuss this bit further, take it to the 
cygwin-licensing list.  Now, ecj is under the EFL-1.0 license, which is 
OSI-approved.  So, *cygwin* shouldn't have any license compatibility 
concerns, thanks to cygwin's "exception" clause in its version of the GPL:

 > As a special exception to GPLv3+, Red Hat grants you permission to
 > link software whose sources are distributed under a license that
 > satisfies the Open Source Definition with libcygwin.a, without
 > libcygwin.a itself causing the resulting program to be covered by
 > GPLv3+.

However, it's not clear whether the *gcc* folks are as happy about 
co-shipping ecj (if they were, then they would be doing it already). So, 
stock gcc doesn't directly include ecj even though you'd need it for a 
working gcj (bytecode) compiler.

And, following that pattern, cygwin's gcc packages have not been 
*patched* to directly include a copy of ecj; they attempt to remain 
pretty close to upstream (we've learned the hard way not to stray far 
from the upstream codebase; that way lies madness.)

2) self-hosting.  I seem to recall there was some issue with actually 
building ecj using cygwin-gcc/gcj, but the details are fuzzy. So there 
was some reluctance to include a "binary blob" we can't reproduce from 
source; better to let end-users d/l so they can blame "those guys" if 
they get a corrupt/malware version?

So, if "we" don't include ecj directly...then if we followed strict 
policy we couldn't have gcc4-java at all.  That's obviously not a good 
solution.  So...gcc4-java was an explicit exception to the "make sure 
everything you need is included" policy.


Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

More information about the Cygwin mailing list