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: Simon Wright Newsgroups: comp.lang.ada Subject: Re: DragonEgg has been revived Date: Thu, 24 May 2018 08:19:09 +0100 Organization: A noiseless patient Spider Message-ID: References: <5c2523c1-9ea5-453c-b80e-9cb0dcd16de0@googlegroups.com> <293cf892-1320-49e6-a25f-a36ea098cd34@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: h2725194.stratoserver.net; posting-host="e6aa30a2159458efc32569385033c890"; logging-data="27904"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18n4Q5Wy0yrNT1JMh16FaQNoSN/qDWjlVA=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (darwin) Cancel-Lock: sha1:bHpt7Ini+Rh/inxM1zZIlH9BSQw= sha1:Ib8wLQCYw1BuSy97beWzm5Y4R0w= Xref: reader02.eternal-september.org comp.lang.ada:52635 Date: 2018-05-24T08:19:09+01:00 List-Id: "Dan'l Miller" writes: > On Wednesday, May 23, 2018 at 2:26:49 AM UTC-5, Simon Wright wrote: >> Simon Clubley writes: >> >> > What I would like to see is an Ada compiler that can generate code >> > for a wide range of targets without any GPL restrictions on the >> > generated code. >> >> Pretty sure that's called GCC. > > Pretty sure that you haven't read the Object Code clauses in GPLv3 and > the Target Code clauses and Eligible Compilation Process clauses in > the Runtime Exception v3.1. GPL restrictions galore on the generated > code there in Target Code & Eligible Compilation Process (in Runtime > Exception v3.1) interacting with Object Code, where Object Code is > •everything• not Source Code (in GPLv3). IR would therefore be Object > Code due to being not Target Code and not Source Code. You are confusing GPLv3 with the GCC Runtime Library Exception. GPLv3 section 1 para 4 says The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. [...] and it's clear that the GCC compiler itself is a 'generally available free program'. See also the FAQ[1]: [Q] Can I use GPL-covered editors such as GNU Emacs to develop nonfree programs? Can I use GPL-covered tools such as GCC to compile them? Yes, because the copyright on the editors and tools does not cover the code you write. Using them does not place any restrictions, legally, on the license you use for your code. I don't think that it would contravene the GPL to modify GCC so that it emitted an intermediate representation, provided that you convey the source form of such modification with a compiler binary. What could well cause trouble, and violation of the GCC Runtime Library Exception, would be to use that modified compiler on source of an RTS that was covered by the GCC Runtime Library Exception. [1] https://www.gnu.org/licenses/gpl-faq.html#CanIUseGPLToolsForNF