Certified Schizophrenic

The other night I was having dinner with a bunch of folks, and I think it was [http://www.jacobian.org/ Jacob Kaplan-Moss] (Django dude and Postgres user) who noted that the Postgres community’s governance model was this crazy mix of distributed peer-to-peer style chaos, that on it’s surface wouldn’t seem functional, but somehow seems to work really well for our project (my paraphrazation). It’s hard to argue. We don’t have a [http://en.wikipedia.org/wiki/Linus_Torvalds one true leader], and we don’t have a [http://www.mysql.com corporate master]. In fact, we’re so multi-faceted, we actually have two names (minimum) for the project! At times, this is a really good thing. Listening to Mark Shuttleworth’s keynote last night, and his pointing out that an important part of the future of open source is having choice not just at the software level, but as users, developers, and in economic circles as well; and you’re happy to note Postgres is already very much there. Of course, I promised Momjian (the elder) I’d have some angst in this post, so let me ignore the benefits of this model and focus on something a little more negative. Yesterday EnterpriseDB announced their new [http://www.enterprisedb.com/tservices/certification/overview.do Postgres Plus training program]. It looks like a pretty comprehensive set of options, with tracks focusing on development and administration, with multiple levels of mastery involved, and different training programs to go along with them. With one of the big issues of Postgres adoption being finding qualified folks to administer it, a training program built around certifications is certainly something that the Postgres community has had it’s mind on for some time. And therein lies [http://www.worldwidewords.org/qa/qa-the3.htm the rub]. Several members of the Postgres community have already started work on an [http://www.postgresqlcertification.org/ open community certification] standard. The idea was to allow for an open development process for determining what types of things should be tested and to allow anyone access to the information for setting up training courses; a true community effort, that could have multiple vendors involved, giving end users a variety of ways to get trained and get certified. This wasn’t just some crazy idea someone cooked up either; it was based on the [http://www.bsdcertification.org/ BSD community’s] recent efforts down the same path, and several people from that effort are also helping out with the Postgres community certification group. In case you were wondering, the EnterpriseDB program has had no involvement with the community work that has been done. D’oh. EnterpriseDB is an interesting company, they’ve done a lot for Postgres, and I’m glad to have them involved with the community. But I know that they are not a company that has open source / free software built into the core of their company values, and it iss not surprising to me that they would go off and develop something like this with no community involvement. Maybe I don’t even blame them; on the flip side of this we have members of our community who are pretty adamant about allowing commercial entities to have control over any part of the Postgres ecosystem, which certainly can cause issues for companies trying to get involved. I pointed this out to Mark Shuttleworth last night when we were discussing adoption of [https://launchpad.net/ Launchpad] and the [https://launchpad.net/bzr bazaar] toolset’s adoption within the PostgreSQL community; Canonical’s holding back of certain pieces to their system had caused many people to shy away from it. Side note; this is one thing I like about [http://www.omniti.com/ OmniTI’s] culture; we are heavily committed to open source, have released a bunch of [http://labs.omniti.com/ our own code] and contributed back to a lot of projects, but if you want to run your company on Oracle, we’ll support that. We have found a balance between the two aforementioned extremes. What gives me rub++ on this topic is that, within the last six months to a year, I have spoken with a number of people within the community who have asked me about this topic, and I’ve maintained a pretty consistent theme on the direction I thought the community should take. It seemed to me what we needed was to have several of the leading companies involved with training and consulting, including a few key community leaders who are recognized for thier work with Postgres educations (conferences, talks, articles, books), and let this body of people set forth on the task. The key idea was to make sure we have enough community involvement that the general population could accept this as a community solution (ie. No single vendor in control of the operation), but let some of the commercial companies who have a vested interest in this use their resources to help this happen more quickly, rather than letting things get bottlenecked as it was done in the spare time of a group of volunteers (who, to be honest, are already spread a little thin from helping out in other areas). This wasn’t my idea, this was what I had observed having happened within the PHP community, where a couple of key companies ([http://www.zend.com/en/services/certification/ Zend], the [http://zceguide.com/ PHP|Architect] folks), got together with several recognized community members ([http://shiflett.org/blog/2004/jul/zend-php-certification Shifflet], [http://en.wikipedia.org/wiki/Team_America:_World_Police Ramsey], etc…) to produce the PHP certification program. By all accounts, this has worked very well for those people involved. The training program was created in a reasonable amount of time, and there were many viewpoints involved that kept it pretty well rounded. Glad we didn’t try that… So now what is to become of Postgres certification? I think most people in the PHP community are pretty happy with the arrangement they have come to. To be fair, I’m guessing most people in the BSD community are happy to have their community certification system, and I’d bet most Oracle folks are pretty happy with their [http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=39&p_org_id=1001 single vendor option] they have available to them. Given that Postgres land now has two options, I suspect that there are some people in the community happy with the community effort (though it is probably a year or maybe even two from actually producing something), and some who won’t have any qualms with going to “[http://www.enterprisedb.com the vendor]” to get their branded certification, but I suspect there are some people in the middle who are not excited (and likely confused) about the current situation of these two camps. It’s possible people will flock to EDB’s system and the community effort will be made irrelevant, but it seems just as likely that there could be some community push back, and people will avoid the EDB offerings making EDB take a hit for thier efforts (Disclaimer: I’m an [http://www.vue.com/sra/ SRA certified] PostgreSQL Administrator [[image /xzilla/templates/default/img/emoticons/smile.png alt=”:-)” style=”display: inline; vertical-align: bottom;” class=”emoticon” /]] ). Both of those outcomes seem to involve somebody coming up with the short end of the stick, and that seems unfortunate. The good thing about EDB announcing this while at OSCon is that several people involved in both efforts will be in town this week, so there might end up being some actual discussion on the topic and maybe even some ideas on how to resolve it. Until then, we walk down another “interesting” evolution in the multi-faceted organization that is the PostgreSQL community.