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 one extra condition tacked on:

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

Suppose now that I write 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 well aware that I cannot distribute the compiled bar binary under for example the GPLv3, because the 4th clause of TFL (which applies to the libfoo code present in the bar binary) is incompatible with the GPL. But: Can I distribute the source code for bar under the GPLv3?


No, because both the binary and source code of your software would be covered under the same GPL v3 license, meaning distribution of either would be required to include an incompatible restriction (the No Bobs License terms) and thus not allowed under the GPL v3.

Note that there is a grey area in that if you are the sole copyright holder of the software you write, excluding the No Bobs License library, then you do not have to distribute under the same terms you require others to adhere to - so long as you can adhere to the No Bobs License yourself, you can distribute to another party under those terms but require that party to adhere to the GPL v3 when they distribute your code - which of course they cannot. You are not beholden to the GPL v3 text because you did not distribute under it (same reason copyright holders can dual license) - but that has the outcome of effectively preventing distribution by third parties.

  • Ah, this is obvious now. Thanks! – gspr Aug 31 '20 at 7:30

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.