PostgreSQL Project and Release Management
What Makes the Project Work
Peter Eisentraut
PostgreSQL Global Development Group
Agenda
- People and teams
- Release management
- Funds management
or
- An exercise in project wikification
Agenda: People and teams
- The community
- Developers
- Committers
- System administration
- Core team
The developers
- Everyone who develops is a developer.
- Everyone who contributes is a contributor.
- Some of these may be “major”, because they majorly contribute.
- There is a list: http://www.postgresql.org/community/contributors/
- Some contributors do other things than coding.
- Some developers are committers.
Who are the committers?
Marc G. Fournier, Tom Lane, Bruce Momjian, Dave Page, Tatsuo
Ishii, Michael Meskes, Peter Eisentraut, Jan Wieck, Teodor
Sigaev, Neil Conway, Andrew Dunstan, Alvaro Herrera, Magnus
Hagander, Joe Conway, D'Arcy J.M. Cain, Heikki Linnakangas
(count = 16)
Committers are intentionally not marked in the contributor
listing on the web site.
Documentation: http://wiki.postgresql.org/wiki/Committers
Committers: technical details
You need a shell account on cvs.postgresql.org and
write permission to the /cvsroot directory.
How to become a committer
- There is no defined process.
- Send many good patches
- Overload the existing committers ;-)
- New committers are typically proposed by existing
committers or the core team and approved by the core
team.
Server infrastructure management: Services
Yes! — More services:
PUGs, PgFoundry, wiki, (techdocs), anoncvs, Git, DNS,
monitoring, WWW and FTP mirrors, list archives, PMT, Jabber,
pgweb, buildfarm, development hosts
Server infrastructure management: Teams
- Sysadmin team
- servers, maintenance, monitoring (Nagios, Munin, SmokePing)
- Web team
- web site and related services (https://pgweb.postgresql.org/)
- PgFoundry team
- gforge, project approval
Server infrastructure management: Facts and Figures
- ≈50 monitored hosts (≈50% fully community managed)
- 320 monitored services
- FreeBSD, Debian, Ubuntu, Slackware, CentOS, Red Hat Enterprise Linux
- located in Austria, Canada, France, Israel, Panama, Sweden, USA
Server infrastructure management: Future Plans, Directions
- Unified community user account management
- Open communication, documentation (who, what, how)
- Improve speed and reliability
Core team: tasks
- Project policy
- Release management
- Previously: Security issues
- Previously: Business and financial issues
based on community trust and confidence
Core team: statistics
Business in 2007: about 2000 posts
- Release management: 40%
- Security issues: 20%
- Project policy: 40%
Agenda: Release management
- Scheduling
- Tasks
- Security issues
Determining release schedule
Discussed in core team based on previous experience
Typical issues:
- Shorter/longer release cycle
- Scheduling of the subphases
- Flexibility vs. planning
- Avoid holiday periods (rarely works out)
Very very very old release schedule
- Development
- Release
Very very old release schedule
- Development
- Beta
- Release
Very old release schedule
- Development
- Beta
- Release candidate
- Release
Old release schedule
- Development
- Feature freeze
- Beta
- Release candidate
- Release
Another view
- Development
- Feature freeze
- Development
- Feature freeze
- ...
- Beta
- Release candidate
- Release
Bug tracking
pgsql-bugs archive is currently our best offer.
Alternatives are occasionally pondered.
Release tasks: Release notes
- Typically written by Bruce based on cvs log output (pgcvslog)
- Earlier attempts to write release notes during development have not caught on.
Release tasks: Press releases
Typically written by Josh, pgsql-advocacy
Release tasks: Translations
Release tasks: Downstream packaging
- pgsql-packagers mailing list (closed subscription)
- Packagers get a few days advance notice of releases.
- Most packagers have their own sites.
- A few packages are hosted by postgresql.org.
Documentation: http://wiki.postgresql.org/wiki/Packagers
Minor releases
- Backpatching criteria?
- Released as needed/convenient
- Security issues increase the "need"
- Usually all branches released at the same time
- Release check lists apply
Back-branches
- Currently, 8.3 as well as 4 older releases are maintained
- Exact EOL criteria are a bit unclear/nonexistent
Handling Security Issues: CVE
- Common Vulnerabilities and Exposures
- Common naming/numbering scheme for security issues across all vendors
- Mentioned in commit messages, announcements, on web site
- PostgreSQL has used this scheme since 2005
Handling Security Issues: Process
- Mostly a normal bug fix/release process, except less people are in the know
- Lots of coordination work in relative secrecy while minimizing delays: developers, release management, announcements, CVS, downstream packagers
- Multiple branches are usually affected
- It can take a month or more from initial contact to producing a security release
Agenda: Funds Management
Zeroth Attempt
PostgreSQL, Inc.
- Mentioned in copyright notices in Jan. 2000
- Removed in Jan. 2001
- Was never a real community organization or a major copyright owner
First Attempt
The PostgreSQL Foundation, Inc.
- Founded in early 2004
- Terminated at the end of 2005/early 2006
- Failed to get nonprofit status from IRS
Second Attempt
Software in the Public Interest, Inc. (SPI)
- Uses established infrastructure
- Controlled by PostgreSQL Funds Group
Third Attempt
Regional groups, including:
- PostgreSQLFr
- psql.it
- PostgreSQL European User Group
- United States PostgreSQL Association
- many others forming or incorporating
Conclusions
- There are many more things going on than a web site and a few mailing lists.
- Complexity is growing.
- Groups are encouraged to document their existence in the wiki.
- Managing the development process is an ongoing challenge.
Me too!
The PostgreSQL Global Development Group — We're hiring:
- Join our international team.
- Various positions available for all skill levels.
- Work from home.
- Full time position — takes over your life.
- Start date: earliest possible
- No salary, but some unspecific compensation
Start this exciting journey today
at
http://www.postgresql.org/developer/.