Andreas Hilboll <li...@hilboll.de> writes: >>> Look here: >>> https://en.wikipedia.org/w/index.php?title=GNU_General_Public_License§ion=11#Libraries >>> >>> Most useful quote: >>> >>>> The Free Software Foundation (which holds the copyright of several >>>> notable GPL-licensed software products and of the license text itself) >>>> asserts that an executable which uses a dynamically linked library is >>>> indeed a derivative work. This does not however apply to separate >>>> programs communicating with one another.
>> thanks for this link and excerpt. I could argue that the key word in >> the excerpt is "executable". I cannot see how code written in elisp >> itself would need to be GPL. > > Exactly. To quote again > https://www.gnu.org/licenses/gpl-faq.html#IfInterpreterIsGPL: > > When the interpreter just interprets a language, the answer is no. > The interpreted program, to the interpreter, is just data; a free > software license like the GPL, based on copyright law, cannot limit > what data you use the interpreter on. You can run it on any data > (interpreted program), any way you like, and there are no > requirements about licensing that data to anyone. Just to link the paragraph exactly below the one you quoted > However, when the interpreter is extended to provide “bindings” to > other facilities (often, but not necessarily, libraries), the > interpreted program is effectively linked to the facilities it uses > through these bindings. So if these facilities are released under the > GPL, the interpreted program that uses them must be released in a > GPL-compatible way. The JNI or Java Native Interface is an example of > such a binding mechanism; libraries that are accessed in this way are > linked dynamically with the Java programs that call them. These > libraries are also linked with the interpreter. If the interpreter is > linked statically with these libraries, or if it is designed to link > dynamically with these specific libraries, then it too needs to be > released in a GPL-compatible way. Indeed, the Emacs interpreter gives "bindings" to all Emacs facilities, which are GPL, and the interpreted program that uses them must be released in a GPL-compatible way. Plus Emacs supports byte compilation: someone could publish only the exporter.elc, without providing exporter.el. That would be illegal, but if the third party is given exporter.el released under BSD by a second party, theoretically they could do it. Therefore, the second party should not be allowed to change to BSD if they're linking to GPL code. --Oleh