Should runtime's license be GPL3+RLE3.1 instead of pure GPL3?

35 views
Skip to first unread message

Andreas ZUERCHER

unread,
Feb 20, 2020, 7:42:23 AM2/20/20
to ats-lang-users
Given that RLE3.1 is (speaking very broadbrushly) a stronger LGPL but with protections against utilizing a tampered compilation toolchain (see Eligible Compilation Process in RLE3.1)
https://www.gnu.org/licenses/gcc-exception-3.1.html
and given that the runtime of most GCC languages are licensed nowadays via GPL3+RLE3.1 instead of pure GPL3 (as opposed to the prior era:  GMGPL pioneering the topic of runtime/template-generation additional permission grants in the GPL within the Ada community first during the GPL2 era)
and given that the compiler itself of all GCC languages are licensed nowadays via pure GPL3 (as opposed to languages that dropped out of GCC such as CHILL that never made it to the GPL3 era),
I have been wondering if licensing the runtime of each variant of ATS as pure GPL (i.e., without the RLE) limits the utilization of each variant of ATS to only app-domain software that itself is to be licensed as pure GPL3.

By licensing each ATS runtime as GPL3+RLE3.1, then each ATS compiler could be utilized worry-free by certain app-domains to publicly release binary-only closed-source software, which might be important to facilitate ATS's usage in the enterprise, in app-store apps, and wherever closed source of the resulting executable or DLL is important to the user.

By licensing each ATS runtime as pure GPL3 as it is today, then each ATS compiler would be limited to the pure-GPL LIBRE/FLOSS fraction of the software industry that eschews even the open-source permissive licenses (e.g., MIT, Apache), leaving out the permissive-licensed open-source community.

To relicense each ATS runtime source file, mentioning of the Runtime Library Exception 3.1 would need to be added to each such runtime source file—•not• at the top-level directory where the COPYING file appears.

Just food for thought to ponder what the ATS community and Hongwei Xi overtly intend.

gmhwxi

unread,
Feb 20, 2020, 5:29:44 PM2/20/20
to ats-lang-users

I am totally fine with using GPLv3 + RLE3.1. Currently, the following clause is mentioned on the homepage for ATS2:

As a special exception, any C code generated by the Compiler based on the Libraries source is not considered by default to be licensed under GPLv3/LGPLv3. If you use such C code together with other code to create an executable, then the C code by itself does not cause the executable to be covered by GPLv3/LGPLv3. However, there may be reasons unrelated to using ATS that can result in the executable being covered by GPLv3/LGPLv3.

Once ATS3 is released, my plan is to release ATS2 under the so-called MIT license (or 2-clause or 3-clause BSD license).

However, my perceived way of programming in ATS3 cannot be easily covered with GPLv3 + RLE3.1. For instance, if you write
a program in ATS3, then your program essentially directs the ATS3 compiler to use various templates in some libraries to assemble
a final program in a language like C. There is really some kind of paradigm shift as for as code generation is of the concern, which
cannot be easily addresses using GPL plus exception clauses (or any other licenses I am aware of). Maybe a whole new kind of license
needs to be drafted for ATS3.
Reply all
Reply to author
Forward
0 new messages