4 ms·
But you are "conveying" the software to the users, that's the whole point. AGPL just extends the meaning of the word conveying to also include users connecting
by cyphar 10y ago
But you are "conveying" the software to the users, that's the whole point. AGPL just extends the meaning of the word conveying to also include users connecting over the network.
As for it infringing on freedom 0, I don't understand how your logic wouldn't also apply for the GPL. I disagree that you cannot "use the software for any purpose" with the AGPL. You haven't given an example of you being restricted by it. If a user gave a copy of their program to another user they would have the exact same requirement (under the plain GPL). If you wanted to run a private copy of your modified program you just have to make it forbidden to connect to that interface.
Also, there's no reason you cannot just provide a link to a git repo for your modified project. Which means that you don't even have to modify your program to distribute its source code to users.
- tzs 10y ago> But you are "conveying" the software to the users No, you are not conveying the software to people who merely interact with it over the network. From the text of AGPL itself: AGPL> To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. > As for it infringing on freedom 0, I don't understand how your logic wouldn't also apply for the GPL. I disagree that you cannot "use the software for any purpose" with the AGPL. Being able to "use the software for any purpose" is not sufficient to satisfy freedom 0. As the FSF explains: FSF> The freedom to run the program means the freedom for any kind of person or organization to use it on any kind of computer system, for any kind of overall job and purpose, without being required to communicate about it with the developer or any other specific entity. Note that you have to be able to use it for any purpose without being required to communicate about it with the developer or any other specific entity. If my purpose with the program from my example is to play chess from my computer with remote people, I am not able to do that under AGPL unless I communicate my modifications to them.
- cyphar 10y ago> No, you are not conveying the software to people who merely interact with it over the network. From the text of AGPL itself: Yeah, you're right it's not called "conveying" in the AGPL. But the whole point of section 13 is that it's _like_ conveying. I'm not a lawyer and I doubt you are, so the distinction is without a difference IMO. > Being able to "use the software for any purpose" is not sufficient to satisfy freedom 0. As the FSF explains: > Note that you have to be able to use it for any purpose without being required to communicate about it with the developer or any other specific entity. If my purpose with the program from my example is to play chess from my computer with remote people, I am not able to do that under AGPL unless I communicate my modifications to them. I don't agree with that reading of what the FSF says. "developers or any specific entity" is referring to telemetry. If you have to give a copy of the code to all users of software you've exposed on the network, you are not sending it to "developers or any specific entity" -- it's just the users that you're communicating with over the network. The whole point is that you can choose to not share your code with anyone -- meaning that you can choose to not offer a network service to anyone.
- pseudalopex 10y ago> "developers or any specific entity" is referring to telemetry. I generally agree with your reading, but I think this part more likely refers to things like registration.
- comex 10y agoThere are many oldish licenses that allow modifying code but require sending all modifications to the original developer of the software. I believe that's what's being referred to. Some of them are listed in the GNU license list [1]: AT&T Public License, Reciprocal Public License, Open Public License, eCos, Plan 9, APSL v1, and (not old, and hence obnoxious) the Oculus Rift SDK license. [1] https://www.gnu.org/licenses/license-list.en.html https://www.gnu.org/licenses/license-list.en.html
- SpaceManiac 10y agoMaybe I read it differently. When I read "the developer or any other specific entity", I don't think that the network users count as "specific entities"; they are other users of the software, and you have control over exactly who those people are. Neither the original developer of the software, nor any specific (i.e. predetermined, exact) entity must be communicated your modifications, only those you choose to put yourself in that situation with.