Not only that: running the app requires copying it into memory; editing files requires making copies; deploying it to your production servers requires making copies.
I remember that exception, and it was very explicit that you needed to already have obtained copyright permission to use the software. The legal theory behind the "copy to memory" exception is that if a end-user already have been granted permission to use a copyrighted work, then it make sense that they also have permission to "copy" it to their computers memory.
If you have a copyright license that adds a condition to the grant of permission, its hard sell to argue that the exception trumps the condition.
It says, explicitly, that making copies for the purpose of executing it is not an infringement. I do not need permission if it is not an infringing act.
I don't think acquiring a copy is an act of distribution by the acquirer. Besides, the copy you received while acquiring it was not modified by you, so that would not affect the modified version which was never published. AGPL cannot change the definition of the word publish to be different than that of the U.S. Copyright Code.
You don't own the copyright. You don't have the right to download it on to your hard drive (aka "reproduce the copyrighted work in copies"), except to the extent AGPL allows you to.
As far as I know it means it is contagious over the network.
If not I have misread and quite a few other people have misunderstood as well I guess.
See for example MongoDB and others that distribute the core under AGPL and the drivers under MIT or something so that you can actually use it for something without having to make your product AGPL licensed as well.
Edit: did some quick googling and found this in another HN thread about some other nice but AGPL licensed software I've never heard about again:
"""The Opa web site says that I cannot: "Firstly, `‘if I'm using AGPL Opa to develop an app does it need to be AGPL, too?’'. Long story short — yes, it does." """ [0]
IANAL but being a nerd I have read a lot of licenses and it seems pretty clear to me that thats what companies has in mind when they license something under AGPL.
Unless someone can prove me wrong I hope we can stop spreading the misconception that AGPL somehow isn't viral.
Based on what GNU says in the first link it seems kind of reasonable although I will not dare to use it without checking carefully with lawyers as this obviously this isn't what a lot of people think.
Unfortunately very few of those people have actually read the license. As another commenter said, I don't see how you can read the license and come to the conclusion that a user of an AGPL program over the network would have to AGPL their code. It just doesn't make any rational sense.
That might be what some companies have in mind, but those companies are wrong to use the AGPL because that isn't what the license says. I don't really know how one could read the AGPL and think that it requires clients to be AGPLed.
The only difference between the AGPL and GPL, other than the name, is that the AGPL requires you to offer to provide the source of your modified version of the software to all of its users. In short: network interaction equals distribution.
It says nothing about what licenses may apply to any software that interacts with the AGPLed software over a network. Anyone that suggests otherwise is misleading you or are mislead themselves.
Edit:
Note that MongoDB's drivers are MIT-licensed because they are made "part of" the client software. (A)GPL virality would come into play for drivers incorporated into clients.
Note that MongoDB's drivers are MIT-licensed
because they are made "part of" the client
software. (A)GPL virality would come into play
for drivers incorporated into clients.
OK. Makes sense. I might have misunderstood in which case I feel I almost owe GNU some kind of apology. If I become convinced I can at least try to add that fact to later discussions about AGPL.
That said it seems more than one company thinks it is viral over the net (Odoo, OPA comes to mind) and I would really be interested if someone who really understands licenses would explain.
Odoo thinks it is viral over the net? I've never seen that argument. It was only viral to modules running on the Odoo server. If you used XML-RPC to talk to it over the net, I don't think Odoo S.A. would claim you had to distribute your code.
Possibly I'm wrong again. Actually happy about it.
If the network part of AGPL only affects the original AGPL software then it even kind of makes sense although I still wouldn't use it myself except as an extortion scheme :-P
Well, I can't say I agree with your position on the AGPL. But as a side note, Odoo has recently been re-licensed as LGPL, so one can now distribute proprietary modules for it (and even sell them on the official Store).
Since citus is just an extension, the normal drivers for postgres just work. And those are BSD licensed (well, it's the postgres license, but the difference is essentially nonexistent).
No license is contagious, or viral. It's a license, not a law, you are under no obligations to honor it. It is not an implicit contract between you, or anybody else. It simply states what rights are granted to you, and under which conditions. If you fail to comply you simply don't have those rights, and it's just normal copyright violation.
Should you redistribute a modified copy, and not license your modification accordingly, the recipients do not get an implicit license to you modifications.
The only way your code will get licensed to others is when you explicitly say so.
Opa is a really bad example since every program that uses the standard library will be utterly depended on that library. The program can not work at all without the copyrighted work of the library authors, and as such, do not even have basic aspect like independence.
If I write a program that connect to a database, my program will happy work fine without the database software. I could replace the database with a different one, and the program would work identically. Outside some database specific quirks, programs that connect to a database do so as independent works.
An other aspect is that if you change the standard library of a programming language, the programs that uses it will utterly change too. If you change the database software, most well written software won't be effected and will run identically as if it connected to a older version of the database.
And last, software that connects to a database won't share memory with the database software. Programs that uses a standard library will share memory with the standard library. The connection between a program and it's standard library is significant closer than the connection between a program and a database.