Peter N Lewis wrote:
Since our RTL is under a slightly modified LGPL (allows static linking as long as you make the modifications to the FPC-RTL-licensed code available), license-wise I don't think there is any problem for you to reuse things. If there is, we could dual-license it under the regular LGPL as well I suppose (the main reason for the static linking exception is that some OS'es, like Dos, simply do not support dynamic linking, and support for creating dynamic libraries was not available for all OS'es in our compiler from the start either).
BTW, standard LGPL allows static linking as well. You just have to distribute object files of the non-free parts, so users can relink. But I suppose for some reason that's not desired?
No. I think we simply didn't think of that, and the GNU site didn't spell it out either. It is a good point for the license FAQ though.
The above is not true, there are more requirements of a statically linked LGPL than the above.
Of course, I didn't quote the full license text, but only mentioned the main relevant diffrence between static vs. dynamic linking.
But even if that were the only requirement, it is a fairly onerous one to put on developers.
Have you done it? I have. So I think I can tell it's doable. I don't think it's particularly difficult either, 2-3 more lines in my Makefile or so.
The LGPL also requires copyright notices,
If you make changes to it. (Otherwise you just copy the existing code with the existing copyright notices.) AFAICS, this is no different with the FPC exception.
Requiring everyone using GPC with a non-free program to ship an executable as well as a separate object module that could be linked with a separately compiled RTS seems entirely pointless.
Actually, we're not talking about the GPC RTS here, but FPC's modified LGPL. I also wasn't objecting to these modifications, BTW, just pointing out that the standard LGPL does not require dynamic linking when used with differently licensed code, which is a common misunderstanding.
BTW, looking closer at the modifications, I see a possible problem, though unrelated to the issue at hand (and this might not be the right place to discuss it): Someone could make changes to the library, not release them ((L)GPL doesn't require it), and then release a program that uses that modified library under a proprietary license by the exception, so in effect the library changes, though clearly based on the library, would never be released under a free license.
There is very good reasons for static linking the RTS to not bring in any part of the GPL or LGPL license.
That might be a misunderstanding. If the RTS were under the plain (L)GPL, then its conditions would also (or especially) apply with static linking.
Frank