11

I'm designing a software as a service project which will only be accessed online. I may have a hard dependency on an executable which is covered by GNU GPL (v2 or later).

I understand that my code, if I were ever to distribute it, must be distributed under the GPL terms as well. I am pretty sure that running the service over the network is not conveying/distributing the code. Thus, am I correct in thinking that I may use the GPL dependency without having to disclose all my code?


Just so I can provide a concrete example: Let's say I'm designing on online document processing system, kind of like Google Docs. I want to be able to upload basically any file type into the system and have it get converted to whatever internal format. Instead of trying to scratch out a converter, I'd rather use an existing program I know about that allows for the conversion. This program is an executable with GNU GPL v2 (or later) licensing. Can I legally have a software-as-a-service without providing my source code?

4

2 Answers 2

9

From the description you have provided, the answer is "no, you don't have to disclose." You are either relying upon the output of the GPL'd executable or you are treating it as a system, which are two exceptions to the viral nature of the GPL. Dig into the GPL FAQ and you'll find your answers based upon the specifics of your scenario.

4
  • Just to make sure I'm understanding correctly (having read the #GPLoutput question on the FAQ): So for example, if it can be said that the copyright of a document being uploaded (per my example) is held by the original writer, then the executable is being used, the output of said executable (having no part of the program's code itself contained within) retains the original writer's copyright, and therefore since I'm only using it and output is not by default covered under GPL, I don't have to disclose? Commented Aug 23, 2012 at 2:20
  • 1
    @PlatinumAzure: yes.
    – MSalters
    Commented Aug 23, 2012 at 7:59
  • 2
    "No" is correct but it main reason you don't is that you are not distributing the GPL covered work (only making it available online). This is a known quality of the GPL (both 2 and 3); there is a separate license the Affero GPL license that covers the case of application made available online and not "distributed".
    – Craig
    Commented Aug 29, 2012 at 15:04
  • what about this question where a GPL application would be used in realtime to just generate output on user machine? and also, for ex.: all bash scripts are required to be GPL? Commented Dec 15, 2014 at 1:32
-1

IANAL but IMO the GPL do have a little ambiguity here (or interpretation). GPL gives you a lot of freedom when it comes to "usage", but it does it lots of limitation concerning "distribution of derivative works". First it's regarding use vs derivative works. If your code are only "using" the GPL software, you don't need to distribute your code that uses the GPL code (if you modify the GPLed code itself though, you still have to distribute that part of you are planning to distribute the changes), in the other hand if it's considered derivative work, then you do have to distribute your source code. One of the key points is whether your code runs in the same process address space to the GPLed code, the official GNU position is that if a program is linked to a GPLed code into the same process address space then it's considered a derivative work, but a process calling into GPL code that lives in separate process or separate machine, communicating through IPC (pipes, sockets, etc) may not fall under GPL depending in the nature of the communication (simple communication such as giving options and file names for the program to work on is considered usage, but exchanging complex internal format could makes it linking).

There's also the ambiguity whether providing a web service to allow people to use GPLed code is considered redistributing the software or just a way of using the software. I think most people consider that simply providing a web service does not fall under redistribution.

Best to ask the software author what they think of what you're doing. It's best to respect their interpretation instead of going on your own interpretation. At the very worst if it ever becomes a problem, you could argue that you've got explicit permission from the authors themselves or you would have a chance to find another more permissive library or negotiate an exception.

5
  • I can see it being a borderline case if I'm providing a proprietary interface to free software, for sure (with the interface basically doing the exact same thing the free software does under the hood), but if I'm merely using it and it's essential for the program to function, but said free software's purpose is not intrinsically the same as the proprietary interface and is effectively being used like a system library, surely that could fall under the exception? Commented Aug 23, 2012 at 3:24
  • @PlatinumAzure: The analysis is too pessimistic. "providing a web service to allow people to use GPLed code" is unambiguously NOT distribution of that GPL code. Not just my opinion, but that of the FSF as well. If the author of the software disagreed with the FSF, he shouldn't have used their license.
    – MSalters
    Commented Aug 23, 2012 at 8:04
  • There's no ambiguity. One of the primary reasons for creating GPL v3 was to close this so-called-loophole, as the "Aferro GPL" had already demonstrated. GPLv2 is all about distribution of code, not about its use. Commented Sep 9, 2012 at 1:16
  • @RossPatterson: the question was about GPLv2, as I've said in my post GPL gives you a lot of freedom when it comes to "usage", but it does it lots of limitation concerning "distribution of derivative works". While that part of the GPL is fairly straighforward, in GPLv2, it is open to interpretation whether a SaaS is a "usage" or "distribution". The GPLv2 said nothing about SaaS since it was designed before SaaS was commonplace, therefore the ambiguity.
    – Lie Ryan
    Commented Sep 9, 2012 at 3:13
  • @LieRyan SaaS use by users who did not receive binary distributions was freely acknowledged as not being "distribution", and as not requiring distribution of source code. The Free Software Foundation worked with Affero to create a modified GPLv2 (the "Affero GPL" v1) that treated such use as distribution. The is no ambiguity in GPLv2. Commented Sep 10, 2012 at 15:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.