I'm currently involved in a debate on GitHub surrounding a project that is 'GPLv2' licensed and has recently made a change to it's platform requiring new build scripts to be published in order to build the software. The developer is refusing to publish these build scripts on the grounds that they supposedly don't have to.

To be clear the developer is still pushing out binary releases of this software and purporting those releases to be licensed under the GPLv2 license, even going as far to include a copy of the license with those binary releases. These binary releases cannot be reproduced without the build scripts.

I've become aware that the developer themselves are not covered by the license because they are not licensing the software to themselves. However since they are granting access to their software to individuals under the terms of the GPL, isn't that infringing on the users right to the accompanying source code as defined by Section 3 of the GPL?

The GPL says that any work published in executable form, must be accompanied by source code. Which it later goes on to define as this:

The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable.

So in effect - what I'm asking here, is simply this: Is this a violation of the GPL, in any shape or form?

  • Does the author also distribute a compiled binary under the GPL? – apsillers Apr 3 '18 at 11:11
  • Yes that is my point - they do! – dcrdev Apr 3 '18 at 11:56
  • Is it possible to compile and install a working executable from the sources without the scripts? And can such "scriptless" builds be distinguished from the binaries distributed by the developer? – user10225 Apr 3 '18 at 12:07
  • No it is not possible to do so. – dcrdev Apr 3 '18 at 12:11
  • 1
    The FAQ about this: gnu.org/licenses/gpl-faq.html#DeveloperViolate – user10225 Apr 3 '18 at 12:20

This is not a GPL violation. The author may offer any code under the GPL, and it need not compose a complete piece of software. The fact that this source distribution almost composes a complete piece of software is irrelevant.

For example, if I wrote a huge program with hundreds of source files, and then chose to publicly release only one of those files (say, chosen at random) under the GPL, that's not a GPL violation: just because the one source file originally had hundreds of sibling files makes no difference. I can license a single file that I authored under the GPL. Now suppose I chose to license a second file: again, the situation is the same. Finally, suppose I license all but one of the files. Again, the situation is the same. Just because I chose to license N-1 files of my program doesn't give you a right to the last file that I chose not to disclose.

There is one critical edge case, though. If the author distributes a binary and alleges that it is licensed under the GPL, but does not provide the corresponding source, then you have an extremely problematic case. (I can't say whether it is legally actionable.) In this case, no one can distribute that GPL-licensed binary because the complete corresponding source was never made available. If anyone else ever tried to distribute it, they could expose themselves to copyright liability from the author for failing to abide by the GPL. However, the author never gave full corresponding source, so the a GPL license grant on the binary is functionally worthless. To say that anyone may distribute the binary under the terms of the GPL is, in practice, a complete falsehood.

This isn't a copyright violation (since an author cannot violate their own copyright rights), but it does suggest that the author doesn't understand the consequences of their licensing decisions. You might try explaining that, while they are not required to do so, they might want to reconsider their licensing choice. Releasing a GPL-licensed binary that no one can legally distribute probably wasn't the author's intent, so they should choose a different license for the binary.

If the author does not distribute binaries, or never claimed that the binaries were licensed under the GPL, this concern does not apply.

  • Your "critical edge" case - is the exact thing I'm trying to get to the bottom of. That is precisely what's happening. – dcrdev Apr 3 '18 at 11:59
  • 2
    @dcrdev The fix here if for the developer to clarify that the binaries are not under the GPL. I'd say something like, "It's your code; you are free to exclude build scripts from your source distribution. However, if you want to claim that your binary files are under the GPL as well, then you ought to include the complete corresponding source for that binary. Without offering the complete source with the binary, you're effectively saying that people are free to distribute the binary as long as they do the impossible (i.e., accompany it with corresponding source that they never got)." – apsillers Apr 3 '18 at 12:22
  • The key word is "ought". It can't be "must". – user10225 Apr 3 '18 at 12:23
  • 2
    (to continue:) "The question yI wonder is: why are you bothering to license the binary under the GPL when you don't supply the necessary source to comply with your license grant? Even if the license grant on the binary is valid, it's worthless because the conditions for its usefulness (complete corresponding source) are not satisfied. Why not simply say your source code is GPL-licensed but your binary is under a different license that allows freeware-style distribution?" – apsillers Apr 3 '18 at 12:27

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.