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.
--
Chuck
--
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