4

Not asking for legal advice, just educated intuition.

Lets say a programmer creates a program to provide a service, for instance (hypothetically) face recognition. User logs in, uploads pictures and the program informs their friends that a picture of them was uploaded (or whatever).

Now the programmer finds another GPL software that can greatly enhance the performance of their program by preforming some initial CV analysis. Can the programmer place the GPL software on a private RPC server and have their paid software communicate with that server?

Meaning would that require making the new program GPL aslo?

AturSams
  • 159

2 Answers2

4

The intention of the GPL is to ensure the maximal possible freedom for the (end-)users of GPLed code. Therefore:

  • you may freely use GPLed software, even in closed source applications. The GPL does not require that you open-source your code.
  • when you re-distribute/convey GPLed software, you must use the GPL license so that your users enjoy the same freedom – you may not sublicense it to set different terms.
  • when you distribute software that depends on GPLed code, you must license your software under the GPL.

So the GPL is only “viral” when you distribute your software. When your GPL-depending software is not distributed, there is no need to issue licenses.

When the software only runs on your servers, you are not conveying the software to your end users, you are merely providing access to that software. This is a valid loophole in the GPL, and the AGPL closes it (by tying the licensing requirements to usage rather than distribution).

So to summarize: you are free to use GPL software in a SaaS context without having to make your code GPLed – as long as you merely provide access to your GPL-dependent software and do not distribute it (e.g. sell your software to clients so they can install it on their own servers, or make your software available in some public package manager). The GPL distribution rules only kick in when you give a copy of the software to another legal entity, e.g. a different company.

amon
  • 135,795
0

It's possible that the intent of the GPL could still be enforced here. The FSF does briefly mention this sort of scenario in the the GPL FAQ:

It is essential for people to have the freedom to make modifications and use them privately, without ever publishing those modifications. However, putting the program on a server machine for the public to talk to is hardly “private” use, so it would be legitimate to require release of the source code in that special case.

So of course they don't want the GPL undermined in this way but the issue is awkward. It could still be argued that the GPL code that's being hidden, the server wrapper code, and the client code are together a single work that must all be GPL compatible whenever they are propagated. It's not a huge stretch if the sole functionality of the server is to mediate between GPL code and client code that depends on the GPL code and directly interacts with its data structures. No one can know for sure but it's not unthinkable that the FSF could convince a judge that a network is not an impenetrable shield against copyright infringement liability.

Praxeolitic
  • 1,674
  • 3
  • 16
  • 25