About the AGPL license, does it extend to programs compiled with Loko? The author seems to not want it to with the comment about the license not extending to user space. My understanding, however, is that would iff the programs used a library provided by the AGPL compiler. Hence why gcc has the linking exception.
The author has opened an issue[1] for discussion of the license matter on the issue tracker. He writes:
> Loko is AGPLv3 for various reasons. There are benefits to using the AGPLv3 that I prefer to keep, but it's not a perfect match for a compiler + runtime. To make Loko more widely usable, to even developers of closed source applications, I would like to formulate a suitable exception to the license. People should not need to release the code to their application that is running on Loko. There are precedents in Linux and GCC.
> An expert in free software licenses is likely needed for this.
Yes, unless there is a specific exception, the program would be covered by AGPL. Even if you just use it on the server, you have to release your programs code under the AGPL.
Wow, really? So it’s essentially impossible to use this for proprietary software? I knew about the server stuff, but I didn’t think the AGPL bound compiled programs to the terms of the compiler.
If I use an AGPL text editor, does my written text also become APGL?
An (A)GPL text editor works, see for example Emacs, as the text created doesn't contain any part of the editor itself. But a compilers emits code which is based on your source and the compiler itself. Also, it usually links against a standard library which would be AGPL. So this makes your created executable AGPL unless there is an explicit excemption, as it is the case with GCC.
Probably more poignantly, it's not usable for open source projects that want to distribute their stuff under a license that's more permissive than the AGPL.
Actually seems the author might be a bit confused about link exceptions:
"Linux’s license doesn’t extend to user space and I want that aspect to work the same for Loko."
Sounds like they really want something closer to gcc/glibc licensing.
Not quite sure if they really want to close the "proprietary fork running as compiler-as-a-service in the cloud"-hole that using the AGPL (with link exception) would close, though.
Linux kernel has some uapi headers which are usually (transitively) incorporated into your programs by the libc you use. The exception covers this code.
"The Linux Kernel is provided under the terms of the GNU General Public License version 2 only (GPL-2.0), as provided in LICENSES/preferred/GPL-2.0, with an explicit syscall exception described in LICENSES/exceptions/Linux-syscall-note, as described in the COPYING file."
In other words, the Linux kernel isn't pure gplv2, but comes with an exception in order to allow linking.
The compiled program. So you could give users the compiler (under AGPL) and source code to your program under a proprietary license. But you probably wouldn't, I guess.
Any compiled artifacts would need to be distributed (if they are distributed) under AGPL.
I'm a fan of Free software, but much prefer GPL/LGPL for compilers and runtimes/standard libraries.
It depends. . . if the compiled program is 100% compiler output, then it's fine. If the compiled program ends up including bits of library code that ships with the compiler, then, in the absence of special exceptions, the output will also need to be AGPL-licensed.