Are two programs installed by the same Setup package still an aggregate under GPL? [closed]

StackOverflow https://stackoverflow.com/questions/557102

  •  05-09-2019
  •  | 
  •  

Question

Let's say I have two applications: one is the "server" application and licensed under GPLv3 and the other is the "client" application and is licensed under a non-GPL compatible license. The server runs as a Windows service, and the client is a normal windows application, and they communicate only via TCP/IP and XML (no linking at all).

I know that I could distribute both of these on the same media, or together in a zip file, as an "aggregate" as far as the GPL is concerned.

However, can I write an installation program that installs both the server and the client in one process, just to be user friendly?

Was it helpful?

Solution

As long as

"The only condition is that you cannot release the aggregate under a license that prohibits users from exercising rights that each program's individual license would grant them."

http://www.gnu.org/licenses/gpl-faq.html#MereAggregation

then you should be ok with the installer program. It is not necessary to provide click-throughs, etc. as other posters mention:

http://www.gnu.org/licenses/gpl-faq.html#ClickThrough

The main issue, however, is not installation but whether what you are doing is a derived work (it is not as simple as linking or not linking):

[..]pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. [...] But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program.

http://www.gnu.org/licenses/gpl-faq.html#MereAggregation

OTHER TIPS

I believe you can write an installation program that launches two separate installation programs for each piece of software. Make sure you alert the user that his is going to happen, and in order to make it more obvious you might give them a custom option that permits them to install only one or the other (even if one can't work without the other).

But you'll still catch flak if you're doing this primarily to avoid GPL licensing the closed source software. They may not be able to do anything about it legally, but you may find some open source competition quickly if you irritate enough people.

-Adam

I presume the installer doesn't link to what it's installing, so it looks to me like three separate programs in one aggregate, one of which is GPLv3. In any case, I don't see that kicking off different installer processes will do anything: either this is an aggregate, or it's a single derived work.

Of course, this depends on the definition of a derivative work, which as far as I know is an undecided legal issue. However, I'd go ahead with the single installer, and make sure that some prominent documentation mentioned the different licenses.

Be very careful!

You'd have to ensure that there are two separate licence click-throughs, one for the GPL v3 code, one for the non-proprietary code. You'd also need to be extremely conscientious in ensuring that users understand their rights with respect to the GPL v3 code, and in demonstrating that you have met your obligations w.r.t making that code available.

IANAL. I've not double-checked the wording of GPL v3 to be sure there isn't another gotcha.

In case of doubt, consider consulting with the SFLC (Software Freedom Law Center).


Nuances

There's an extensive set of comments below - read it. This note is in part a response to the comments.

The GPL is not directly an EULA (end-user licence agreement). It is more of a licence to software developers. However, it does confer on the recipients of software certain rights, and the GPL imposes obligations on you as a software developer. In particular, it requires you as the developer to make clear which rights were granted to you and which rights were granted to those to whom you supply the GPL software.

You do not have to display the text of the GPL. You might just say "Package X is distributed under the terms of the GNU General Public License version 3. You can find the terms of this license at http://www.fsf.org/licensing/licenses/gpl.html. You have certain rights because of this license. You may obtain the source code for Package X from us by downloading it from [...a suitable URL...]. We provide limited support for Package X when it is used with Package Y. ...blah...blah...blah...".

One advantage of displaying the GPL itself is that you do not have to provide any interpretation of it - and interpreting legal documents is difficult, especially for non-lawyers (such as me!). You might want to make it clear that the users have the rights and do not have to agree to anything; that is sensible (and I believe accurate).

Note that it is legitimate to charge for support of Package X (the hypothetical GPL v3 software) - provided you actually provide support. That is permitted. You are not obliged to provide support to people who obtain Package X from elsewhere, either; you may limit that support to your own customers. But you can't stop your customers from obtaining the source, or from relaying the source for Package X to friends, colleagues, or customers of their own.

I'm still not a lawyer - if you need legal advice, be prepared to pay to speak with a lawyer who is experienced with software licencing and the GPL.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top