Re: Can you make a closed source application using Guile?
"Dr. Arne Babenhauserheide" <[email protected]> Sat, 29 Nov 2025 12:56:56 +0100
| Newsgroups | gmane.lisp.guile.user |
|---|---|
| Message-ID | <[email protected]> |
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
signature.asc
(application/pgp-signature, 1.1 KB)
-----BEGIN PGP SIGNATURE----- iQJEBAEBCAAuFiEE801qEjXQSQPNItXAE++NRSQDw+sFAmkq34gQHGFybmVfYmFi QHdlYi5kZQAKCRAT741FJAPD6xOoEADGt6UbsCWOP+S+/IVUQR/Xco1lpcNP178b MKqN5dLG0s+l47lk9f/pLeoVJHlwirlZWtBfQdJ8jH9hnVzkhb9xDCGCAsQ3Euen 0MLvdl9Bs0vGjOg2UcezbyCljKpynZWvLTRsUJEFm4shhp7AdcWw4fOwierjSpcX 16P+XhL9qFuWGvrA4CUnGfikleFdo19xAoNbBtMYQHqPF5b/GWaJLzHKvoDSVLqG Den8dl85J/Lyi4eS2I6P+gCPVg9mUaG0aoZibyzKH3d0O5Ngk7GZJatqNMxj00uv WvEdBBn067p1yTjbv93jpxXW4nExfq6aH47ByzwNqxbwkOq8hjItW5KuXnf0qeso q0uyBgnKQ0Cnqo1Uwuoeh7yKcLooyNWQ6wZ0iElQZL8AOZi34QDjm+vN4qWHMNe0 jb+o9ebREan66RDOR9Zlrus/x4iZJA4/97E3m4GKGkg2DkrrLmbPhl2jnQC7sPZ4 mlsSqMAJLkcVN5vAp3nevb9TEzpzHQYHFb/LrP2bboFfH+QHy4GGeQGvVwQn2F2j LNdCysw8ub80FsDGhzI3WYxHDDTCN5HrkEfhKvkW1FYgf3R5mwAtgft+q7XfpQlt yPrpwAnNrelGrrQQytiITaBcKv1ru67kaZRuv/Bcq2Rz2zCL8pQWS0qditD0GaHV sUXkPG5mY4jEBAEBCAAuFiEE3Si95tmHXKvOSosd3M8NswvBBUgFAmkq34gQHGFy bmVfYmFiQHdlYi5kZQAKCRDczw2zC8EFSFmdA/wLhfvRonLuemlWWlcZ+R63/wa0 psmmlc8SF1jCxA15r2cZEY/IJeiC/GoILfj7SO/33ONsr3+BQF29zsKZ0+BLXYAl gDL8ScG+zGDdwReI2yAhQeBDY8upEiz8QPRXPbQFQ39ztOoNQM2LFE3aWpgW3huM 79ZLynZA4Gv1M5s2cw== =NH/h -----END PGP SIGNATURE-----