7

I have developed an application, a commercial plugin, and an open source plugin, each part distributed separately. The application dynamically loads each plugin, and function calls are bidirectional. My open source plugin will statically link the library I decide to use, and I am considering one licensed under the GPL. Here is a diagram of the relations.

            Application (MIT)
             +             +
             |             |
             |             |
             +             +
Plugin (commercial)   Plugin (MIT)
                           +
                           |
                           +
                      Library (GPL)

My gut feeling is that this violates the GPL, because the application "forms a single program" with the commercial plugin and thus the "combination of the GPL-covered plug-in with the non-free main program would violate the GPL". But who violates it? Are users violating the GPL upon loading the GPL library along with the MIT plugin? Suppose different people develop each part---does the commercial plugin developer violate the GPL, even though they have no knowledge of the MIT plugin, perhaps because it was not developed yet? Does the MIT plugin developer violate the GPL, simply because a commercial plugin exists, despite that MIT is compatible with GPL?

migrated from softwareengineering.stackexchange.com Dec 17 '16 at 14:37

This question came from our site for professionals, academics, and students working within the systems development life cycle.

5

My gut feeling is that this violates the GPL, because the application "forms a single program" with the commercial plugin and thus the "combination of the GPL-covered plug-in with the non-free main program would violate the GPL".

It depends what you mean when you say this violates the GPL. Creating such a system does not violate the GPL -- you can freely use software licensed to you under the GPL to create proprietary software. That's one aspect of freedom. The licensing issue only arises when you then want to distribute the result.

But who violates it? Are users violating the GPL upon loading the GPL library along with the MIT plugin?

That is indeed the crux of the question. Again, however, it is not forming a work combining GPL and proprietary code that violates the GPL, so end users who only load both plugins into the program do not thereby violate the GPL.

Suppose different people develop each part---does the commercial plugin developer violate the GPL, even though they have no knowledge of the MIT plugin, perhaps because it was not developed yet? Does the MIT plugin developer violate the GPL, simply because a commercial plugin exists, despite that MIT is compatible with GPL?

IANAL, but I am fairly confident that one independent group's actions in developing a plugin for your software does not place any obligations on you or on other independent plugin developers, regardless of the license under which any of the independent groups distribute their software. There are still some ways you might run into trouble, however, such as

  • one or more of the plugin-developer groups are not really independent of you or of each other. If there is any kind of agency, sponsorship, or other special relationship there then at best the situation is shady.

  • your own group (re)distributes one or more of the plugins, whether together with or separately from the main package. That might be construed as distributing the combined work, which would be a GPL violation if the combination is not licensed in a GPL-compatible way.

  • your licensees need to obtain one or both plugins in order to use your software for its ordinary purposes. In that case it really is a combined work, and attempting to avoid licensing obligations via distribution tricks is at best unethical. On the other hand, this would also suggest that there is indeed some kind of special relationship between you and the other groups involved, as discussed earlier.

There are likely other potential pitfalls.

  • 1
    A few questions for clarification: #1 In the case where separate entities distribute their own part, are you saying no one is at legal fault? (Ignoring the pitfalls) #2 With pitfall 1, are you saying that there is actually a legal difference between separate entities distributing their part, and a single entity (me) distributing each part separately? – Vortico Dec 21 '16 at 5:59
  • #3 "your licensees need to obtain one or both plugins in order to use your software for its ordinary purposes" In my scenario, this is not true. But I am curious how this can make a legal difference if it was true since it could be a very hazy issue if brought up in court. Thanks! – Vortico Dec 21 '16 at 5:59
  • @Vortico, I repeat, I Am Not A Lawyer, and my comments should not be taken as legal advice. I am giving you my experienced layman's best understanding and analysis of the situation and the GPL, but you should seek competent legal counsel. With that said, I will shortly clarify my comments -- for what that's worth -- in light of the questions you have posed. – PellMel Dec 21 '16 at 16:29
  • @Vortico, re your question #1: No. I am saying that each group developing their own part does not constitute a GPL violation or cause the other goups' efforts to constitute a violation. It's when they start distributing their results that the rubber hits the road, and I described several situations in which the individual or joint distribution might run afoul of the GPL licensing of the one library. I made no attempt to be exhaustive in that. – PellMel Dec 21 '16 at 16:34
  • @Vortico, wrt #2: the GPL's obligations on licensees pertain to distribution of licensed works, and the specific issue you're dealing with is what constitutes a "combined work" for the purposes of the GPL. It is entirely plausible, therefore, that a court would draw a distinction between your obligations when you distribute only your part, and your obligations when you distribute all the parts. However, no one can predict in advance what the decision would be if it actually went to court. – PellMel Dec 21 '16 at 16:41

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.