Postgres - the Non-code Bits
Postgres is an interesting open source project. It’s truly one of a kind, it has its own license to prove it as opposed to falling under something like Apache or GPL. The Postgres community structure is something that is pretty well defined if you’re involved in the community, but to those outside it’s likely a little less clear. In case you’re curious to learn more about the community here’s a rundown of a few various aspects of it:
Let’s start with the legal part first. First IANAL. PostgreSQL is under its own license. For those who don’t regularly follow software licensing it’s extremely liberal and flexible. You can take Postgres, fork it, change it, package it up, and resell it. This is actually one of the reasons you see Postgres at the core of so many other databases like Par Accel, Asterdata, etc. That and that it’s such a solid code base that is capable of being extended. I once heard someone describe how they don’t really like writing C, but they enjoy writing Postgres C ;)
A thing you can’t do is profit off the PostgreSQL logo without any approval from the core team.
Within the Postgres community there are 2 major sets of people.
The core team
The core team is a smaller team within the Postgres community. The core team is effectively a steering committee for Postgres. They’re responsible for coordinating releases, handling confidential issues (read: security issues), managing permissions around PostgreSQL code and infrastructure, defining policy.
The core team is a very small list of people, at the moment 5 individuals.
Yes, anyone can contribute to Postgres, and with each release there are a laundry of people that write some code that goes into Postgres. If fact Postgres 10 had 325 people that contributed in some form. That said there is a hierarchy that exists. The two biggest ones are committers and major contributors.
Committers gain access after years of contributing to Postgres showing sustained commitment to the project. New committers are voted on each year at PgCon which happens in March/April in Ottawa. If you’re ever curious for a conference of what’s coming and being deep in the internals of Postgres it’s one to check out. Once you do gain your commit bit you’re expected to contribute every couple of years to the project. And of course there are a number of qualifications such as contributing high quality code and perhaps most key is helping review others contributions.
Major contributors are another notable group. Major contributors don’t have full sole commit access, but are held in a higher regard from consistently contributing major features as well as providing review for others.
Contributors in general are another area worth calling out. While they may not have a flagship feature to their name like the major contributors, Postgres is what it is because of the contributions of everyone.
PostgreSQL the company
Well, it turns out there isn’t a company behind Postgres, it’s one thing that makes it unique–no one can ever “own it”. There are some official PostgreSQL non-profits though in particular the US non-profit and the EU non-profit. These non-profits ensure that the core guidelines are enforced and also give coverage for the community to help put on official community conferences. A few of these happen each year which include:
- PGCon – The hackers conference
- PostgresOpen SV – A consolidation of PostgresOpen and PGConf Silicon Valley
- PGConf EU – The largest PG European Conference which moves around each year
If you’re looking for a way to support the PostgreSQL non-profit organization I’d encourage you to consider joining PostgreSQL.us.
So you want to jump into the community, where do you even start? The first place I’d encourage is to subscribe to the mailing list or check out the slack channel. The users mailing is a great one to just jump in and help answer questions and see what people need help with. The hackers list is where you go to get a peek at all the fun debates/discussions/development.
If you’re thinking about contributing it’s a good idea to lurk on the hackers list for a bit first. Then when the commitfest comes chip in and help review some patches and do some testing. Oh and of course, you can always blog about what you’re doing with Postgres and will aim to get it included into Postgres Weekly.