PostgreSQL & BDR: Is BDR truly multi-master, is it Open Source and EOL for 1.x in 2019?
BDR1 is open source. BDR2 is not. BDR3 is not yet, but should become so at some later stage.
BDR is truly multi-master. The "AlwaysOn Architecture" is a simplified model for BDR deployments that uses active/standby with fast-failover, designed to retain better compatibility with existing applications while improving HA and robustness.
So BDR can and often is deployed in fully multi-master roles, the AlwaysOn architecture just doesn't use it that way.
The BDR 1.x series for PostgreSQL 9.4 (+BDR patches) is open source. It will go EoL in December 2019. It works fine, but I don't recommend it for new deployments given the planned EoL.
The BDR 2.x series (for PostgreSQL 9.6) is not open source and is only available for 2ndQuadrant customers. However, parts of it have been submitted to PostgreSQL itself. It has been superseded by BDR 3.x.
The BDR 3.x series, which is now entering production, is not currently open source and is available only to 2ndQuadrant customers. My understanding is that it's intended for eventual open source release, but no date has been set, and I cannot speak officially for 2ndQuadrant about this. BDR3 adds a much more robust node communication model, better conflict handling, and a lot more, plus it runs on PostgreSQL 10 and 11.
I have been encouraging the relevant people to provide some updated official guidance on these matters. The latest I have for you right now is "News and Roadmap for BDR (Multi-master PostgreSQL)" on the 2ndQuadrant blog.
I received an answer from 2ndQuadrant via email, so I will post it here as it addresses the questions above:
1- "BDR is truly master-master; the shadow master is still a master. BDR is an eventually consistent multi master solution; in eventually consistent multi master cluster, it is possible to write on more than one master at the same time, and conflicts might arise when the same rows are written at the same time. Conflicts might be acceptable or not depending on the logical model of the application. Some people do not need to write on both nodes at the same time, and will use BDR only to achieve faster failover, as in our BDR-AlwaysOn architecture. Other people need to write on both nodes, and in that case we need to assess impact and likeliness of conflicts."
2- BDR 1.x is open source (http://bdr-project.org/docs/stable/) . Later versions including BDR3 is only available to 2ndQuadrant Production Support customers. Happy to talk about that in more detail. You are right, it does sound like selling, we are a business :)
3- The latest version is BDR3, this is the third generation of BDR. It will still be live, but is only available to Support Customers.
1.x is open source, but EOL as you mentioned.
also, "is only available to Support Customers", meaning it is not a product you can buy one time. You have to pay. Every year. It is a product you rent :( .