5

Are there licensing ramifications to having GPLed code in a public git history, but not a released version of the distributed software?

Could a repo owner be obliged to changing their licensing based on historical missteps?

This seems like it could be an avenue to inject GPL into code for projects that may not have rigorous pull criteria.

  • 2
    Perhaps a better question for OpenSource SE? – RubberDuck Sep 8 '15 at 15:02
7

The GPL doesn't necessarily care about the release state of the code. Rather, it cares about whether the code has been intentionally distributed or not. Hosting the code in a public repository on GitHub would certainly qualify as distributing the code.

As such, an errant pull request could have some onerous consequences to the copyright owners of the project. In theory, an application could be effectively forced to be re-licensed by pulling in GPL'd code.1

At the same time, the FSF has indicated a need for "intent" behind distributing code under the GPL. Since the inception of the GPL, various nefarious and hypothetical schemes have been concocted in order to force the release of source. However, the FSF has held that owners of the code needed to have knowingly added2 GPL'd code in order for the requirements of the license to take hold.

Said another way3 - nobody can force anyone to release their own source code through the GPL. The GPL is a license, not a contract.

So an errant git pull request wouldn't necessarily force an application to become released as GPL code. The original application owner(s) didn't intend to distribute and license the code that way. However, once the original application owner(s) is / are notified that their application contains GPL'd code, they are obligated to either remove the GPL'd code or re-license their application under the GPL.


1 It's also worth noting that there are ways to incorporate GPL'd code into an application without impacting the existing license for the application.

2 That's "knowingly added" or "reasonably ought to have known." The excuse of "Oh, I didn't know that GNU library was GPL'd!" is an excuse almost as old as the GPL itself. Repository owners ought to be checking the code that's being added to their application.

3 Hat tip to Robert Harvey for that prhasing

  • 2
    Nobody can force anyone to release their own source code with the GPL. The GPL is a license, not a contract; all anyone can do is require someone who's not compliant to remedy the non-compliance, and they can do that in a number of ways: by discontinuing distribution, by removing the GPL'd code, etc. – Robert Harvey Sep 8 '15 at 15:41
  • @RobertHarvey - Yes, I fully agree. I didn't like how the earlier version of my answer read and have updated that section to make it more clear. – user53019 Sep 8 '15 at 15:45
  • 1
    I like the point on intent, but doesn't that really only apply to FSF's opinion of their copyrighted code, not GPLed code in general? – unknownRenowned Sep 8 '15 at 15:53
  • 1
    @unknownRenowned: The compliance point remains: the application owner can re-establish compliance by simply removing the GPL'd code. – Robert Harvey Sep 8 '15 at 15:54
  • The compliance point answers the heart of my question, but does compliance then mean changing vcs history because the combined code still exists? – unknownRenowned Sep 8 '15 at 16:01

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.