Note though that if I don't provide the WiFi access option the person using my goofy photo service does not have to be given access to the code.
The document you cite on the four freedoms says "A program is free software if it gives users adequately all of these freedoms. Otherwise, it is nonfree". Does that mean GPLv2 is not a free software license, because it only gives users all of those freedoms when someone is distributing the program?
The issue is how to define "user". GPL (and pretty much everything else before AGPL) keyed everything off of distribution. The user was someone who had a copy of the program. Mere interaction with a running copy of a program did not make the interacting person a user.
With user defined thusly, GPLv2 is a free software license. If I do something to make you a user (i.e., I distribute the code to you) GPLv2 ensures that you get all four freedoms.
If we expand user to include people who are interacting with someone else's running copy, which it seems we have to do to make AGPL fall under freedom 0, then (1) it becomes hard to argue that licenses that trigger only on distribution can satisfy the four freedoms, and (2) it doesn't even do a good job with AGPL because AGPL only ensures the four freedoms to those who are users by interaction when that interaction is remote and through a computer network. It completely drops the ball for users by interaction who aren't interacting in that specific way.
AGPLv3 refers to "all users interacting with it remotely through a computer network", not "people who are interacting with someone else's running copy". If someone adapted AGPLv3 into a new license that requires all "people who are interacting with someone else's running copy" to be able to access a copy of the source code regardless of whether the interaction takes place over a computer network, that new license would still be free and open source. The FSF has not bothered to write such a license yet, but anyone can do it.
This part of the FSF's page on free software endorses this type of rule:
> Rules that “if you make your version available in this way, you must make it available in that way also” can be acceptable too, on the same condition. An example of such an acceptable rule is one saying that if you have distributed a modified version and a previous developer asks for a copy of it, you must send one. (Note that such a rule still leaves you the choice of whether to distribute your version at all.) Rules that require release of source code to the users for versions that you put into public use are also acceptable.
The document you cite on the four freedoms says "A program is free software if it gives users adequately all of these freedoms. Otherwise, it is nonfree". Does that mean GPLv2 is not a free software license, because it only gives users all of those freedoms when someone is distributing the program?
The issue is how to define "user". GPL (and pretty much everything else before AGPL) keyed everything off of distribution. The user was someone who had a copy of the program. Mere interaction with a running copy of a program did not make the interacting person a user.
With user defined thusly, GPLv2 is a free software license. If I do something to make you a user (i.e., I distribute the code to you) GPLv2 ensures that you get all four freedoms.
If we expand user to include people who are interacting with someone else's running copy, which it seems we have to do to make AGPL fall under freedom 0, then (1) it becomes hard to argue that licenses that trigger only on distribution can satisfy the four freedoms, and (2) it doesn't even do a good job with AGPL because AGPL only ensures the four freedoms to those who are users by interaction when that interaction is remote and through a computer network. It completely drops the ball for users by interaction who aren't interacting in that specific way.