Is it time to modernize the processes, structure and governance of the PostgreSQL Core Team?
The PostgreSQL Community is large, diverse and global. There are users, enthusiasts, developers, contributors, advocates and commercial entities from around the world. All of them working in a loosely collaborative fashion to grow and make PostgreSQL succeed.
The Postgres Core Team is considered to be the steering committee for the Community. The definition of the group responsibilities can be found here. The core team members are listed on the Contributor Profiles page.
On September 30th EnterpriseDB acquired 2ndQuadrant. At the time of the acquisition there were five members in Core; two of them were EnterpriseDB employees and another one a 2ndQuadrant employee. This meant that 60% of the Core members would be employed by EnterpriseDB. On October 20th, in an effort to diffuse concerns about a single commercial entity having majority control, the Core Team announced that this is an issue that they would be addressing:
“There has long been an unwritten rule that there should be no more than 50% of the membership of the Core Team working for the same company”
This rule was enacted back in the days of the Great Bridge. Core addressed the unwritten rule by appointing on November 2nd two new members: Andres Freund and Jonathan Katz. This change in Core reduced the proportion of EnterpriseDB members to three out of seven. Fundación PostgreSQL would like to extend a very warm welcome to Andres and Jonathan. They are both well known and long time community contributors.
The addition of the new members allowed Core to be compliant with the 50% rule. However: was this organizational change the best choice? Was it the only change that could have been implemented? Could we have looked at the culture of our global community and used this opportunity to strengthen our ties?
Here are some facts about Core’s structure and membership:
- Company influence:
- Core has switched from having 40% of its members from a single company to now having 43% from a single company and 71% from two companies.
- 100% of the members are from only 4 companies.
- 100% of the current Core team members are white men.
- All of the Core members are either US or European. No other region is represented.
- All but one Core member work for US companies.
- Core members are only appointed by existing Core members. In contrast, the “Recognised Postgres Nonprofit Organisations” (created and enforced by Core) has as a requirement that the “board of directors MUST be elected by the membership”. These rules were, in turn, created by Core itself.
- Core members serve for an unlimited term. In contrast, the same Community recognition rules above also require that “Lifetime directorships MUST NOT be allowed”. Four of the current Core members have been serving in the Core team for more than 15 years.
- The election process, candidate selection, selection criteria, etc are all secret.
- Core Team meeting minutes are secret.
- Core team policies are enacted by declaration, without involvement of the global community.
Facts aside, there are some organizational concerns that may require some further analysis.
In the PostgreSQL distributed community, the Core Team acts as the de facto “central authority” for the project. The Postgres Association of Canada (“CA”, in short), acts as its legal arm, holding assets (including intellectual property, like domain names and trademarks).
However, this presents an interesting dichotomy: Core makes decisions, but if these require a legal entity to be executed, they are executed by CA. Which has its own board of directors, that needs to approve them. What if they don’t? What if they don’t follow Core? Similarly, how is Core accountable, if it is not backed directly by a legal entity? Because of this, are there any potential liabilities faced directly by their members, as individuals? And what happens if CA’s Board goes haywire?
Other mature and successful open source projects, while distributed as Postgres and built from the contributions of people and organizations all around the world, are nowadays backed by clear and strong legal and organizational structure. Take for example the Apache Foundation, or the Free Software Foundation. Or the Cloud Native Computing Foundation (CNCF), which is a Charter of the Linux Foundation. Its structure has three main bodies:
“A Governing Board (GB) that is responsible for marketing, budget and other business oversight decisions for the CNCF, a Technical Oversight Committee (TOC) that is responsible for defining and maintaining the technical vision, and an End User Community (EUC) that is responsible for providing feedback from companies and startups to help improve the overall experience for the cloud native ecosystem”
The Governing Board has currently 24 members, and their meeting minutes are public (they are not alone: MariaDB Foundation is now publishing their board meetings too); the Technical Committee consists of 11 members and 77 contributors; the End User Community has more than 150 companies; furthermore, there are dozens of ambassadors; and also dozens of staff members. While possibly operating at a different scale than PostgreSQL, they all contribute, in different manners, to the steering, development and vision of the CNCF.
What do you think? Is PostgreSQL Core today what the PostgreSQL Community needs, or is it time to modernize its processes, structure and governance? If you think it is the latter, please leave your comments below. I hope this post serves as the starting point for a broader and constructive discussion that can serve as feedback to Core. Let’s ensure the best future for our beloved open source database!