This is the mail archive of the cygwin mailing list for the Cygwin 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: GCJ related questions


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


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