That's correct, and with such a significant license change I think the term 'unfork' is being used inappropriately in the title.
Edit: the PostGIS extension is GPL, and that license choice has been very successful. Hopefully the AGPL works out at least as well for Citus, I'm just not familiar enough to know what the implications will be in this context.
But then it doesn't really belong or aim to be in PostgreSQL proper, at least IMO, so I think that's fine.
The functionality (i.e. distributed processing and horizontal scaling) that Citus has done is something that I predict will eventually be part of standard PostgreSQL, but it will not be Citus's code (unless they change the license, of course).
Citus owns the copyrights, and the CLA ensures that they will continue to. That means that they can reassign it under a different license if they so choose, and they could at some point choose a liberal license.
And a CLA in place also means many contributors will shy away from doing so because they have no idea what happens with their contribution in the next version. Either it's a community project owned by everyone under an agreed upon license or it's more like a record deal for new artists.
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 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.
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.