Hacker News new | ask | show | jobs
by reitanqild 3735 days ago
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.

[0]: https://news.ycombinator.com/item?id=2928030

5 comments

You have misread and other people have misunderstood then.

https://www.gnu.org/licenses/why-affero-gpl clearly explains what the license intends as does the second paragraph in https://en.wikipedia.org/wiki/Affero_General_Public_License.

See my edit as well.

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.