MySQL is commonly used by Web developers in conjunction with PHP. Although MySQL is not enabled by default in PHP5, a brand new class called MySQLi greatly enhances the functionality available to developers.
With this new class comes MySQL 4.1, which is now in production release status. New features such as stored procedures and the database cluster have seen MySQL become the first choice for many business and enterprise users.
But how can the business side, MySQL AB, continue to develop such a well-known application, yet still make a profit? I recently asked Zack Urlocker, Vice President for Marketing at MySQL AB to answer that question, and several others.
First, can you tell me a little about your role as Vice President of Marketing at MySQL?
My background has always been in the promotion of technology and infrastructure for developers. Many years ago I helped create a product called Delphi at Borland. It went on to be one of the most successful client/server development tools ever. That helped steer my career to eventually take on bigger tasks that were more strategic.
At MySQL, my focus is really on promoting our open source technology among corporate customers and the entire open source community. I help make sure we’re communicating our plans to people — and that we continue to expand the number of people who evaluate and use MySQL.
The MySQL Database Server is one of the most well-known in the Web development community. Can you explain a little about the product for us?
The current version, MySQL 4.1, went into production (or GA status) at the end of October. It includes a tremendous number of new features such as prepared statements, better international support, a new GUI installer on Windows and Linux, faster performance, better security, and so on. It also includes the latest MySQL Cluster technology for high availability applications. This is the version we recommend people to install.
There’s also MySQL 5.0, which is currently available in a pre-production, Alpha version. It includes some important advanced relational features including stored procedures, triggers, and views. These features are often used in enterprise applications, but of course, they can be helpful to other users, too.
One thing people don’t always realize is that there’s a version of MySQL that can be embedded directly into applications, for example, if you want a "built-in" database in a software application or appliance. The embedded server is known as "libmysqld" and can be easily called from C or Java applications, and completely hidden from users. It’s available in both 4.1 and 5.0.
How important has the free, open source version of MySQL been overall? Can you explain the reasoning behind its continued development?
MySQL has been successful so far because of the tremendous support of the open source community. There are millions of MySQL users worldwide and they provide tremendous input, testing and resources that have helped make MySQL the product it is today. We’re the most popular open source database in the world. and we’re also the fastest growing database in the market, surpassing even Microsoft, Oracle, IBM and others.
We’re completely committed to an open source strategy at MySQL. All of our software is available under a "dual license", which means it’s available under both the GPL and also a commercial license for those who prefer to have a commercial relationship with us.
Monty Widenius and David Axmark, the founders of MySQL, started with an open source strategy almost ten years ago, and, today, we remain as committed to this approach as ever. We now see more and more companies adopting an open source LAMP software stack (Linux, Apache, MySQL, PHP/Perl/Python), so this was really quite insightful on the part of MySQL’s founders. Their approach has served us well, and now we see many other vendors like Microsoft, Oracle and CA starting to adopt open source practices.
MySQL has increased in popularity primarily as a result of its integration with PHP4. By default, PHP4 came with MySQL enabled, allowing web developers to very easily create database driven Websites using the open source PHP and MySQL combination. How has this influenced the development of MySQL in the past and present day?
MySQL has definitely grown in popularity due to the many PHP users who have adopted it. PHP is one of the most important languages (along with Perl and Python) that make up the LAMP stack. We always look for ways to make it easier for PHP developers to integrate our databases into their Web applications — and we continue to work closely with folks from the PHP community. For example, with the recent release of MySQL 4.1, we found a couple of technical glitches, but we were able to resolved these issues quickly and get the fixes up on our Website within 24 hours.
In PHP5, MySQL is not enabled by default — it requires specific compilation. How much was this a decision made by MySQL and what was the reasoning behind it?
While it’s great to work with the PHP community worldwide, we also recognize that their schedules are not always the same as our schedules and their needs are sometimes different from ours. They had some concerns about our ability to keep up with PHP needs and we had some concerns about flexibility. So I think at this point, it’s not a big deal that MySQL is not bundled with PHP 5. We continue to work closely with the PHP team. For example, PHP 5 includes a new MySQL extension called MySQLi for developers using MySQL 4.1. This extension includes an object-oriented interface as well as a traditional procedural interface, and provides support for some of the latest MySQL features, such as prepared statements.
Why do you think the MySQL/PHP combination is so popular? Do you feel this popularity will continue after the split in PHP5?
I think the combination of MySQL and PHP is the fastest-growing development platform there is. We see thousands of companies and individuals adopting these technologies together. With the proliferation of broadband, it’s trivial for people to download our latest server and drivers from http://dev.mysql.com.
We’re doing our Call for Papers (CFP) for the MySQL Users Conference 2005 right now and we’re seeing a lot of good submissions on PHP and the LAMP stack, so I think this will remain a hot topic. We have a lot of PHP gurus at MySQL, including Georg Richter, Jim Winstead and many others.
Do you support the development of any major applications developed specifically for MySQL, for example phpMyAdmin?
We encourage our employees to keep up to date on the latest open source projects and contribute or provide guidance and feedback when they can. Of course, they are also quite busy working on MySQL 5.0.
But we definitely see a lot of people using phpMyAdmin, our own MySQL Administrator, as well as various third party commercial tools such as TOAD from Quest Software or DB Artisan from Embarcadero. We realize that the more tools out there that support MySQL, the more accepted our product will be, both in the open source community and in corporate IT departments. We also have lots of discussions with other open source projects, whether it’s OpenOffice.org, Apache, JBoss, or Eclipse etc.
How far has MySQL progressed since its original release to MySQL 5.0, which is coming up soon? What differentiates MySQL 5 when compared to other popular database systems? What limitations does it have as far as maximum number of records/tables goes?
As I’ve said, MySQL 5.0 is in Alpha now and we have a lot of people doing some very good work with it. It’s not quite ready for "prime time", but we expect to have a solid beta later in Q4 2004 and a GA production release around the end of Q1 2005.
The key thing that MySQL 5.0 brings to the table is a lot of the enterprise features found in Oracle, SQL Server, DB2 etc. Chief among these is stored procedures, triggers and views. We’ll probably also get a few other features in there, but that’s the primary focus.
I think what makes MySQL 5.0 interesting in comparison to other databases is what’s always made it successful: it is fast, reliable and easy to use. Most databases have suffered from what I would call "server bloat". They keep adding new features every year, whether they are useful or not, and every user ends up paying the price in terms of added complexity, bugs, reliability, and so on. In a way, it’s not surprising. For financial reasons, traditional vendors have had to justify an upgrade every few years, so they’ve added tons of extra features, but those features just add complexity.
We’ve taken a different approach, which is to view the database as a commodity. Yes, it should have certain capabilities, but it doesn’t need to have all the bells and whistles. Many people just want a lean, mean, fast database. We think of ourselves as the Honda of databases; if you need the Ferrari, you should go buy Oracle. But also be prepared to pay Ferrari prices and have a Ferrari mechanic on staff.
Even with MySQL 4.0, we have customers building applications that have many Terrabytes of data. Some of these are very sophisticated data warehouse applications, reporting systems, transaction systems, and so on. Because of our fast performance and reliability, we’re helping organizations like Adobe, Sabre, NASA, Associated Press, Google, Evite/CitySearch, Lufthansa and millions of others.
What other products do you have available and how do you market these? Does offering MySQL as a free product allow you market these other services more effectively?
We offer MySQL under a "dual license" approach. Companies that would prefer not to be restricted by the requirements of the GPL open source license can have a direct commercial relationship with our company. Not only do we provide the MySQL server under a dual license, we have graphical tools for managing the database, such as MySQL Administrator and the recently released Query Browser, which is a great way to edit data, perform interactive queries, and debug queries.
We also provide support, training, and consulting services. We’ve been growing rapidly in this area and to make sure we can provide 24×7 support and guaranteed response times. That’s one of the nice things about having a company behind our product: users get the best of both worlds. This approach helps us produce better software at a lower cost. We get more QA than any other database in the world, and the quality of our product shows that. A study by Reasoning Inc showed that MySQL had 1/6 the defect rate of other, closed source products. I think that statistic speaks to the power of open source!
What kind of work goes into the development of MySQL Database Server and your other products (MySQL Administrator, for example)? How do you manage development, feature requests and bug fixing?
We use an Agile development process based on a thirty day scrum development cycle. This means that developers have clearly assigned tasks that they need to complete, and they routinely check in code. We try to "build early and build often" so that there’s always a good version of the every project, even when we’re in the alpha stages. We use the bitkeeper source controls system, which works well for us as we have such a distributed environment. We have employees in 19 different countries, so we needed a solution that made it easy to merge code from many different sources.
We track all the bugs that people submit to bugs.mysql.com. We also have a special support system for our customers called eventum (which is also open source). This system makes it easy for our support staff to track issues and follow up with customers. And we track every idea, suggestion and feature in our own worklog system.
How closely do you work with the Web development community (specifically PHP developers) to ensure the changes your team makes are the changes they want?
We’re always gathering information, whether it’s at our own user conference, industry events like Oscon or LinuxTag, other events, or online. Quite a few of our guys are really plugged into the open source community, so that makes it pretty easy.
Many of our developers and engineers monitor our forums at http://forums.mysql.com. We’ve recently taken one of our senior docs and training guys, Arjen Lentz, and made him our Community Relations Manager, so he’s always looking for input from folks. Of course, feedback during alpha and beta periods is also critical to our success.
How do you view open source software as a means of releasing products from a commercial point of view? In your opinion, can it offer a viable, sustainable, business model?
We believe that not only is open source compatible with business, but that open source is only sustainable if there is a business model. Linux really took off when companies like IBM, HP, Oracle and others embraced it. Similarly, we see even more startup companies using open source, and more exploration of business models, whether it’s the dual license approach that we have, a services business model like Novell or JBoss, a subscription business like Red Hat, or some other combination.
In the end, companies that adopt open source don’t want to give up the quality of support that they’re used to receiving with commercial offerings. Sure, they want lower TCO and the kind of freedom from lock-in that open source provides, but they don’t necessarily want to have to support every fix themselves. So they will look to commercial entities to provide support, training, consulting, indemnification and so on. A few years ago, "open source business" sounded like an oxymoron — like "government intelligence"! But now I think it’s clear the two can be very compatible together.
When MySQL was originally started, what visions did co-founders Michael "Monty" Widenius and David Axmark have for the product? Did the formation into the company come later?
Monty and David were working together on various consulting projects in the data warehousing space, and that’s where the original need for performance and reliability came from. Eventually, Monty decided that he wanted to have an SQL layer on top of his engine and that’s how MySQL was born. It has always been open source, but it has also always been a commercial entity.
In the early days, I think they were so busy implementing features and responding to users that it was quite difficult to get someone to take orders, but eventually they hired some additional people who could focus on the business side — and it’s been growing ever since — but it’s always been under a dual license and it’s always been a business.
We love the open source model, but it has never been a charity or a cult. We just see it as a better way to do business. And we’re happy that, after so many years, Monty and David are still very active in the company, writing code and promoting our open source business model.
How do you see MySQL (the company and the database server) in the short and long term future? What new developments can you reveal?
One of the new things that we’re really excited about is MySQL Cluster. This is a technology that we acquired from Ericsson about a year ago to provide a highly-available "five 9’s" database that provides 99.999% up time. This is very sophisticated technology and, instead of keeping it proprietary and closed source, we made it completely open source. That’s a huge gift to the open source world. MySQL Cluster is available as part of MySQL 4.1, and we’re very excited about that. We encourage customers who want high availability business critical applications to download it and give it a try.
We’re also always looking at ways to make our database easier to manage and monitor — to make it "smarter" about helping developers and DBAs who don’t have time to become experts in MySQL. Maybe they’re already overloaded with other tasks and they want to know if they’re doing things right. Or, perhaps they want to be notified if there’s an update to a certain feature that they’re using. These are some of the things we’re looking into.
Is there anything else you would like to add?
If you haven’t taken a look at MySQL 4.1, check it out. It’s got a lot of great new capabilities, like prepared statements, that can really improve performance. And, if you have suggestions or ideas, post a message on our forums at http://forums.mysql.com. I hope we’ll see many of you at our user conference in April in Santa Clara, California, that will be jointly produced with O’Reilly. I think it’ll be a lot of fun — we’re lining up some great hands-on sessions there. You can get more information about our conference at http://www.mysqluc.com. Thanks for your interest and support of MySQL!