From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 2002:a05:620a:a08:: with SMTP id i8mr22775078qka.285.1593045238884; Wed, 24 Jun 2020 17:33:58 -0700 (PDT) X-Received: by 2002:a05:6820:305:: with SMTP id l5mr25290916ooe.66.1593045238547; Wed, 24 Jun 2020 17:33:58 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!news.gegeweb.eu!gegeweb.org!news.muarf.org!nntpfeed.proxad.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Wed, 24 Jun 2020 17:33:58 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: google-groups.googlegroups.com; posting-host=47.185.233.35; posting-account=zwxLlwoAAAChLBU7oraRzNDnqQYkYbpo NNTP-Posting-Host: 47.185.233.35 References: <4d9fa282-830d-42f7-a3bf-ba127cb2ad06o@googlegroups.com> <8332f305-299f-45d7-9f9d-2cad924b24d8o@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <3606ddce-953e-4284-b822-91ae286612c1o@googlegroups.com> Subject: Re: Ada on Apple's new procesors From: Optikos Injection-Date: Thu, 25 Jun 2020 00:33:58 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader01.eternal-september.org comp.lang.ada:59215 List-Id: On Wednesday, June 24, 2020 at 2:18:11 PM UTC-5, Simon Wright wrote: > Optikos writes: >=20 > > Without paying a hefty proprietary-licensing fee to AdaCore, isn't > > GNAT-LLVM distributed only under pure GPLv3 without the Runtime > > Library Exception (RLE)? Wouldn't that mean that GNAT-LLVM on MacOS > > (and iOS) can be utilized by software distributed under GPL-compatible > > licenses, lest that software violate terms of GPLv3? >=20 > GCC itself is distributed under pure GPLv3, and the RLE[1] is irrelevant > to that distribution. >=20 > The gnat you are straining at is whether a compiler formed by merging > GNAT-LLVM with GCC can be used in an "eligible compilation process". If > so, the RLE will apply: >=20 > "You have permission to propagate a work of Target Code formed by > combining the Runtime Library with Independent Modules, even if such > propagation would otherwise violate the terms of GPLv3, provided that > all Target Code was generated by Eligible Compilation Processes. You > may then convey such a combination under terms of your choice, > consistent with the licensing of the Independent Modules." >=20 > A "compilation process" >=20 > "transforms code entirely represented in non-intermediate languages > designed for human-written code, and/or in Java Virtual Machine byte > code, into Target Code." >=20 > A compilation process is "eligible" >=20 > "if it is done using GCC, alone or with other GPL-compatible > software, or if it is done without using any work based on GCC. For > example, using non-GPL-compatible Software to optimize any GCC > intermediate representations would not qualify as an Eligible > Compilation Process." >=20 > But! >=20 > (a) if you look at the LLVM license[2], you will see at the top that > it's the Apache License v2.0 (with some irrelevant extensions); >=20 > (b) in [3] & [4], the Apache License v2.0 is listed as GPLv3-compatible. >=20 > So! what's the problem? GNAT-LLVM clearly provides an eligible > compilation process. >=20 > [1] https://www.gnu.org/licenses/gcc-exception-3.1.en.html > [2] https://releases.llvm.org/10.0.0/LICENSE.TXT > [3] > http://gplv3.fsf.org/wiki/index.php/Compatible_licenses#GPLv3-compatible_= licenses > [4] https://www.gnu.org/licenses/license-list.en.html#GPLCompatibleLicens= es Despite your focus exclusively on garden-variety unadorned LLVM itself, cle= arly the garden-variety unadorned LLVM is =E2=80=A2not=E2=80=A2 the entiret= y of the back-end of OP's tool-chain to release a GNAT-LLVM-compiled app to= Apple's Mac or iPhone or iPad app store(s), which is customary on nonjailb= roken Apple devices. When submitting an Universal 2 app to the App Store, = the developer submits LLVM IR (bitcode only, not textual, AKAIK). Reported= ly,* Apple reserves the right to perform any closed-source proprietary tran= sformations on that IR that it so pleases, including of course translating = to machine code (but perhaps other proprietary closed-source optimizations = too, such as peculiar to improved multiprocessor scheduling and/or battery-= life). Apple's Rosetta 2 is closed source, hence violating the RLE's excep= tion grant, precluding the Compilation Process from achieving the desired E= ligible Compilation Process. Hence, the RLE's exception grant implodes, re= verting the app to pure GPLv3, but since Apple's final steps of the Compila= tion Process are closed-source, the app is in violation of GPLv3 so GPLv3's= license grant implodes, hence no right to copy the derivative-work executa= ble whatsoever via the Apple App Store. * The Apple Developer Agreement is reportedly protected by NDA. Any observ= ations about the Apple Developer Agreement are from public media postings o= n 3rd-party websites. Btw, this NDA itself might be problematic for achiev= ing GPLv3's terms, but that is left as an exercise for the interested reade= r. In prior postings along this thread, I was actually trying to be politely c= ircumspect and not be the messenger of the Draconian outcome above (that I = knew already), but you directly challenged me for a revelatory analysis. A= t some level, I am sorry to be the bearer of bad news, because I would love= to cheer GNAT-LLVM onward. Disclaimer 1: This posting uses my aforementioned Wide legal theory of LLV= M's IR is in fact an IR in RLE's terms, instead of the Narrow legal theory'= s LLVM textual IR being recategorized as mere assembly language. Presumabl= y under the Narrow legal theory, Simon Wright's analysis stands, because th= e RLE and GPLv3 do not regulate what Apple does downstream with assembly la= nguage. Disclaimer 2: I am not a lawyer who has passed a bar in any jurisdiction. = This posting is merely my personal notes to myself of my own understanding= for my own future reference. You and your legal counsel would need to per= form your own analysis, using the legal system in your jurisdiction.