Bruce Momjian may not be the most famous free software figure, but as a founder and lead architect of the PostgreSQL relational database management system, he is an ardent believer in the correctness and beauty of open source development.
In Australia to speak at Sydney's PostgreSQL user group, Momjian spoke about the early days of the database's development and its transition from academia to the Internet.
"In 1996 the database had left Berkeley and we started an Internet development team," Momjian said. "I realized the code needed some organization behind it as it didn't have the focus and management behind it. There wasn't a unified effort so everyone could work efficiently."
When Momjian started on the project there was "one guy from Berkeley" maintaining the software, and it was not uncommon for bug fixes to be released as a patch but never make it into the mainstream release.
"Then you get into some funny e-mails where people have their wish list of what they want to get PostgreSQL to do and they didn't get that for seven years," he said.
The original Ingres database was developed at Berkeley from 1972 to 1984, and in the mid-eighties an academic by the name of Stonebraker, who worked on Ingres, said it was time to go beyond relational to extended data types and plug-in languages.
"He developed this post-Ingres and that's how it became Postgres," Momjian said, adding the DB2 database may have also come out of Berkeley.
The modest, but charismatic, Momjian used a moon landing analogy to describe PostgreSQL development.
"There is the famous line 'one small step for man, one giant leap for mankind' and in a way the PostgreSQL history is like that," he said. "You look at the windows port now and say it's great, but at the time you are doing it it's like this is never going to work. At the time you are doing it, it looks like you are making sausage. You really think I am never going to finish this."
Momjian said open source development deals with "little things", but once done people wow over how there aren't any other problems.
"The fixes are so disjointed - they are coming from different problems you are having. You look at the end product and it is an engineering feat, but the beginning doesn't seem that way."
Momjian said when people look at PostgreSQL now "and the companies behind it", like Fujitsu and his employer EnterpriseDB, they say it was always that way, but he admits it came form Berkeley "pretty messed up".
"Slowly chipping away over time you end up with something that doesn't look like it used to," he said. "If you sculpt something you start with a block and when you finish you end up with something that looks nothing like it."
It is this level of focus on the code that Momjian says differentiates commercial and open source software.
"The motivation of the open source community is dramatically different to that of a company," he said. "If you look at a typical tool a database vendor makes it's little programs written by the company and they put a team on it and ship it in the product."
"What happens to the code after that? Nothing. Nobody is going to buy any more copies of a database if you add another flag. For us everything is incremental. What happens is all of our users will see it [so] the features and the way things work are much more holistic. We have a much tighter cycle of how we interact with our users. Code quality is much more important to us because if the code is much more difficult to understand people are not going to work with it."