Interviewee: Denis Lussier
In this interview we talk with Denis. In specific, we talk about:
- The role of PostgreSQL in the enterprise database sphere
- Building performance to expand upon the capabilities of LAMP
- Creating a hybrid open source/corporate business model
- The role of various license types in enabling business models
- Sun’s relationship with PostgreSQL
Sean Campbell: Please give us a little bit of background about yourself, both with and prior to EnterpriseDB.
Denis: Sure. In 1994, I founded a small boutique system integrations firm called Fusion Technologies that grew to be about 250 people by 2004. In 2003, as a bored CEO running a bigger company, I started an open source practice area at Fusion Technologies. That is where I stumbled across PostgreSQL and MySQL.
I came to realize in that process that PostgreSQL was a superior database to MySQL, although it was not as popular as MySQL. And neither of them were really all that popular compared to Linux in the operating systems space or compared to JBoss in the app server space, just because anti compatibility was not that big of a deal in the database space, since because nobody really has it and nobody cares about it.
Ultimately, I spun off EnterpriseDB as a separate company. I took venture capital financing in early 2005, and we have done several rounds since then, producing what you now know as EnterpriseDB. I sold Fusion Technologies to a larger company, so I am not involved in that anymore.
Sean: I was a database guy for a long time, and I wrote my share of code, although Scott wrote more than me. Where does EnterpriseDB fit into the grand pantheon that includes everything from DB2, to Oracle, to MySQL?
Denis: We are definitely going after the enterprise space, because we are built on rock solid PostgreSQL, which is enterprise class. If you look at the headlines, MySQL might be referred to as “The world’s popular open source database,” while PostgreSQL will be referred to as “The World’s most advanced open source database.”
PostgreSQL appeals to the open source UNIX and BSD types of guys, and it is the engineers’ choice for an enterprise class open source database management. MySQL is not silly enough to go directly after Oracle–even now that they are with Sun–and neither are we.
Just as you didn’t rip and replace Solaris to go with Linux, you don’t just rip and replace Oracle and go with EnterpriseDB, because we are PostgreSQL with Oracle compatibility. Migrations like that can take years.
Even though going after the enterprise market takes years of development, we have an enterprise class product that is appropriate for the enterprise, especially for up and coming companies. For existing companies, we have got to get in with some developmental type projects and earn our stripes through true enterprise class replacement, which again takes years.
Whereas MySQL is sort of positioned as the web database, we do a lot with scale out and so forth, for companies like hi5 and Skype. Guys that are doing huge things with PostgreSQL understand what you have got to do to truly scale out a database, which is PostgreSQL’s strength.
You also have to scale up the database in terms of OLTP type transactions. Huge numbers of users and transactions are PostgreSQL’s traditional strength. If you want to do industrial class scale out, PostgreSQL also excels at that.
We fancy ourselves as “The PostgreSQL Company.” We are the largest sponsor of PostgreSQL core committers, and we also have a value added product on top of that, which is EnterpriseDB’s Postgres Plus Advanced Server.
That offering includes all of PostgreSQL, plus advanced features that enterprises are interested in–hence the name. Other than a couple parts of it being closed source in much the same way as Red Hat Enterprise Linux versus Fedora, anyone can kind of do whatever they want whenever they want, without paying us.
Sean: It’s an interesting time to be opposite MySQL, with Sun buying that project to essentially buy a letter in the LAMP stack as a play for some open source credibility.
Denis: That’s not working out so well with all of MySQL’s executives leaving Sun.
Sean: I think they found an HR department that was not to their liking, although I have a feeling that the situation stems 25% from the entrepreneur going to work for a large company and 75% from Sun.
Denis: We all love Sun and Unix and stuff like that, but Sun and software don’t do so well, and the MySQL guys in a big corporate culture don’t do so well, so there is nothing particularly surprising there.
Sean: When we talked to Dries over at Acquia, who is smaller than you guys by far, he said his goal is essentially to be the Red Hat to Drupal, the Red Hat to portals.
It kind of sounds like you want to be the Red Hat to the database stack, modifying people’s perception of an M in that LAMP stack as you deal with more scale out in Web 2.0 and aid them in moving beyond being just small sites that run PHP in MySQL.
Denis: There is definitely an element of that. Among the features we are about to announce, there is one called “Infinite Cache.” Basically, we take memcached, and rather than putting it in front of a database and requiring you to change your application, we take it as the basis.
It is BSD, so you can do whatever you want with it. We take it as the basis and put it behind the database so you can still do your relational queries. We take what is effectively a hypothetical database and put memcached behind it so that we do the caching and you don’t have to worry about doing special things in your application.
We use a distributed cache behind the scenes. When we say a Web 2.0 database, what that really means to us is that you can do stuff like memcached, but we make it transparent behind the database.
If you want to use a huge scale-out database, like Skype or hi5 does, and you use this technology behind the database, it will automatically cache everything that you put in the distributed cache.
The remaining part that isn’t the read–maybe 90% of a typical web based application–is an OLTP application. PostgreSQL and, therefore, EnterpriseDB based on it, is one of the best databases in the world for that.
The architecture underneath is very, very similar to Oracle in terms of how you do distributed locking and how you do row level locking versus page level locking, and all that stuff. So, we have the traditional strengths of Oracle in that area, but we leverage various open source projects when creating Postgres Plus Advanced Server. It is similar in approach to Red Hat enterprise Linux.
Sean: Assuming the analogy still holds true, Red Hat has been doing really well. They had a good quarter for a technology company in a quarter where many did not. They have been growing continually, but particularly in the last quarter. What would you like to follow or not follow in terms of their example?
Denis: They obviously defined themselves as an enterprise open source company, but they try to combine the best of the open source world and the non open source world. We seek to follow that; for example, they defined the successful subscription model that we follow, and there is a lot to follow there.
Ed Boyajian, who is our CEO now, ran North American operations for Red Hat, so we have an ongoing affinity for Red Hat. Everything that we do moves towards open source, but we don’t rush making it open source before it is time, because we want to get the economic benefit out of some of our features.
Our features move to open source at the rate that makes sense. We don’t have a policy that says everything must be GPL2 immediately. We want to emulate Red Hat’s success, but frankly the database market is somewhere between six to eight times bigger than the operating system market.
We would hope to be as successful as Red Hat someday, but we dream of being even more successful because of the bigger market.
Scott Swigart: How do you make that decision about what makes sense to keep in your proprietary offering and when it makes sense to push those patches out to PostgreSQL?
Denis: To speak in sweeping generalities for a moment, if we have got a feature that we have made closed source, and somebody else is creating a competitive feature that would cause the source code to fork unnecessarily, we will contribute our feature.
Sometimes, we open source defensively like that. We also open source sometimes because we have a feature that is going to be enterprise class, but we need a much wider QA community before we can make it enterprise class. That’s more of an offensive reason to open source.
In general, the PostgreSQL community is all about anti compatibility. PostgreSQL is the strongest anti database in the world. Our customers who care about Oracle compatibility features are obsessed with the money saving aspect of open source and that it be enterprise class based on open source.
They understand that some of our Oracle compatibility features are not open source. To open source those features, we would really have to try and force them on the community, because they don’t really want them anyway.
The decision about whether to open source a specific feature is sort of complicated, but most decisions we make about how, when, and where to open source something make sense if you break it down into those three categories. The decision that you make and the timing become self evident.
Scott: Does the fact that PostgreSQL is under the BSD license help to enable your business model? In other words, GPL wouldn’t really work for what you are doing.
Denis: It helps to look at things in terms of generalities. There is GPL that is not controlled by a single commercial interest, such as Linux. There is also GPL that is dominated by a single company, such as JBoss and MySQL.
Then there is BSD. There is BSD in Apache, so the licenses are more permissive, so you can commercialize them and make your own decision as to how, when, and what you open source.
I chose PostgreSQL when I founded EnterpriseDB because, from an engineer’s perspective, PostgreSQL is a better database, but from a license perspective, it also provides flexibility for our business model to combine open source vision with commercial pragmatism.
Scott: How has it been beneficial for PostgreSQL itself, in terms of its evolution? I know there are some people who would say that a GPL license would be best for a given project, because people have to share their derivative work.
On the other hand, there are people who will say that you have to make enough money to stay in business, and that by growing a company, they are going to be able to contribute a lot more to that core project.
Denis: Both models can and do work. They have their strengths and weaknesses. You can’t really directly sell a subscription to something like PostgreSQL, the Apache server, Tomcat, or anything with an Apache type license, a BSD type license, or an MIT license.
You can be a professional services company that specializes in that, but the actual software is very high quality and it is free. That makes it harder for a company to make money on it, but on the other hand, it is easy for a lot of companies to get behind contributing to it, because they want to invest their time and they want to use it for free.
Therefore, the Apache, BSD, and MIT licenses encourage people to trade time for money. GPL, on the other hand, lets a company get behind it. I would argue that PostgreSQL is the world’s best open source database and MySQL is the world’s most popular. It was the most popular because there is a commercial entity behind it.
We don’t control the PostgreSQL community that EnterpriseDB is a big contributor to. It is a very independent community. Several of the core committers work for us and so on, but we don’t control it, much as IBM doesn’t strictly control the Apache community. They are a major contributor to it, but they don’t control it, and they don’t need to.
You can sell WebSphere, whereas you can’t sell Apache or Tomcat. MySQL is successful and it is a good product (although, naturally, I think that PostgreSQL is better). We think that models like PostgreSQL, Apache, BSD, and MIT can be successfully commercialized by a company that understands open source, the way IBM does. They can have some closed source aspects of their product and still be a good open source company.
IBM is an investor in our company, and we frankly try to emulate their success in the open source market.
Scott: Sun used to be, or maybe even still is, a fairly big supporter of PostgreSQL. What is that relationship like?
Denis: Sun is trying to be a good open source company in the model of IBM, but once they spent a billion dollars on MySQL, they slowly and steadily backed away from PostgreSQL, which is what you would expect.
We are steadily getting into the Solaris space ourselves, rather than just doing a third party contract through Sun, which has basically expired.
Scott: Who is your target customer? Are they the kind of people who would have bought Oracle in the past, but just don’t see the justification for spending that kind of money for an enterprise class database?
Denis: There are startup companies that see the value of PostgreSQL but want people who are true experts at it. They are not going to build it themselves, and they get all the build optimizations and cache update service, and that kind of stuff.
There are also companies that are spending, in some cases, tens or hundreds of millions of dollars on Oracle per year that want to, over time, decrease that dependency. And then you have everything in the middle.
We recognize that big companies can’t just replace Oracle or SQL Server overnight, but we think we have something that they can move toward over time, and we have been very successful with that model.
In fact, that is very similar to the Red Hat Linux model. They targeted Solaris, but you didn’t just rip and replace Solaris eight years ago, even though you might now.
Scott: Well, we have come to the end of our time, but I want to thank you for a great conversation.
Denis: Thank you. I enjoyed it.