Bruce Momjian years ago salvaged a nearly abandoned open source database project: PostgreSQL. Today he heads an international group helping to keep its community growing. He also is a key architect for a commercial database company that supports his advisory group and the Postgres open source community.
PostreSQL, a popular open source object-relational database management system (ORDBMS), is more commonly known as “Postgres.” The free community-driven software owes much of its success in a very competitive database field to the PostgreSQL Global Development Group headed by Bruce Momjian.
Linux distributions typically have PostgreSQL available in supplied packages. Apple’s OS X has PostgreSQL server as its standard default database in the server edition, and it includes PostgreSQL client tools in the desktop edition.
Momjian is instrumental in guiding the PostreSQL community, considered to be the world’s largest independent open source development community. He is not the inventor of the open source database, but he stepped into a leading role in developing the project when it was close to being abandoned some 18 years ago.
He did not start out as a computer programmer, but his strong interest in what makes databases work gave him a hands-on desire to fix what he saw broken. Momjian started to rally like minds to revitalize the floundering PostgreSQL Project.
“It was a fine line between the founders actually abandoning work on the project after years of developing it, or just being forced into idleness due to funding drying up from the original supporters,” Momjian told LinuxInsider.Two-Hat ExperienceMomjian wears two different hats in performing his job supporting database software development. Both hats may have the same design, but each one bears its own colors. Keeping the right hat on his head requires him to keep a clear focus on whose interests he serves at the time.
One hat identifies him as the unpaid head of the Global Development Group. That organization essentially steers the PostgreSQL open source community.
The other hat he wears when serving as a paid chief database architect for EnterpriseDB. That company is the corporate arm that sells EnterpriseDB’s flagship database product, Postgres Plus Advanced Server, based on PostgreSQL.
Thus, Momjian is to PostgreSQL what Monty Widenius is to MySQL, the face of the database community. Widenius is the main author of the original version of the open source object-relational database management system MySQL. It is perhaps the world’s second most widely used database management system commercialized by Oracle.
In this exclusive interview, LinuxInsider discusses with Momjian what the Global Development Group is doing to advance the open source movement in general and the use of PostreSQL specifically.
LinuxInsider: What led to your involvement with open source database systems?
I started using Postgres as a student in college to learn how open source databases worked. I found it to be disorganized and bug laden — but I also saw its potential. The only person at that point still developing the project worked for one person connected to Berkeley University, but that person’s own job responsibilities left him little time to devote to the database.
By 1996, it got to the point that no new work on patches had been done. For all intent and purposes, the database project was abandoned. A college colleague and I assembled a group of 10 or 20 programmers and coordinated efforts via email to bootstrap the project’s development.
LI: How difficult was it to keep the project alive?
Unlike revising an editor project, growing a database involves working with very complicated software. A group member really needed to be in place for a while before becoming very effective with the database work. Much of the success came from the affiliation of like minds.
I realized early on that this group was small and would not survive losing talent from attrition. We also needed to attract more helpers. To be really effective at what we do, I could not have people popping in and trying out things. They needed to know what they are doing. One of the strong points of this early group of volunteers was a sense of camaraderie and team spirit working from remote locations.
LI: How far afield from your original career path did working with open source take you?
I was a programming volunteer for the first three years. I would squirrel away a few hours in the morning to work on Postgres and then pull away to actually do work for my paying job. At this point, I was a paid consultant to a law firm and was heavily involved in producing financial reports. I spent whatever time I could learning more about open source methods and how databases worked.
LI: So you had no plans to develop software starting out?
My professional background was neither law nor accounting nor computers. I majored in history in college and taught math and computers to high school students for five years after graduating. For the next 12 years, I was a custom software developer. So I was kind of all over the map with my background.
LI: What were your thoughts about the open source software business potential back then?
The problem I found with open source is that it lacks a very clear path to making money. It is difficult to get a company to pay you to improve open source software. The specific problem in developing Postgres commercially is the market it is in.
Databases are unlike operating systems. They have such a varied workload and are so compliance-critical that you actually have significant amounts of money to support products. I am now involved with my third company that is funding me to do community work for open source. The first one folded after 18 months. The second one closed after five years. I have been doing this for EnterpriseDB for eight years.
LI: How does the Global Development Group function with the PostgreSQL community?
The first few years involved making the database attractive to companies. The subsequent years have been spent devising ways to monetize and generate money from the database as a product. The problem with open source is that many companies could figure out the solutions themselves, but they expect to go to one source for all of the answers.
They really need someone to come in and help them deploy and help them get the usage off the ground. I have seen companies trying to do that on their own and wasting a lot of time in the process before giving up and coming to me.
LI: Does the project’s community have a role in that?
Open source communities are skilled in source code. Members are not focused on providing individual solutions. Software communities are able to handle generic questions about the software, but they are not readily available to get involved in specific issues. So that became the group’s focus.
The goal was to make Postgres ready for enterprise users. I try to concentrate on areas of concern that enterprise users have to get it all working with their back end. It is often difficult for a small company using Postgres to find support for expanding its use, training the users, etc.
LI: How does your work heading the Global Development Group differ from what you do as chief architect for EnterpriseDB?
EnterpriseDB offers some database support for Postgres on top of its community, but the company has its own commercial version to develop and support. The GDG is a separate entity. It really has no assets and is staffed by volunteers. It has been around for nine years as a value added to the community to make it more like a company for Postrgres.
EnterpriseDB is probably one of the largest companies working with the group, but we have 10 or more other companies that volunteer their resources to help the open source project. These companies are located in Europe, Japan, Russia, Brazil.
LI: So EnterpriseDB’s financial involvement with the Postgres community is separate from the free open source releases and the development group?
It works pretty much the way Linux itself works. You have a group of companies located around the world all working together to produce the Linux kernel. Then you have something like Red Hat, which is taking that kernel and providing a unified product on top of the Linux kernel. That is essentially what EnterpriseDB is doing for Postgres.
LI: What drives development of Postgres?
It is surprising how the progress resembles a tortoise and the hare story. PostreSQL is sort of a database designed by engineers for engineers. There is very little marketing spin. We cut very few corners in developing features that are 100 percent reliable. It has always had a high degree of polish on the code.
The development is slower because we do not take shortcuts — but over the years, we have made a name for the database as a product that is reliable and is backed by communities and companies that felt strongly about the value they were providing its users.
That does not sell very well in the beginning. It takes a while for the reputation to develop. Fortunately, we have played the long game in not taking shortcuts and focusing on making the best database possible.
LI: What is the current focus for the Global Development Group and PostgreSQL?
The most challenging phase in developing the database is that last mile. This is an area that a community does not do very well. It involves, for instance, training users and supporters of the product. Working on training is not really the focus of the community.
LI: Will you ever make the Global Development Group an actual business entity for PostgreSQL?
The real strength of Postgres is that it remains open source so that anyone or any company can contribute patches, can make commercial products based on it, can offer consulting for training on it. That is really the goal for us. We are not Oracle or iMomjian or Microsoft. We are never going to have the assets.
LI: Why is the Group opposed to a business setting?
As soon as you start tying things to a company and tying things to assets, you start making decisions based on sales targets and excluding people from getting involved, because all of a sudden you have to maintain intellectual property rights. The Global Development Group is focused on where the Postgres community is going.