I was reading an issue on python-patterns' GitHub repo. Where it was asked

Really? I mean, these are simple snippets showing design patterns for learning purposes, none of this code is usable as it is on a production environment... do we really need to license this?

Which made me wonder if there is an Open License which restricts the permitted translations of the source code. For a document-generating, educational project like python-patterns it would be beneficial to not license derivatives capable of being executed, and only those capable of being read as docs.

I don't think that that restriction violates either of the OSI's discrimination clauses:

  1. It says nothing about who may use the project
  2. Documents are used in all fields of Endeavor.

I have found no licenses yet that even mention such a restriction.

As an alternative to the possible drafting problems for "capable of being read", it might also work to license only to anyone those who fully warranty any use outside people.

I'd like to hear if you know a reason it'd never work, or any current Open license with similar clauses.

2 Answers 2


No, that would be a clear violation of the first freedom of the Free Software Definition:

The freedom to run the program as you wish, for any purpose (freedom 0).

The FSD and OSD are essentially the same, so we use the clearer language here to interpret the OSD.

  • @jalanb The right to use and the right to distribute are different rights and covered under different points in both definitions. As your question was about usage not distribution (or so it seems to me) that's the only part I thought I needed to quote from the FSD. In any case I'm not aware of any licenses that meet one but not the other definition. A license that only lets you use code in documentation or examples is neither Free nor Open. Mar 5, 2017 at 23:43
  • The "clearer language" deviates from the OSI definitions on this as they do not mention "for any purpose". The closest the OSI comes to it is "The license must explicitly permit distribution of software built from modified source code", but that leaves open the question of how the software may be built, or what "software" means. So a project would be compliant with that definition if it only licensed buiding to documents and then permitting distribution of those documents. Docs are build products, are "software". I'd be OK with an Open license that's not Free.
    – jalanb
    Mar 5, 2017 at 23:50
  • the FSD and OSD are similar but not the same. And this is one point they differ on. The FSD adresses pupose, whereas the OSD does not, because the FSD prefers user freedoms over other considerations. As they differ, it would obviously be possible to construct a license which is Open, but not Free, or vice versa.
    – jalanb
    Mar 5, 2017 at 23:57

That'd probably be in violation of OSD 2 ("must allow distribution in source code as well as compiled form"), as you'd likely be prohibiting compiling it at all. It'd probably also violate OSD 3 ("must allow modifications and derived works"), which must be read fairly broadly (otherwise, wouldn't a C program that allowed you to change long int to/from long as the only modification allowed qualify?)

3, 5, 7, 8, 9, and 10 taken together should be read as a fairly strong: you must let others do whatever they want with your work. You're allowed to do things like require them to share alike, to mark their changes, to preserve credit, etc.—but they must be free to achieve the functionality they desire.

Similarly, the hypothetical license would likely fail the Debian Free Software Guidelines for similar reasons, and clearly fails the FSF's definition (as curiousdannii points out).

What would be OK, and should be sufficient to protect you, would be a warranty disclaimer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.