emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] How to make a non-GPL Org-mode exporter?


From: Marcin Borkowski
Subject: Re: [O] How to make a non-GPL Org-mode exporter?
Date: Mon, 27 Jul 2015 18:59:20 +0200

On 2015-07-27, at 14:39, Daniele Nicolodi <address@hidden> wrote:

> Hello Marcin,
>
> On 27/07/15 14:10, Marcin Borkowski wrote:
>> 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™.  (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.))
>
> As Oleh Krehel pointed out in a reply to another mail of yours, if your
> code links to org-mode code (or other GPL code) you cannot release it
> under a different license. I'm not sure about how linking is intended in
> Elisp sense of ('require)ing a library, but I believe it is analog to
> executable linking in machine code programs.

I understand, and I thank you for your clarification.  (Though I still
consider it plain ridiculous.  And the fact that Oleh's own blog is
CC-BY-NC-SA licensed, and contains many fragments of Elisp code, both
small snippets and whole functions, thus rendering it illegal, is
sweet;-).)

> Therefore, the only extensions to org-mode that can exist (and be
> distributed, if you write code and keep it for yourself you are not
> affected by the licensing terms) must be GPL.
>
> Thus, it makes little sense to continue the discussion: even if you
> would release the code in your tutorial under a different license, it
> would be or no use for who will read it.

I see.  Funnily, I found a few Emacs blogs (also by renowned Emacs
hackers, like Oleh mentioned above) which clearly violate the rule that
any Elisp code should be GPL'd.  So my intuition that nobody cares (at
least until explicitly asked) seems to be confirmed;-).

>> 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?
>
> There is no need to have lawyers involved, if you are in doubt about the
> interpretation of the GPL you can consult the FSF (or other
> organizations) on the matter. They will be happy to answer your question
> with a very high degree of authority on the matter.

As someone mentioned, lawyers will not answer any question with a "high
degree of authority".  Although I admit that this is not entirely their
fault.

>> The manual says:
>> 
>> ,----
>> | Your two entry points are respectively ‘org-export-define-backend’ and
>> | ‘org-export-define-derived-backend’.  To grok these functions, you
>> | should first have a look at ‘ox-latex.el’ (for how to define a new
>> | back-end from scratch) and ‘ox-beamer.el’ (for how to derive a new
>> | back-end from an existing one.
>> `----
>> 
>> So basically you are expected to use existing GPL'd code to learn to
>> write new exporters.
>
> The manual makes the thing easy for the ones that want to respect the
> authors choice of license.

I *do* want to respect the authors, and their choice of license.  For
instance, after all this discussion, I will GPL my tutorial (and
probably include an explanation why it's not PD, CC0 or anything like
that).  Although I doubt that all authors bear in mind (or even know)
these consequences of their choosing GPL.

>> Also, the overall structure of the exporters is extremally similar.  For
>> instance, the :menu-entry argument of org-export-define-backend is
>> almost the same for all exporters (and it should be, in order not to
>> break usability!).  Should I follow such conventions, in order to
>> satisfy users, or should I deliberately break it, in order to satisfy
>> lawyers?
>
> First, your goal is not to satisfy lawyers, but to comply with the
> license terms. The license terms are chosen by the authors of the code,
> thus you are satisfying the wishes of whom granted you access to their
> code. It is the minimum you should do to thank them.

I thank the authors in many ways.  I also hold them in very high
respect.  As I mentioned in an earlier post, I (as an author) consider
being nitpicky about licensing and such as wasting the author's time and
annoying him, and I see little or no value (besides "satisfying
lawyers") in analyzing licenses like we are doing now.

> Second, if that is the only structure that makes sense, you can
> re-invent it without looking at the GPL code. Thus you can use a similar
> structure in your differently licensed code. However, you should really
> have re-created it without looking at the original. This email already
> suggests otherwise.

And who cares whether I did look at the code or not?  I mean, besides
lawyers?

>> Also, the names of functions (like `org-latex-export-as-latex' vs
>> `org-latex-export-to-latex') are similar across exporters.  Should I use
>> this convention, too, in order to satisfy fellow programmers, or should
>> I deliberately break it, in order to satisfy lawyers?
>
> Function names are not copyrightable (as far as I know).

Whoa!  Now things are getting really funny.  I'm not a logician, but
from what I recall from my logic lectures, anonymous functions' names
are their bodies.  Does that mean that if I rewrite everything using
lambdas (which is theoretically possible), I'm fine?  ;-) ;-) ;-)

>> Also, the docstrings of many transcoders are similar.  How am I supposed
>> to write a docstring which is at the same time more or less
>> comprehensive and different enough from the existing ones, so that
>> I don't end up in jail?  (<--- this is actually a joke.  I hope so at
>> least...)
>
> There is a minimum unit of "code" that is copyrightable (the word "the"
> appears in many copyrighted works, but you can still use it in your
> own). If the doc-strings are trivial you can freely write something similar.

As has been settled, docstrings are only a nuisance, not a real problem here.

> Cheers,
> Daniele

Best, and thanks again for your insights!  Angry or not, and whether
I like the legal system or not, I learned a lot from you today.

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Faculty of Mathematics and Computer Science
Adam Mickiewicz University



reply via email to

[Prev in Thread] Current Thread [Next in Thread]