Why would uploading code to EC2 be distribution? You are not giving your program to Amazon to use (unless their ToS have something foul in them), you are contracting Amazon to run your program on your behalf.
Put another way, if you take your GPLed code, burn it into a cd and mail it to yourself through DHL or Fedex, you are not "distributing" the code to Fedex.
> Why would uploading code to EC2 be distribution?
It might not be distribution, but the GPLv3 terms are mostly triggered by "conveying", and it is clearly "conveying" as defined in the GPLv3.
> You are not giving your program to Amazon to use
The GPLv3 definition of conveying keys on whether you enable another party to "make or receive copies" of the work, not whether it is for that other party's use. Even if the copies are for your use, if you enable another party to make or receive copies, you are conveying, and are covered by the GPLv3 provisions applicable to the form (verbatim, modified source, or non-source) you are conveying the copy in.
> Put another way, if you take your GPLed code, burn it into a cd and mail it to yourself through DHL or Fedex, you are not "distributing" the code to Fedex.
Mailing your GPLed code through DHL or FedEx does transfers physical media through their hands, it does not enable or require them to make or receive copies of the code. So, true, it is not conveying, and it is also unlike uploading to a third party, which always enables that third party to make or receive copies.
That still sounds fishy, how about uploading it to Dropbox/Google Drive? I am not talking about hosting the software in EC2 and then giving access to third party users, just running it there instead of in your own servers, for internal use. Are you "conveying" your software to your ISP whenever you upload a copy as well? (you are technically requiring multiple parties to copy parts of the software into the buffers of many intermediate routers...)
> That still sounds fishy, how about uploading it to Dropbox/Google Drive?
By the plain language of the GPLv3, that would seem to be conveying as well. I agree that that is an undesirable thing in a Free/Open license, and quite possibly not the drafters' intent (but the drafters' intent matters little, especially for GPLv3 licensed software where the FSF isn't the licensor.)
What you're missing is that the copies aren't being sent to Amazon, Dropbox, or Google. They're being sent to space you are renting from those companies. You are no more propagating (another important term defined in GPLv3, which conveying is defined in terms of) a work to those companies than you would be if you put a copy of the work in a storage locker, apartment, rented office space, or even a rented car.
The copy is not Amazon's, Dropbox's, or Google's, it is yours. It never legally left your control.
> What you're missing is that the copies aren't being sent to Amazon, Dropbox, or Google.
What you are missing is that the uploading to those services absolutely is a "kind of propagation that enables other parties to make or receive copies." [0] You are, in fact, sending the work to Amazon, Dropbox, or Google, and you are explicitly representing to them that you have, and are exercising, the right to give them permission to make copies of it (and, for some of those services, also to allow third parties to do so.) [1]
> You are no more propagating (another important term defined in GPLv3, which conveying is defined in terms of) a work to those companies than you would be if you put a copy of the work in a storage locker, apartment, rented office space, or even a rented car.
Propagating work is defined as "to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy." [0]
Copyright law (at least, in the US) does not make it an infringement to store physical objects containing a copy of the work in space controlled by a third party without permission of the copyright holder. It does, however, make making a copy (including, e.g., by uploading) without such permission, generally, an infringement [2]
So, no, from a legal perspective, the analogy you draw is not valid.
[0] GPLv3, Sec. 0
[1] Consider, e.g., the Dropbox terms of service [3], under "Your Stuff and Permissions": When you use our Services, you provide us with things like your files, content, email messages, contacts and so on ("Your Stuff"). [...] We need your permission to do things like hosting Your Stuff, backing it up, and sharing it when you ask us to. [...] You give us permission to do those things, and this permission extends to trusted third parties we work with.
You're right, that would be propagating, since it's making a copy. In fact, it's also conveyance.
But you forgot to keep reading GPLv3.
2. Basic Permissions.
[...]
You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. 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.
You might still argue about dropbox, since it's neither modifying nor running the works, but certainly using the work on EC2 falls under this provision.
On review, I think you may be correct with something that is solely an execution service like EC2 (depending on the exact terms in the ToS of that service, though I only see one minor potential problem area -- in terms of the GPL terms under discussion -- related to government requests with the AWS terms that would apply to EC2); but a service of the general type of Drive/Dropbox is still problematic.
> government requests with the AWS terms that would apply to EC2
Are you talking about search warrants? I think any interpretation that makes one liable for copyright infringement for the government forcibly making a copy is likely to be laughed out of court.
> a service of the general type of Drive/Dropbox is still problematic
There is an exceedingly easy workaround if it is a problem: Encrypt it. That way you do not "enable" them to make copies (in any sense a court would care about).
Put another way, if you take your GPLed code, burn it into a cd and mail it to yourself through DHL or Fedex, you are not "distributing" the code to Fedex.