Sample implementation licences Daphne Preston-Kendal (31 Aug 2024 09:18 UTC)
Re: Sample implementation licences Arthur A. Gleckler (31 Aug 2024 16:12 UTC)
Re: Sample implementation licences Daphne Preston-Kendal (31 Aug 2024 19:12 UTC)
Re: Sample implementation licences Arthur A. Gleckler (31 Aug 2024 19:19 UTC)
Re: Sample implementation licences Marc Nieper-Wißkirchen (31 Aug 2024 20:02 UTC)
Re: Sample implementation licences Daphne Preston-Kendal (31 Aug 2024 20:49 UTC)
Re: Sample implementation licences Daphne Preston-Kendal (31 Aug 2024 20:51 UTC)
Re: Sample implementation licences Arthur A. Gleckler (31 Aug 2024 20:55 UTC)
Re: Sample implementation licences Daphne Preston-Kendal (31 Aug 2024 20:57 UTC)
Re: Sample implementation licences Arthur A. Gleckler (31 Aug 2024 21:01 UTC)
Re: Sample implementation licences Daphne Preston-Kendal (31 Aug 2024 21:33 UTC)
Re: Sample implementation licences Lassi Kortela (01 Sep 2024 08:19 UTC)
Re: Sample implementation licences Philip McGrath (02 Sep 2024 00:00 UTC)

Sample implementation licences Daphne Preston-Kendal 31 Aug 2024 09:17 UTC

Hi,

(This is a question mainly for Arthur, but I’m sending it to the list as it might have a more general interest.)

What licences are permitted for the sample implementation of a SRFI?

The standard SRFI licence is MIT.

For the extensible pattern matcher SRFI – which will be ready Any Day Now – I would like to release the sample implementation under CC0 instead. This is an even less restrictive ‘licence’ than MIT. In fact, it tries to abandon copyright altogether, rather than license it. I would like to do this in order to remove as many possible reasons why implementations of Scheme would not adopt it into their own standard libraries. Although I’m not aware of any licence incompatibilities MIT might cause, it’s not beyond the realm of possibility. (Also, note that the main ‘competitor’ for my SRFI – the library I hope it will slowly displace – is Alex Shinn’s match.scm, is also public domain. I have a lot of inertia to overcome if I hope to convince people to switch to my library, since that one is so widespread.)

It seems to me that the SRFI process document already implicitly allows sample implementations which are not MIT licensed. The list of allowable strategies for sample implementation reads:

> a. A portable Scheme implementation (possibly using earlier SRFIs). This is the most desirable option, because then implementors can provide a (possibly slow) implementation with no effort.
> b. A mostly-portable solution that uses some kind of hooks provided in some Scheme interpreter/compiler. In this case, a detailed specification of the hooks must be included so that the SRFI is self-contained.
> c. An implementation-specific solution. Ideally, tricky issues that had to be dealt with in the implementation will be identified.
> d. A separately available implementation, where a sample implementation is large or requires extensive modifications (rather than just additions) to an existing implementation. This implementation will eventually be archived along with the SRFI and the discussion related to it.
> e. An outline of how it might be implemented. This should be considered a last resort, and in this case the rationale for the feature must be stronger.

Very many ‘portable’ SRFIs choose option a and put their sample implementations under the standard SRFI licence. But for non-portable SRFIs, if option c or d is used, the licence of the Scheme implementation which is used to demonstrate the SRFI will usually implicitly be adopted for the sample implementation – especially for sample implementations targetting copyleft Scheme implementations.

Note that I’m happy to accept the MIT licence for the SRFI text. (Although I think Creative Commons BY would make more sense in this case, but it doesn’t really matter.)

One option would be for an author to put an ‘archival’ version of a sample implementation in the SRFI repository under MIT, and distribute their own version of the library under whatever other licence they choose. In the case of CC0 or other public domain declarations, though, this would amount to a legal lie. As author, I can’t in honesty put a ‘Copyright Daphne Preston-Kendal’ notice, and a requirement to reproduce that notice, on a file which is emphatically not copyrighted at all, because I have elsewhere abandoned the copyright.

Daphne Preston-Kendal