Suppose there exists a software library libfoo distributed under the terms of a hypothetical license we will here call The Foo License (TFL). The terms of TFL are identical to those of the 3-clause BSD license, but with two extra conditions tacked on:

  1. No one by the name of Bob may use this software.

  2. The binary form of this software may not be run on Mondays.

Let us disregard the silliness and potential untenability of this license for the sake of discussion.

Suppose now that I write and hold copyright for a piece of software, let's call it bar, that uses libfoo. None of libfoo's code is copied into bar's source code, but when bar is compiled and linked it also compiles pieces of libfoo and links these into the bar binary.

I am aware that I cannot distribute bar under the GPLv3, as TFL places incompatible restrictions on its non-source form. Can I, however, distribute bar under a license that says something along the lines of Bar is distributed under the GPLv3, with the following exception: a non-source form of this work is under TFL?

My actual intent here is that I'm writing a piece of software that I want to be under the GPL. For the moment, but hopefully not forever, that software needs a library that is under something like TFL to actually perform any useful function in real life. I would like to essentially GPL my source and in the future swap out libfoo whenever it becomes possible to do so, yet not have a non-redistributable binary (violating either the GPL or TFL) in the meantime.

1 Answer 1


Can I, however, distribute bar under a license that says something along the lines of "Bar is distributed under the GPLv3, with the following exception: a non-source form of this work is under TFL".

Not meaningfully. GPLv3 s6 says that "You may convey a covered work in object code form under the terms of sections 4 and 5", and s5c requires that "You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts".

Moreover, GPLv3 s7 says that "All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, 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.".

So if your intent is really to distribute the work under the terms you propose (strict GPLv3 plus TFL-related restriction), any recipient may simply strip off and ignore the TFL-related restriction. If on the other hand your intent is to use and distribute a modified form of the GPLv3 with permission for a durable TFL restriction added in, then you're violating the copyright on the GPL text itself ("Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.").

Also also, there's simply no point, as nobody will touch your software with a bargepole because it's under a weird crayon licence.

  • Understood. Thanks for clarifying!
    – gspr
    Sep 29, 2020 at 8:11
  • 1
    You're welcome, and thanks for the prompt feedback. Also, welcome to OS.SE - I think that was an excellent first question (I hope you'll forgive my tiny tidy-up) and I personally look forward to reading more of what you write.
    – MadHatter
    Sep 29, 2020 at 8:14
  • 1
    Thanks in particular for the "crayon license" link. While I've read quite a lot of Perens and been in the OSS world for quite a while, I somehow had never heard that term. It's very illuminating!
    – gspr
    Sep 29, 2020 at 8:22

Your Answer

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

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