Never though of that before, until read Linus note in Linux kernel:

"GPL below is copyrighted by the Free Software Foundation"

So, what right do we have to use so called free software licences? Where can I read that e.g. Apache or FSF give us licence to use their copyrighted works? FSF states in GPL licence permittion to distribute, no mentioning of other usage, for Apache I do not see any permissions at least in licence wording itself.

P.S. side programmers' curiosity - can licence be recursive - kind of state that it licences it's own usage based on it's own wording?


Contracts and similar legal documents are weakly copyrightable. Copyright protects creative expression. Legal documents are usually not a creative but very technical expression of their content, using specific phrases that have become customary in that context. It is often not reasonably possible to phrase a legal document differently if it is supposed to convey the same meaning.

The GPL is an obvious exception because it also contains a preamble, consisting of prose text. Stripped from the preamble, the terms alone might no longer be copyrightable.

The WTFPL also contains a copyright line and meta-license, but I think the license's author may be overstating their rights there because the license contains minimal creative expression.

As I understand it, this leads to the following results:

  • A license may or may not be protected by copyright.
  • If it is copyright-protected, open source licenses come with a strong implied license that they may be copied freely.
  • Nearly all open source licenses mandate that a copies of the licensed work are accompanied by a copy of the license, which is implies some permission to use the license document.
  • So yes, licenses can absolutely have self-referential terms.
  • License names may be protected by trademarks, which generally prevents a changed license from using a confusable name. For example, Apache is registered trademark.
  • if, for example, I want to "enhance" Apache 2.0, can I add wording from Apache 2.0 changed slightly to my code and name it "Apache 2.0 based" something license? The question is about 1) deriving my license from other's and 2) using Apache trademark word - would it be fair use if I change original license only slighly (it's opinion what is small of cause)? – Alexei Martianov Mar 18 at 15:24
  • or maybe it's better and surely ok to begin with "license is Apache 2.0 as below with exceptions of clauses number x any y that should be read as such as such."? – Alexei Martianov Mar 18 at 15:27
  • 1
    @AlexeiMartianov Regardless of whether that scenario would have a copyright issue, you must not use trademarks in a name. You can of course state in the text of the license that it is based on Apache 2. I do not recommend defining a license in terms of differences to another license since that makes it very hard to understand the implications of your license. – amon Mar 18 at 16:28
  • ":makes it very hard to understand the implications of your license.", that I do not understand. If somebody sees mine license differs from known one by say one specific clause, it would be easy IMHO to assess if they are compatible, otherwise that person would have to compare every word and see the same, only it will take longer. How could it be otherwise? – Alexei Martianov Mar 19 at 7:21
  • 1
    @AlexeiMartianov If the licensee is already familiar with the base license, you're right. However, most licensees are not licensing experts. Keeping everything in a single document would be very helpful so that nothing is missed. For a real-life example consider (a) the LGPLv3 which is a short document referring to the GPLv3, and (b) the Creative Commons licenses which are modular, but each combination is a self-contained document. – amon Mar 19 at 7:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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