From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Hilboll Subject: Re: How to make a non-GPL Org-mode exporter? Date: Tue, 28 Jul 2015 12:14:29 +0200 Message-ID: <55B75605.1090204@hilboll.de> References: <87pp3dvm18.fsf@mbork.pl> <87wpxlocpz.fsf@ucl.ac.uk> <87k2tlvbbk.fsf@mbork.pl> <874mkptuc6.fsf@ucl.ac.uk> <87fv49v8f2.fsf@mbork.pl> <87egjtxx7o.fsf@ucl.ac.uk> <87fv481z8r.fsf@gmail.com> <87zj2gwtas.fsf@ucl.ac.uk> <55B74951.8050609@hilboll.de> <87k2tkzl28.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:57088) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZK1uB-0007Hq-NA for emacs-orgmode@gnu.org; Tue, 28 Jul 2015 06:14:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZK1u6-00051C-JV for emacs-orgmode@gnu.org; Tue, 28 Jul 2015 06:14:39 -0400 Received: from srv2.andreas-h.info ([130.185.108.51]:35150) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZK1u6-00050t-Ai for emacs-orgmode@gnu.org; Tue, 28 Jul 2015 06:14:34 -0400 Received: from localhost (localhost [127.0.0.1]) by srv2.andreas-h.info (Postfix) with ESMTP id E49EF1C0490 for ; Tue, 28 Jul 2015 12:14:32 +0200 (CEST) Received: from srv2.andreas-h.info ([127.0.0.1]) by localhost (srv2.andreas-h.info [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BJ3g-rgnvY_Z for ; Tue, 28 Jul 2015 12:14:30 +0200 (CEST) Received: from cloud.andreas-h.info (srv1.andreas-h.info [195.138.240.26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by srv2.andreas-h.info (Postfix) with ESMTPS id 639371C031C for ; Tue, 28 Jul 2015 12:14:30 +0200 (CEST) Received: from [192.168.18.57] (carppond.iup.uni-bremen.de [134.102.186.40]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by cloud.andreas-h.info (Postfix) with ESMTPSA id 3B560A601E3 for ; Tue, 28 Jul 2015 12:14:30 +0200 (CEST) In-Reply-To: <87k2tkzl28.fsf@gmail.com> List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org On 28.07.2015 11:30, Oleh Krehel wrote: > Andreas Hilboll writes: >=20 >>>> Look here: >>>> https://en.wikipedia.org/w/index.php?title=3DGNU_General_Public_Lice= nse§ion=3D11#Libraries >>>> >>>> Most useful quote: >>>> >>>>> The Free Software Foundation (which holds the copyright of several >>>>> notable GPL-licensed software products and of the license text itse= lf) >>>>> 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. >=20 >>> 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. >=20 > Just to link the paragraph exactly below the one you quoted >=20 >> However, when the interpreter is extended to provide =E2=80=9Cbindings= =E2=80=9D 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. >=20 > 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. I would interpret this as "As long as I write pure elisp and don't require' and GPL'ed part of Emacs, I can release my code under any license I want. If I do require' any part of Emacs, I have to go the GPL path." If I'm wrong with this interpretation, please explain why. -- Andreas.