Someone came to me with this request, and I couldn't come up with a license that satisfies it. We found a workaround, but I think the author's request represents a realistic requirement, so would still like to find an appropriate license.

Question: is there an OSI-approved license, permissive to moderate, that allows the author to specify a specific unmodified documentation file or text block to be included with all copies of the software?

This file/text block is entirely informational, and contains neither code nor legal conditions. Making a new license (via modification) is not a solution because it would inhibit usage of the software.

Ideas?

  • 2
    Can you clarify what the contents of this file/text block would be? Is it some kind of description of the software or an attribution or something else? – Bart van Ingen Schenau Oct 9 at 8:27
  • The GPL requires that modifications retain "Appropriate Legal Notices" if they are present in a program (such as in a menu). If your text block meets that criterion, read what the GPL has to say about that topic. – Brandin Oct 9 at 11:23
  • @Brandin OP says the block contains no legal conditions. I doubt it will meet that criterion. – MadHatter Oct 9 at 11:25
  • The contents are a combination of the acknowledgement of the inspiration of the project (informal attribution) and links to the project information site. – Josh Berkus Oct 9 at 16:34
up vote 2 down vote accepted

Yes, this is a reasonable requirement and various licenses explicitly support this. In particular, it is common that some kind of attribution or extra disclaimers have to be preserved. In academia, it is common that grants must be acknowledged in any works they produce.

The Apache License 2.0 requires any NOTICE file to be preserved, and allows you to add to the NOTICE file when you modify the software. In section 4(d):

If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places:

  • within a NOTICE text file distributed as part of the Derivative Works;
  • within the Source form or documentation, if provided along with the Derivative Works;
  • or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear.

The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.

(formatting mine)

The GPLv3 license family (incl. LGPLv3 and AGPLv3) allows you to add Additional Terms to the license. Here, 7(b) explicitly allows:

Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it

This capability is compatible with the Apache 2 license. I.e. while you cannot directly copy Apache 2 licensed code into a GPLv3 project, you can first add an Additional Term that requires preservation of a NOTICE file and then copy the Apache 2 licensed code, along with relevant parts of the NOTICE file.

The GNU Free Documentation License (FDL v1.3) has a concept of Invariant Sections that must not be modified. Only Secondary Sections can be Invariant:

A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.

There are additional preservation rules for document sections called History, Acknowledgements, Dedications, and a deletion rule for a section called Endorsements.

However, the FDL is primarily suitable for manuals or technical books (NOT for source code), and is highly incompatible with other licenses.

  • 1
    I'm unpersuaded by the Apache and GPL cases. Both make clear that the bits that must be preserved relate only to author attribution (and in the case of the GPL, legal code). It does not (yet) appear that the OP's "documentation file" contains only attributions; (s)he has already excluded any legal content. When Bart's question is answered, we may know more. I'd thought about the GFDL myself, but applying that to code could be painful, and I don't yet know if it's OSI-approved, as the OP requires. – MadHatter Oct 9 at 10:11
  • 1
    Update: the GFDL does not appear on the list of OSI-approved licences. – MadHatter Oct 9 at 11:24
  • Thanks, I think the Apache NOTICE file is good enough for the author's purposes. – Josh Berkus Oct 9 at 16:35
  • "You can first add an Additional Term [to the GPLv3] that requires preservation of a NOTICE file" - What is the mechanism for adding terms to the GPL? Is there an example of doing this? Even if you do add a term to the GPL, why would that term not simply be discardable under section 7, "If [the Program] contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term." – Brandin Oct 10 at 4:45
  • @Brandin Section 7 of the GPLv3 explicitly discusses additional terms, and lists allowed classes of additional terms/restrictions. My answer cites 7(b) which allows terms that require the preservation of notices. Only if you add a term that isn't covered by that list is that term a further restriction that might be removed (see the sentence before the one that you cited for the definition of "further restriction"). How exactly to write this Additional Term would be a great question. – amon Oct 10 at 6:04

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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