Eric S Fraga <e.fr...@ucl.ac.uk> writes: > On Monday, 27 Jul 2015 at 19:04, Marcin Borkowski wrote: > > [...] > >> Nope. As stated by someone here (Oleh, I guess), if I (require 'org), >> or possibly even just write Elisp, and want to distribute it, it has to >> be GPL. > > I do not think this is true. I would like to see a proper reference > where it is shown to be the case. Oleh?
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. So calling GNU find in your program via the shell call API (or whatever else, pipes ...) of your language is totally fine. But adding #include "find.h" to your code is not fine, according to FSF. Same thing with Org: adding a shell call "emacs --eval org-export ..." is fine. Adding (require 'org) to your program is not fine. Org the text format is fully open and not copyright-able. Anyone can choose to support it (Orgzzly, Trello etc.). Org-mode's Elisp implementation is GPL, just like the whole of the Elisp interpreter. You could argue about Elisp being close to Common Lisp, and indeed: if you write in a subset of Elisp that is compatible with Common Lisp, you're not using "the Elisp standard library", and your code can run on whatever CL implementation and you don't have to GPL your code. One could try make a BSD licensed Emacs, just like the Wine (https://www.winehq.org/) project was made to emulate Windows: just try to adhere to the API without reusing any of the original code. See also GNU LGPL: https://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License. That license explicitly allows closed code to link to a free software library. Since this license exists, it's natural to assume that GPL does not allow this. --Oleh