Live data from Hacker News

Citus Unforks from PostgreSQL, Goes Open Source

citusdata.com

51–60 of 156 posts

Re: Citus Unforks from PostgreSQL, Goes Open Source

#51
post #31

AGPL? This is dead in the water :( It will never be integrated into PG. What a shame. It should have been a 2 clause BSDL. Sigh.

The BSDL does not make much economic sense to the company open sourcing their code; a new competitor would fork the code, make closed improvements, and merge any changes from the open source code. That means that the competitor is always gaining by a one-way flow of improvements.

To use open source code, the more permissive the license the better. But to actually open your own code, BSDL is a very tough sell.

That's also why they use the AGPL. With database systems, even if they were under the GPL, some competitors could just modify the system and run it on their own server with improvements, and offer just the service to their clients. Again, the improvements go one way only: since the competitor would not distribute the modified system, as it's running on their servers, they would not need to distribute source changes. With the AGPL, that loophole is closed.

Re: Citus Unforks from PostgreSQL, Goes Open Source

#52

Earlier quoted context omitted.

It doesn't. AGPL means the only people using it have to licensed the same.

Well, people use MongoDB... AGPL only requires open sourcing any modifications you make to the software when you give users direct access to a server running the software, which seems like something you would never want to do in case of a database. You can use database servers running AGPL software in a closed source SaaS: http://www.gnu.org/licenses/why-affero-gpl.en.html

MongoDB used to distribute drivers under a more permissive license for this exact reason IIRC.

Re: Citus Unforks from PostgreSQL, Goes Open Source

#53
post #3

This is fantastic news! Postgres does not have a terribly strong High Availability story so far and of course it also does not scale out vertically. I have looked at CitusDB in the past, but was always put off by its closed-source nature. Opening it up seems like a great move for them and for all Postgres users. I can imagine that a very active open-source community will develop around it.

nit: Postgres doesn't scale horizontally, it only scales vertically.

I guess if you're putting more servers in a rack, it does tend to be a vertically-oriented process. :)

Re: Citus Unforks from PostgreSQL, Goes Open Source

#54

Earlier quoted context omitted.

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.

Re: Citus Unforks from PostgreSQL, Goes Open Source

#56
post #47

So this sounds similar to Pivotal's Greenplum which is also open source, can anyone compare the two?

Greenplum is based on postgres 8.2, with the featureset you'd expect from pg 8.2 - basically none of the additions after 2006 have merged to GP.

Ok, and what's the process like for disaster recovery with citus?

Re: Citus Unforks from PostgreSQL, Goes Open Source

#57

I want it to be called citrus, which is what I always read it as....

Yikes I keep calling it citrus. The word citrus is so ingrain I'm actually having a hard time pronouncing citus when I see the word. I didn't even notice I was doing it wrong until I saw your comment.

Re: Citus Unforks from PostgreSQL, Goes Open Source

#60
I've been unable to find any clear description of the capabilities of Citus and competing solutions (postgres-x2 seems the other leader).

Which of these are supported:

1. Full PostgreSQL SQL language

2. All isolation levels including Serializable (in the sense that they actually provide the same guarantees as normal PostgreSQL)

3. Never losing any committed data on sub-majority failures (i.e. synchronous replication)

4. Ability to automatically distribute the data (i.e. sharding)

5. Ability to replicate the data instead or in addition to sharding

6. Transactionally-correct read scalability

7. Transactionally-correct write scalability where possible (i.e. multi-master replication)

8. Automatic configuration only requiring to specify some sort of "cluster identifier" the node belongs to

Post reply on HN