Hi Philip,

On Sat, Jun 15 2024, Philip McGrath wrote:

> Therefore, "the entire work, as a whole," would need to be under the
> GPL.

Thank you.  That's also the conclusion I came to from several different
angles.

For now, the work remains licensed under the GPL.  My work is
Guile-PAM. [1] It's kind of a big step, because one day Guile-PAM could
potentially strive to replace both Linux-PAM, which is licensed under
MIT/Expat and OpenPAM, which is licensed under BSD-3.

I effectively burden operating system distributors in that all programs
using Guile-PAM must be "compatible" with GPL, or rather be linkable
with a library released under the GPL. [2]

> if you really want to, you can still license part of the work that you
> write under the LGPL

That's what I did for now.  As a concession, the actual PAM module
(written in C) is currently available under the LGPL. [3] That's the
same license as libguile, which it calls.

I'm not sure it makes much of a difference for users and distributors,
however.  Maybe both parts of my project should be released under the
GPL.

Any further comment or advice would be welcome.

> Instead of writing a C program that uses libguile.so, you can write a
> Guile program that accesses C-implemented functionality through the
> Foreign Function Interface. If necessary, you can write new C code
> designed to be accessed via the FFI; you can even write Foreign
> Extensions that use the Guile C API. Code structured as a Guile
> program that uses the FFI is often more flexible than a C program that
> embeds Guile. Usually it also requires writing less new C code, which
> is good for all the reasons we'd rather write Scheme than C.

I totally agree, but unfortunately PAM expects a shared object.

> If it would be useful to anyone, I'd be happy to write more about the 
> ways in which applying the LGPL to Racket seemed problematic.

I looked unsuccessfully for information online and would like to read
more about it, if you have time.  Thanks!

Kind regards
Felix

[1] https://codeberg.org/lechner/guile-pam
[2] https://www.gnu.org/licenses/gpl-faq.html#IfLibraryIsGPL
[3] https://codeberg.org/lechner/libpam-guile-c

Reply via email to