unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Licensing for source code contained in Emacs manuals
@ 2018-11-12 18:24 Daniel Pittman
  2018-11-12 20:01 ` Paul Eggert
  2018-12-24  2:26 ` Richard Stallman
  0 siblings, 2 replies; 13+ messages in thread
From: Daniel Pittman @ 2018-11-12 18:24 UTC (permalink / raw)
  To: emacs-devel, licensing

[-- Attachment #1: Type: text/plain, Size: 2120 bytes --]

G'day.  The question of licensing for code derived from a sample contained
in the flymake manual came up, and I wanted to follow up to ensure
appropriate compliance with the license terms.

This is copied to the FSF licensing team, as I strongly suspect they are
appropriate to correct any misapprehensions that I have about the licenses,
their application, or the other questions at hand.

The source in question is here:

https://www.gnu.org/software/emacs/manual/html_node/flymake/An-annotated-example-backend.html

That manual is licensed under the GFDL, appropriately.  The code, I think,
is sufficiently large and involved that it can't be reused arbitrarily as
"fair use", or any other general licensing exception.

Now, I'm pretty certain the intent was that this code could be reused for
the purpose of developing flymake backends, and it is a copy of code that
was under the GPL prior to inclusion – although it is not directly
including that code, and has extended the commentary.

The manual in question, the GFDL itself, and the GNU/FSF FAQ about
licensing provide no exceptions for the case of relicensing the sample code
that I am able to find.

As far as I can tell, this means that anything derived from that sample
code would also be covered by the GFDL, including the provisions for
invariant sections, which do not really make sense in the context of "I
wrote a flymake backend."


On checking, none of the other Emacs manuals seem to have any documented
exception to the GFDL for sample code either; the Emacs manual mentions the
GPL, but only in the context of Emacs itself, noting the manual is undir
the GFDL.


Would it be appropriate to extend the documentation to explicitly permit
reuse of the sample code in the Emacs flymake manual, or all Emacs manuals,
under the same license as Emacs itself?  That is, sample code could be used
under the GFDL *or* the GPLv3 (at this time).


If I have missed something, and I am definitely not an IP licensing lawyer,
please let me know, and I'll be very happy to be corrected. :)

Thanks for your time.

[-- Attachment #2: Type: text/html, Size: 2631 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Licensing for source code contained in Emacs manuals
  2018-11-12 18:24 Licensing for source code contained in Emacs manuals Daniel Pittman
@ 2018-11-12 20:01 ` Paul Eggert
  2018-11-12 21:35   ` Daniel Pittman
  2018-12-24  2:26 ` Richard Stallman
  1 sibling, 1 reply; 13+ messages in thread
From: Paul Eggert @ 2018-11-12 20:01 UTC (permalink / raw)
  To: Daniel Pittman, emacs-devel, licensing

Daniel Pittman wrote:
> Would it be appropriate to extend the documentation to explicitly permit
> reuse of the sample code in the Emacs flymake manual, or all Emacs manuals,
> under the same license as Emacs itself?  That is, sample code could be used
> under the GFDL*or*  the GPLv3 (at this time).

I'm sure that could be fine. Alternatively, and without needing any special 
rules about this, the distribution could contain a separate copy of the code in 
question in standard source-code form, licensed under the GPL. The documentation 
could explain that the code itself is also available outside the documentation 
and that it is GPLed there. As a user, I'd prefer that to cutting and pasting 
out of the documentation.



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Licensing for source code contained in Emacs manuals
  2018-11-12 20:01 ` Paul Eggert
@ 2018-11-12 21:35   ` Daniel Pittman
  2018-11-13 18:31     ` Glenn Morris
  0 siblings, 1 reply; 13+ messages in thread
From: Daniel Pittman @ 2018-11-12 21:35 UTC (permalink / raw)
  To: eggert; +Cc: licensing, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1185 bytes --]

On Mon, Nov 12, 2018 at 3:01 PM Paul Eggert <eggert@cs.ucla.edu> wrote:

> Daniel Pittman wrote:
> > Would it be appropriate to extend the documentation to explicitly permit
> > reuse of the sample code in the Emacs flymake manual, or all Emacs
> manuals,
> > under the same license as Emacs itself?  That is, sample code could be
> used
> > under the GFDL*or*  the GPLv3 (at this time).
>
> I'm sure that could be fine. Alternatively, and without needing any
> special
> rules about this, the distribution could contain a separate copy of the
> code in
> question in standard source-code form, licensed under the GPL. The
> documentation
> could explain that the code itself is also available outside the
> documentation
> and that it is GPLed there. As a user, I'd prefer that to cutting and
> pasting
> out of the documentation.
>

My plan, then, is to give the FSF licensing folks a chance to speak up, and
then submit a patch that will adjust the licensing text used for the
various manuals appropriately.   I think that, while additional files
absolutely make sense, ensuring accurate documentation when future manual
authors forget that extra step will be beneficial to all. :)

[-- Attachment #2: Type: text/html, Size: 1496 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Licensing for source code contained in Emacs manuals
  2018-11-12 21:35   ` Daniel Pittman
@ 2018-11-13 18:31     ` Glenn Morris
  2018-11-14 23:13       ` Richard Stallman
  0 siblings, 1 reply; 13+ messages in thread
From: Glenn Morris @ 2018-11-13 18:31 UTC (permalink / raw)
  To: Daniel Pittman; +Cc: eggert, emacs-devel


(Dropped licensing@fsf. I would think just mailing rms would be more
direct/efficient in this instance.)

Daniel Pittman wrote:

> My plan, then, is to give the FSF licensing folks a chance to speak up, and
> then submit a patch that will adjust the licensing text used for the
> various manuals appropriately.

Maybe this is what you mean, but I would think you need explicit
permission from the FSF for this kind of change rather than assuming
silence is consent.



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Licensing for source code contained in Emacs manuals
  2018-11-13 18:31     ` Glenn Morris
@ 2018-11-14 23:13       ` Richard Stallman
  2018-11-19 14:18         ` Daniel Pittman
  0 siblings, 1 reply; 13+ messages in thread
From: Richard Stallman @ 2018-11-14 23:13 UTC (permalink / raw)
  To: Glenn Morris; +Cc: slippycheeze, eggert, emacs-devel

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

Ineed, one needs explicit permission from the FSF to change the
license on any text that is copyright FSF.

I am overloaded today but I will think about this soon.

-- 
Dr Richard Stallman
President, Free Software Foundation (https://gnu.org, https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)





^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Licensing for source code contained in Emacs manuals
  2018-11-14 23:13       ` Richard Stallman
@ 2018-11-19 14:18         ` Daniel Pittman
  2018-11-20  0:49           ` Richard Stallman
  0 siblings, 1 reply; 13+ messages in thread
From: Daniel Pittman @ 2018-11-19 14:18 UTC (permalink / raw)
  To: rms; +Cc: rgm, eggert, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 565 bytes --]

On Wed, Nov 14, 2018 at 6:13 PM Richard Stallman <rms@gnu.org> wrote:

> Ineed, one needs explicit permission from the FSF to change the
> license on any text that is copyright FSF.


I'm sorry.  I thought that the people here were able to give that
permission.  I will not make any changes until I get a formal notice on the
subject.

 If you, and/or the FSF, are not comfortable with a general exception, a
specific exception for that example backend would a potential alternative.

Thank you for your time.  (also, your contributions to culture, and for
Emacs.)

[-- Attachment #2: Type: text/html, Size: 875 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Licensing for source code contained in Emacs manuals
  2018-11-19 14:18         ` Daniel Pittman
@ 2018-11-20  0:49           ` Richard Stallman
  0 siblings, 0 replies; 13+ messages in thread
From: Richard Stallman @ 2018-11-20  0:49 UTC (permalink / raw)
  To: Daniel Pittman; +Cc: rgm, eggert, emacs-devel

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > I'm sorry.  I thought that the people here were able to give that
  > permission.  I will not make any changes until I get a formal notice on the
  > subject.

I am the one who can give permission.  I will decide on the best way
to address this and I'll get back to you.  But I can't do it today.

If you don't hear from me in two weeks, please write to me again (off
the list) to remind me.

-- 
Dr Richard Stallman
President, Free Software Foundation (https://gnu.org, https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)





^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Licensing for source code contained in Emacs manuals
  2018-11-12 18:24 Licensing for source code contained in Emacs manuals Daniel Pittman
  2018-11-12 20:01 ` Paul Eggert
@ 2018-12-24  2:26 ` Richard Stallman
  2019-01-07 21:06   ` Daniel Pittman
  1 sibling, 1 reply; 13+ messages in thread
From: Richard Stallman @ 2018-12-24  2:26 UTC (permalink / raw)
  To: Daniel Pittman; +Cc: licensing, emacs-devel

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

The solution I've come up with for code examples that are useful to
copy into programs is to put a copy of the code example in a code
source file, which would be released under a free license for software.

For a large and specialized example, put it under the GPL.
For a smaller example (but long enough to matter for copyright),
you can use CC0.


-- 
Dr Richard Stallman
President, Free Software Foundation (https://gnu.org, https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)





^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Licensing for source code contained in Emacs manuals
  2018-12-24  2:26 ` Richard Stallman
@ 2019-01-07 21:06   ` Daniel Pittman
  2019-01-08  1:06     ` Paul Eggert
                       ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Daniel Pittman @ 2019-01-07 21:06 UTC (permalink / raw)
  To: rms; +Cc: licensing, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1007 bytes --]

Thank you very much for the time spent on this.  Shall I submit an
appropriate patch to the Emas list, to do this for that one existing
flymake example, or shall I leave that to y'all?

On Sun, Dec 23, 2018 at 9:26 PM Richard Stallman <rms@gnu.org> wrote:

> [[[ To any NSA and FBI agents reading my email: please consider    ]]]
> [[[ whether defending the US Constitution against all enemies,     ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
>
> The solution I've come up with for code examples that are useful to
> copy into programs is to put a copy of the code example in a code
> source file, which would be released under a free license for software.
>
> For a large and specialized example, put it under the GPL.
> For a smaller example (but long enough to matter for copyright),
> you can use CC0.
>
>
> --
> Dr Richard Stallman
> President, Free Software Foundation (https://gnu.org, https://fsf.org)
> Internet Hall-of-Famer (https://internethalloffame.org)
>
>
>

[-- Attachment #2: Type: text/html, Size: 1543 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Licensing for source code contained in Emacs manuals
  2019-01-07 21:06   ` Daniel Pittman
@ 2019-01-08  1:06     ` Paul Eggert
  2019-01-08 18:57     ` Richard Stallman
  2019-06-30  5:05     ` FIXME: When the reader is called in the minibuffer Spenser Truex
  2 siblings, 0 replies; 13+ messages in thread
From: Paul Eggert @ 2019-01-08  1:06 UTC (permalink / raw)
  To: Daniel Pittman, rms; +Cc: licensing, emacs-devel

On 1/7/19 1:06 PM, Daniel Pittman wrote:
> Thank you very much for the time spent on this.  Shall I submit an 
> appropriate patch to the Emas list, to do this for that one existing 
> flymake example, or shall I leave that to y'all?

I suggest that you send a followup patch to bug-gnu-emacs@gnu.org, as by 
this time I've lost context and expect most others have as well. Thanks.




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Licensing for source code contained in Emacs manuals
  2019-01-07 21:06   ` Daniel Pittman
  2019-01-08  1:06     ` Paul Eggert
@ 2019-01-08 18:57     ` Richard Stallman
  2019-06-30  5:05     ` FIXME: When the reader is called in the minibuffer Spenser Truex
  2 siblings, 0 replies; 13+ messages in thread
From: Richard Stallman @ 2019-01-08 18:57 UTC (permalink / raw)
  To: Daniel Pittman; +Cc: licensing, emacs-devel

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

It is ok for the Emacs developers to do it,
but maybe you can save them time with a patch.

-- 
Dr Richard Stallman
President, Free Software Foundation (https://gnu.org, https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)





^ permalink raw reply	[flat|nested] 13+ messages in thread

* FIXME: When the reader is called in the minibuffer.
  2019-01-07 21:06   ` Daniel Pittman
  2019-01-08  1:06     ` Paul Eggert
  2019-01-08 18:57     ` Richard Stallman
@ 2019-06-30  5:05     ` Spenser Truex
  2019-06-30 13:50       ` Stefan Monnier
  2 siblings, 1 reply; 13+ messages in thread
From: Spenser Truex @ 2019-06-30  5:05 UTC (permalink / raw)
  To: emacs-devel

I was fiddling with the reader when I found this:

    /* FIXME: ?! When is this used !?  */
        return call1 (intern ("read-minibuffer"),
    		  build_string ("Lisp expression: "));

This code is called when the reader is called from the minibuffer
*without a stream*, like this:

M-:
Eval: (read) RET
Lisp expression: ;; Insert elisp code here

A quick grep shows that "Lisp expression: " only occurs here in the
source code. There is a diff to fix the comment. This is my first
submission so I should be eligible, thank you.


--- lread.c	2019-06-29 21:50:46.506933174 -0700
+++ lread.c	2019-06-29 22:04:16.507921973 -0700
@@ -2209,7 +2209,8 @@
   if (EQ (stream, Qt))
     stream = Qread_char;
   if (EQ (stream, Qread_char))
-    /* FIXME: ?! When is this used !?  */
+    /* This is used when calling (read) from the `eval-expression' minibuffer
+       with no stream. */
     return call1 (intern ("read-minibuffer"),
 		  build_string ("Lisp expression: "));
 
--
Spenser Truex
https://spensertruex.com/
San Francisco, USA



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: FIXME: When the reader is called in the minibuffer.
  2019-06-30  5:05     ` FIXME: When the reader is called in the minibuffer Spenser Truex
@ 2019-06-30 13:50       ` Stefan Monnier
  0 siblings, 0 replies; 13+ messages in thread
From: Stefan Monnier @ 2019-06-30 13:50 UTC (permalink / raw)
  To: emacs-devel

> I was fiddling with the reader when I found this:
>
>     /* FIXME: ?! When is this used !?  */
>         return call1 (intern ("read-minibuffer"),
>     		  build_string ("Lisp expression: "));
>
> This code is called when the reader is called from the minibuffer
> *without a stream*, like this:

Yes, that's the part I could figure out, indeed.
But that still leaves open the question of whether this is ever used.
IOW, what would break if we were to remove this case?

> M-:
> Eval: (read) RET
> Lisp expression: ;; Insert elisp code here

When was the last time you did that? 
And why did you do it this way rather than via (read-minibuffer "Foo: ")?


        Stefan




^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2019-06-30 13:50 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-12 18:24 Licensing for source code contained in Emacs manuals Daniel Pittman
2018-11-12 20:01 ` Paul Eggert
2018-11-12 21:35   ` Daniel Pittman
2018-11-13 18:31     ` Glenn Morris
2018-11-14 23:13       ` Richard Stallman
2018-11-19 14:18         ` Daniel Pittman
2018-11-20  0:49           ` Richard Stallman
2018-12-24  2:26 ` Richard Stallman
2019-01-07 21:06   ` Daniel Pittman
2019-01-08  1:06     ` Paul Eggert
2019-01-08 18:57     ` Richard Stallman
2019-06-30  5:05     ` FIXME: When the reader is called in the minibuffer Spenser Truex
2019-06-30 13:50       ` Stefan Monnier

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).