| The downvotes are utterly ridiculous. Unlike other parts of GCC, GNAT copyright is held by AdaCore due to some special arrangement with the FSF. For the compiled CE releases on their website, AdaCore strips the runtime exception: -- As a special exception under Section 7 of GPL version 3, you are granted --
-- additional permissions described in the GCC Runtime Library Exception, --
-- version 3.1, as published by the Free Software Foundation. --
So yes, binaries compiled with that particular compiler are de-facto under GPLv3, and you have to abide by its terms (eg. if a customer using these binaries requests the source code)You are of course free to build the compiler yourself, or use the Ada compiler that comes with your distro. The sources are available, you just don't get a tag that tells you which exact combination of files AdaCore used to build and verify their binaries. This is a strategic PITA, and AdaCore have in recent years made some moves to improve the situation, with being active on github and responding to issues in general. |
> Unlike other parts of GCC, GNAT copyright is held by AdaCore due to some special arrangement with the FSF.
Adacore holds at least the copyright of their own contributions and therefore can decide whether they want to release their version of GNAT with or without the runtime library exception; the FSF version eventually inherits also the contributions of Adacore, but the Adacore version is more current.
> So yes, binaries compiled with that particular compiler are de-facto under GPLv3, and you have to abide by its terms
This doesn't have anything to do with source or binary version. The reason is that the binaries provided by Adacore are compiled from their (most recent) source version which they publish under GPL without the runtime library exception. For this (and only this) reason you create a "combined work" when you link your code with the Adacore version of the runtime library. This doesn't change in any way if you compile the GNAT version of Adacore by yourself; you still don't have the runtime libary exception which only Adacore can give for their contributions.