views:

57

answers:

3

I'm writing a software application that I'd like to use FFTW (an FFT math algorithm with GPL license) as part of the back-end. I won't modify FFTW and I won't distribute the code to an end customer of mine. However, I will place my software application back-end on a server that client computers access over the Internet.

All of the material I can find online suggests I'm not bound by the GPL license as it's residing on a web server and therefore not considered 'distribution'. In fact AGPL was created for such applications if I understand correctly. However, typical in such scenarios, including mine, I would be hosting my software application with a third party (like, Amazon cloud computing for example, or some other hosting company). The point being, I don't own the server, some third party does, even though this third party is not my customer (I'm their customer). Regardless, doesn't the fact that my software application resides on hardware that is outside of my company require me to distribute my application software under GPL?

I would think this question should come up all the time, but haven't run across a satisfactory answer yet. Looking for some conventional wisdom. Thanks in advance. -ggk

+1  A: 

I'm no lawyer, but from what I've understood, unless you are distributing the binaries, then you don't need to share the source.

There are many big companies that are running custom Linux kernels, or modifies server software, without sharing their code. For example, Google has no doubt made many changes to Linux specifically for their workload. Of course, Google has given some of these changes back, but that was out of their kindness.

bramp
Google owns their servers, so I can understand they don't worry about licensing.
ggkmath
Are there lots of companies modifying the Linux kernel that don't own the hardware it's running on (outsourced hosting)?
ggkmath
@ggkmath With VPS or cloud hosts I imagine it is now very easy to have a modify kernel on hardware you don't own.
bramp
A: 

If GPL2 software residing on a web server (but not itself distributed to users) required you to distribute the rest of your program as GPL, there'd be about a billion people running the Linux kernel on their web servers who'd need to comply.

When the day comes that someone decides that's legally the case (which is probably: never), they'll probably start by going after somebody who has deep pockets, like Google!

Ken
Are you saying people doing this should be releasing their software under GPL, but they simply don't? That is, can you distinguish, to the best of your knowledge, what's legal versus what is done in practice? Thanks!
ggkmath
No, I have no idea what the legal definition of "distribute" is. I'm saying folks like Google have infinitely more legal knowledge than me, and if there was a problem I think we would have heard about it by now.
Ken
+2  A: 

Short answer: It is not distribution to place the binary onto a server that you (/your company) owns.

Long answer: amazon (or whoever hosts the solution for you) is effectively/actually your sub-contractor. They are providing a service which you are using to host your application - you are not distributing your binary to amazon, and certainly not giving them any rights to use the GPL binary otherwise than as necessary to perform their duties as your subcontractor. They are providing a service you are using to host your application, and have no more rights under the GPL than your electricity company does.

The relevant text (for GPLv3) is this:

You may convey covered works to others for the sole purpose of having them make
modifications exclusively for you, or provide you with facilities for running
those works, provided that you comply with the terms of this License in conveying
all material for which you do not control copyright. Those thus making or running
the covered works for you must do so exclusively on your behalf, under your
direction and control, on terms that prohibit them from making any copies of your
copyrighted material outside their relationship with you.

Note that final term - you must ensure that your relationship with the hosting provider prevents them making copies of the GPL software you upload to the server (other than as necessary to perform the hosting, eg. routine backups). This would be fairly standard though, as anyone uploading a proprietary product to a hosting company would also want the same protection.

I would add, if your overall solution turns out to be successful, do consider making some kind of gesture towards the people whose work you are using - this could be anything from a donation to them or a charity of their suggestion to simply an acknowledge on your website, or just an email saying "Great software, this is working really well for me, well done". There is no legal requirement to do so, but such gestures will help to make sure that more great free software is produced.

(I am not a lawyer, this is not legal advice, if you are unsure visit a lawyer.)

JosephH
Thank you Joseph, for leading me through a logical thought process. Finally this makes sense to me! Excellent answer.
ggkmath