From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail From: Brian Drummond Newsgroups: comp.lang.ada Subject: Re: Precisely why can't official FSF GNAT maintainers copy bug fixes in GNAT & its GCC-contained runtime en masse from GNAT GPL Community Edition? Date: Fri, 4 May 2018 11:55:55 -0000 (UTC) Organization: A noiseless patient Spider Message-ID: References: <9c3a75d6-a01f-4cfa-9493-10b8b082ead8@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Date: Fri, 4 May 2018 11:55:55 -0000 (UTC) Injection-Info: reader02.eternal-september.org; posting-host="160e0f9e00914a427dd7fbe3b5d6f3e0"; logging-data="15416"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+ejujf3owQw1sV/CVPJsLvtX3bUZpfHG8=" User-Agent: Pan/0.141 (Tarzan's Death; 168b179 git.gnome.org/pan2) Cancel-Lock: sha1:AHZVMozp7yLD96IGbp0N+ITWcJ8= Xref: reader02.eternal-september.org comp.lang.ada:51967 Date: 2018-05-04T11:55:55+00:00 List-Id: On Thu, 03 May 2018 12:13:19 -0700, Dan'l Miller wrote: > Instead of burying this 200 comments down into another thread, this is > important enough to deserve its own top-level posting: > > On Thursday, May 3, 2018 at 12:00:20 PM UTC-5, Simon Wright wrote: >> Not actually copyright, since (judging by the 2017 CE) it's assigned to >> the FSF anyway. It's a licencing issue. > > You do bring up an interesting point: because AdaCore appears to > immediately assign all rights to copy to Free Software Foundation the > moment that AdaCore employees invoke the file-save function in their > text editor in files comprising GNAT and its portion-of-GCC runtime, it > seems that only Free Software Foundation would have legal standing to > fully enforce the GPLv3-without-Runtime-Exception in GNAT GPL Community > Edition. It may very well be that the problems aren't legal but technical. Having done a little maintenance on ghdl/gcc (updating it from gcc4.4ish to gcc4.6-gcc4.8 a few years ago, this seems to have restarted interest in an excellent open-source Ada project) I can comment, and support and maybe add to Simon's observations. Gnat Libre edition may be a newer Ada compiler than FSF Gnat (while still lagging Gnat Pro by a year or so) but it is based on a fairly old gcc base version (partly because of that lag). And the front-end language interfaces to the gcc middle-end and back-end tends to change quite significantly between gcc releases. This broke ghdl quite badly at that time, and it took some serious digging (for someone not intimate with gcc internals) to find out where, why and what to do about it. So a wholesale copy of Gnat Libre patches from a middle-aged gcc, getting close to retirement, into the FSF Gnat source tree based on a leading edge gcc is likely to result only in a colossal build failure followed by a horde of difficult bugs. The C layer between Gnat and GCC is quite large (over 50 .c,.h files); much larger than ghdl's astonishingly clean layer (a single C file for the compiler, a few small ones for the RTS, all the rest is Ada) so I could imagine merely maintaining this interface between gcc versions to be quite a task in itself, running to stand still, even before porting any actual compiler changes. (Side note 1 : the sole author of ghdl also ported it to use LLVM as a third back end. Comparing this with DragonEgg's problems interfacing Gnat to LLVM supports the notion that this is not trivial.) (Side note 2 : he ended up wih a job at Adacore.) In short, unless you know different, changes probably have to be brought over one by one and massaged to work, as "free software" time and effort allows. -- Brian