Tomas Volf <[email protected]> writes:

> "Dr. Arne Babenhauserheide" <[email protected]> writes:
>
>> Srayan Jana <[email protected]> writes:
>>> This might sound dumb, but could you make a closed source
>>> application using Guile? Guile itself is GPL, but does that mean
>>> anything I make using Guile ALSO has to be GPL?
>>
>> Guile is LGPL, so you can make closed source applications, as long as
>> you release your changes to Guile itself as Free Software.
>
> Is that sufficient thought?  One of requirements for LGPL is to be able
> to re-link with changed version of the LGPL software, at least if I
> understand section 4 correctly.  Since Guile (being Scheme) heavily uses
> syntax forms and macros, and what is more, the compiler can inline
> (though I am not cure whether currently across modules), I am not sure
> closed source application in Guile is possible, unless extreme care is
> taken.

You may have to set non-declarative for all modules to ensure that they
don’t get cross-module inlined.
May always have to (eval-when (expand) (user-modules-declarative? #f))
and only -O1 or -O2 -Ono-letrectify for guild compile:
https://www.gnu.org/software/guile/manual/html_node/Declarative-Modules.html

> For example, I give you .go files, you change some syntax-form in your
> Guile version, and what now?  How do you apply those changes to the .go
> files I gave you?

That’s a good question. You may have to ship the source for every file
that uses LGPL licensed define-syntax forms.

⇒ may need to separate out an interface for these that’s shipped as
source and only use regular procedures or self-defined syntax in the
files that do not get provided as source.

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein,
ohne es zu merken.
draketo.de

Attachment: signature.asc
Description: PGP signature

Reply via email to