15

Let's say I have written a proprietary program called MyProprietaryTool. The code has clear licenses on top of each file stating that it is proprietary code. (It's Python, so the code is what will be distributed)

However, in one of the files I import a GPLv2 licensed package.

GPLv2 is clear about this: I have to release the whole program as GPLv2 if I want to distribute it.

It is clear that if I don't, I am subject to lawsuits because I violated the GPL license.

However... what rights does the receiver of my code have? All files have a header that states that it's not GPL and forbids redistribution.

I think there's two possibilities:

  1. The receiver can sue me to release the code under GPL, or report me to the FSF so they can sue me and ask for damages. But the code remains proprietary (even though what I did was illegal).
  2. All of the above, but the receiver also has the right to redistribute my code because since I use GPL protected code, all of my code also becomes GPL.

I think it's all about semantics here: what does it mean "if you include GPL protected code, your code also becomes GPL licensed"? Does it mean that you are legally obliged to release all your code as GPL? Or does it mean that all your code becomes GPL without taking any action?

Sometimes that sentence is also worded differently. For example here: https://opensource.stackexchange.com/a/9516/21035 "If your code works with the GPL program, then the whole program must be released under GPL"

In most cases that means pretty much the same, but there is a slight semantic difference, which I think can have big implications.

Anyone who can shed some light on this?

13
  • 2
    Possibly Is it legal to remove a dependency with a copyleft license from a proprietary project? might be considered a duplicate of this question (but I'm not 100% sure)
    – apsillers
    Nov 16, 2020 at 16:37
  • 3
    I am not sure that this would even be a violation of the licence. You have a single line #import … that happens to (on some systems) import a GPLed implementation of the library. Nov 16, 2020 at 22:23
  • What do you plan to do if someone infringes your copyright on your copyright-infringing code by treeating it (whether inadvertently or on purpose) as i it was GPL?
    – Ángel
    Nov 17, 2020 at 1:18
  • @apsillers It's not a duplicate, but certainly related to the question (and even more to the motivation behind the question). Also, in the first answer (yours) to that question, there is also an answer to this one: "a court generally cannot compel you to release your source code simply because you did not abide by the terms of a copyleft copyright license."
    – Opifex
    Nov 17, 2020 at 8:06
  • 1
    @apsillers but in the Related sidebar to that question, there are some other questions that might be duplicates of this one. For example: opensource.stackexchange.com/questions/8644/…
    – Opifex
    Nov 17, 2020 at 8:07

4 Answers 4

16

GPLv2 is clear about this: I have to release the whole program as GPLv2 if I want to distribute it.

That would be the FSF's position, at least.

It is clear that if I don't, I am subject to lawsuits because I violated the GPL license.

You are always subject to lawsuits. In this particular case, however, there is a reasonably high risk that a court would find that you had indeed infringed the copyright of the owners of the GPL module, and a very low likelihood that such a suit would be thrown out early as frivolous.

However... what rights does the receiver of my code have? All files have a header that states that it's not GPL and forbids redistribution.

The receiver has only the rights in your proprietary code that you have licensed to them, or that they have independent of your distribution of the software. They cannot compel you to distribute your code under a different license or to distribute the source of the GPL module. They definitely do not have the right to redistribute your code under different terms than your agreement with them grants.

They can probably obtain the source of the GPL module from elsewhere, under GPL terms, in which case they would be at liberty to redistribute that module under the GPL.

They can take a wide variety of measures to try to persuade you to relicense your code or do anything else, really. That you have violated the rights of the owner of the GPL code gives others some leverage over you, but whether it gives anyone other than the module owner standing to sue you over that violation depends on the jurisdiction. It would not do under U.S. copyright law.

I think there's two possibilities:

  1. The receiver can sue me to release the code under GPL, or report me to the GNU foundation so they can sue me and ask for damages. But the code remains proprietary (even though what I did was illegal).

The code remains proprietary. The receiver might report you to the FSF, but unless the FSF owns the module, they are in no better position than the receiver with respect to whether they can sue you themselves. Their position might even be worse, as you did not distribute your program to them. They might support the owner in suing you, however. It is possible that a settlement or judgement in such a lawsuit might result in you losing some or all of your rights in the proprietary code or being compelled (by the court) to license it under GPL-compatible terms, but that by no means certain even in the event that you lose. An injunction against distributing your program and / or an award of monetary damages seems more likely to me.

  1. All of the above, but the receiver also has the right to redistribute my code because since I use GPL protected code, all of my code also becomes GPL.

No, your code does not automatically become subject to the GPL just because it is a derivative of GPL software. Not even if you distribute it, and absolutely not if you do not distribute it. The GPL is a copyright license; it does not have that kind of effect.

5
  • 7
    Note that this is a U.S. specific conclusion; other jurisdictions (notably Germany) could possibly allow non-copyright holders to sue and the court might require "specific performance" of release of the source code, apparently: opensource.stackexchange.com/a/9386/50
    – apsillers
    Nov 16, 2020 at 20:13
  • 4
    Acknowledged, @apsillers, and I have edited this answer to be less U.S.-centric. But among the key points is that without a court decision, the distributor's violation of a third party's rights does not give you or me any special privileges. Nov 16, 2020 at 20:31
  • 1
    But what if the recipient of the code just distributes it and says it is GPL. Then OP has to sue and what then happens is very unclear.
    – Josef
    Nov 17, 2020 at 10:33
  • 2
    Yes, @JosefsaysReinstateMonica, what then happens is largely at the discretion of the court. And that is outside the scope of the question. The OP's copyright has definitely been violated in that case, but they don't have clean hands, so to speak. Nevertheless, a person's misdeeds do not, generally, justify misdeeds against them. Nov 17, 2020 at 11:32
  • Full ack, “a person's misdeeds do not, generally, justify misdeeds against them”. But it’s further worth pointing out that there are two fundamental ways to solve the GPL violation 1) change the proprietary software’s license to GPL. It seems, a lot of people think this was the only one option. But there’s 2) stop distributing the proprietary software. Software only used for your own, can integrate GPL software in any way you want. When option (2) is used, anyone who keeps distributing the proprietary software now violates two copyrights. And you can not presume which option will be used…
    – Holger
    Nov 18, 2020 at 10:07
5

However... what rights does the receiver of my code have? All files have a header that states that it's not GPL and forbids redistribution.

I think there's two possibilities:

  1. The receiver can sue me to release the code under GPL, or report me to the GNU foundation so they can sue me and ask for damages. But the code remains proprietary (even though what I did was illegal).
  2. All of the above, but the receiver also has the right to redistribute my code because since I use GPL protected code, all of my code also becomes GPL.

Assuming the GNU foundation is a copyright holder of the GPL code, or you replace "GNU foundation" with the actual copyright holder of the GPL code, both scenarios are possible and it depends on the jurisdiction where the case is tried which one is more likely to happen. A third outcome of such a trial could be that in the jurisdiction in question, the receiver has no standing to sue over the GPL violation and the case gets dismissed for that.

I believe the likely outcome in most jurisdictions is that you will be ordered to stop distributing the infringing code, possibly in addition to having to pay damages. But I vaguely recall that a court in Germany already ruled once that the recipients of the infringing code actually received it under the GPL license and were allowed to exercise all freedoms that come with it.

Note that your code does not automatically become licensed under the GPL. That would only happen as a result from a court order.

7
  • 1
    Neither scenario is likely. Nor is the receiver of the program likely even to have standing to sue, as it is not their rights that have (allegedly) been violated. The GPL confers rights only on licensees, not on the general public. If the violation is reported to the FSF (and they are not the module owner) then they might support the owner in a lawsuit, but they probably do not have standing to sue on their own behalf, either. What a court might order in response to a successful lawsuit is a different question. Nov 16, 2020 at 20:14
  • @JohnBollinger: Why would the receiver even want to sue the distributor? They're not claiming any copyright violation. The distributor is, but "comes with unclean hands" to the court.
    – MSalters
    Nov 16, 2020 at 20:17
  • 2
    @MSalters, the agreement at issue is not between the the proprietary software distributor and the receiver. It is between the proprietary software distributor and the owner of the rights in the GPL module used. That is the one that has been violated. The person receiving the proprietary software is not a party to that agreement, and therefore has no standing to sue (at least in the U.S.). Nov 16, 2020 at 20:37
  • 2
    @JohnBollinger: There's injury (receiver misses rights), causation (distributor obviously caused it by breaching its GPL obligations), and a possibility for redress (receive GPL rights). Even worse, the GPL is explicitly intended to protect the violated right. The receiver is an intended beneficiary. Intended beneficiaries have had standing since at least 1806, I learned today. it's nothing new.
    – MSalters
    Nov 16, 2020 at 21:01
  • 1
    I don't think it's at all so clear-cut, @MSalters. That the receiver's rights are less than they might be is always the case with software that is received subject to a license, even the GPL. That does not automatically constitute injury. The intended beneficiary angle might sustain such an argument, but likely the distributor would point out that the receiver agreed to the proprietary license. Even if they did so without knowing that the program was derived from GPL'd code, that's going to weigh against them. But possibly the receiver does prevail on the question of standing. Nov 16, 2020 at 21:23
2

It's been a number of years since I looked at GPL licensing, but the last time I did, we all sat down with our attorney and asked about it.

What we came up with (in his opinion, which has NOT been tried in a competent court) is that all of the unassociated proprietary code was protectable and ours. We could not claim any form of protection on the GPL licensed code. Period. He felt confident that Gnu trying to challenge that all of our code had to be GPL could be defeated in court - so long as we did NOT claim any aspect of their code as being proprietary.

Where there was a grey area was HOW we were using the GPL code. Given that the GPL code is represented by some function f(gpl), then all software that was f(x) could be clearly protected as proprietary. It's the code that's f(y,gpl) that's really, really hard to protect, because "y" depends on "gpl." In other words, he wasn't sure if f(y,gpl) couldn't be clipped and used by anyone freely.

In the end (before the company was sold to someone bigger), what we did was remove all GPL dependencies so that there was no argument to be made. It is, unfortunately, the one and only guaranteed solution.


BTW, you are not actually asking about a programming feature. You're asking a legal question. I am NOT an attorney. I am only relating my own personal experience with a similar situation. Unless a respondent specifically identifies themselves as an attorney, you should NOT arbitrarily rely on their advice. You should hire an attorney with GPL experience. As my retired-attorney father has said repeatedly, anyone can sue anyone for anything at any time. Whether or not they win is often irrelevant as you'll be drained of every penny you have fighting the suit. All the love in the world, but you've been warned.

1
  • Just be careful, calling GPT functions in most APi/technologies (especially if it requires linking or embedding) is not safe, you will generate a dependent work under the GPL. His is what LGPL or the linking (or classpath) exception is needed for (with its own can of worms).
    – eckes
    Nov 17, 2020 at 4:21
1

However... what rights does the receiver of my code have? All files have a header that states that it's not GPL and forbids redistribution.

The receiver has the rights to each protected element in the code that you distribute that the author (or rights holders) of that element chose to offer it under. You cannot license any element you do not hold the rights to, so elements offered only under the GPL are necessarily licensed under the GPL.

The receiver can sue me to release the code under GPL, or report me to the GNU foundation so they can sue me and ask for damages. But the code remains proprietary (even though what I did was illegal).

That is what would happen under US law. Since you did not license your code under the GPL, it is not licensed under the GPL. You infringed someone else's copyright, and they can sue you. But it's extremely unlikely that compulsory licensing would be the remedy a court would order. (But it's not impossible.)

All of the above, but the receiver also has the right to redistribute my code because since I use GPL protected code, all of my code also becomes GPL.

The receiver does not have the right to redistribute your code because nobody with the authority to license your code granted them any license to redistribute it. Theoretically, a court could order you to license your code under the GPL as a remedy for your GPL violation, but that's very unlikely under US law. (Again, not impossible.)

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.