From mboxrd@z Thu Jan 1 00:00:00 1970 From: phillip.lord@newcastle.ac.uk (Phillip Lord) Subject: Re: How to make a non-GPL Org-mode exporter? Date: Tue, 04 Aug 2015 16:04:17 +0100 Message-ID: <87k2tbm6xa.fsf@newcastle.ac.uk> References: <87pp3dvm18.fsf@mbork.pl> 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]:40974) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZMezF-0004wT-Bz for emacs-orgmode@gnu.org; Tue, 04 Aug 2015 12:22:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZMezB-00027T-GS for emacs-orgmode@gnu.org; Tue, 04 Aug 2015 12:22:45 -0400 Received: from cheviot22.ncl.ac.uk ([128.240.234.22]:42276) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZMezB-00024n-Ax for emacs-orgmode@gnu.org; Tue, 04 Aug 2015 12:22:41 -0400 Received: from smtpauth-vm.ncl.ac.uk ([10.8.233.129] helo=smtpauth.ncl.ac.uk) by cheviot22.ncl.ac.uk with esmtp (Exim 4.63) (envelope-from ) id 1ZMe4G-00048A-Dv for emacs-orgmode@gnu.org; Tue, 04 Aug 2015 16:23:52 +0100 Received: from jangai.ncl.ac.uk ([10.66.67.223] helo=localhost) by smtpauth.ncl.ac.uk with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.63) (envelope-from ) id 1ZMe4G-00018b-4C for emacs-orgmode@gnu.org; Tue, 04 Aug 2015 16:23:52 +0100 In-Reply-To: <87pp3dvm18.fsf@mbork.pl> (Marcin Borkowski's message of "Mon, 27 Jul 2015 14:10:27 +0200") 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 Marcin Borkowski writes: > Hi all, > > after a short discussion in a recent thread, I have a serious technical > question. > > Assume that (for some reason) I want to write an Org-mode exporter which > won't be GPL'd. (Use-case: having written a few custom exporters, I'm > writing a tutorial on them, and I consider publishing a *tutorial* with > GPL'd code a Bad Thing=E2=84=A2. (The idea of a programming tutorial is = that > other people can or even should reuse the code in the tutorial, right? > And I see no reason to impose GPL on them.)) > > How do I do that? Is that even possible? Also, is it possible to get > an actual answer to this question without spending money on lawyers? I hesitate to answer this, as the thread has already been long and I am very late, but it seems to me that the thread has been wrong headed. Yes, you can do this. To do it, well, you just do it. My evidence for these statements are as follows: ;;; emerge.el --- merge diffs under Emacs control ;;; The author has placed this file in the public domain. ;; This file is part of GNU Emacs. This is the header of emerge.el which is PART OF emacs, and yet under public domain, explicitly. However, you have to consider carefully what rights this gives you. The combined work can only be released GPL. You can combine GPL and public domain because public domain section does not add any further restrictions than the GPL already does. However, because you include GPL code, you can *only* release the derivative work under GPL. However, your public domain code can be used without GPL. My evidence for this statement is from the GPL faq If a program combines public-domain code with GPL-covered code, can I take the public-domain part and use it as public domain code? (#CombinePublicDomainWithGPL) You can do that, if you can figure out which part is the public domain part and separate it from the rest. If code was put in the public domain by its developer, it is in the public domain no matter where it has been. My interpretation is, therefore, that theoretically, if someone re-wrote Emacs, and org-mode with no shared code but the same function names public domain, therefore, they could use your exporter. In practice this is never going to happen. However, say you wrote an exporter which included a general purpose piece of code (say a quick sort), someone else *could* take that piece of code and use it, for example, on another lisp as they chose, even in a closed source product because your exporter is only under PD, and there are no restrictions on it use. Possible but unlikely, I think, as an org-mode exporter is a pretty specific piece of code. You might, however, want to do this because for a blog post, it avoids issues of how to interpret the GPL, including "linking" and all that entails within the context of what is, after all, documentation. That is my interpretation, with evidence. I think my position largely disagrees with what others have said. My apologies to everyone who sees my start this as a zombie thread who says "oh know, no that again". Phil