FYI.
I learned recently that LGPLv3 does address the issue of code generated
from templates (C++ templates, Ada generics). So I reworded ATS license
as follows. The change is that ATS libraries are now covered under LGPLv3.
It is also stated explicitly that any C code generated by ATS compiler using ATS
libraries is NOT considered to be licensed under GPL/LGPL by default.
* The Compiler (ATS/Postiats):
[GPLv3](
https://github.com/githwxi/ATS-Postiats/blob/master/COPYING-gpl-3.0.txt)
* The ATS source for the Libraries (ATSLIB/{prelude,libats}):
[LGPLv3](
https://github.com/githwxi/ATS-Postiats/blob/master/COPYING-lgpl-3.0.txt).
* 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.
* The contributed portion (ATS/Postiats/contrib) is released under the MIT license.
* There is also a release under the MIT license for the C header files of the Libraries,
which one can, for instance, freely insert into C code generated from ATS source code.