The world's most popular open source database
Lenz Grimmer is a member of the community relations team at MySQL AB. He lives in Hamburg, Germany and has worked for MySQL since April, 2002. Before joining the community team in December 2005, he was a member of the release engineering team that is in charge of creating the official release builds of the MySQL server.
I recently had the pleasure to get in touch with Kai "Oswald" Seidler from the Apache Friends team. He is one of the people behind "XAMPP", an easy to install software distribution containing MySQL, PHP and Perl which is available for Linux and Windows. The project also added support for Mac OS X and Solaris recently, but these ports is still in an early beta stage.
A few days ago, Apache Friends released XAMMP version 1.5.1, which includes up to date versions of the AMP components: Apache 2.2.0, MySQL 5.0.18, PHP 5.1.1 and phpMyAdmin 2.7.0-pl1.
This sounded like a good opportunity to touch base with them - Kai was kind enough to answer a few questions about himself and the XAMPP project.
Q: Please tell us a bit more about yourself and your background.
In 1989 I started to study Computer Science at the Technical University of Berlin. Back then I was working mainly with SunOS systems. Some years later, about 1993, I started working with Linux. At that time I installed and ran my first web server ever, using NCSA httpd.
Q: So in Linux terms you have been around almost since the beginning! What got you started with MySQL, and do you remember when that was?
Very late. The first time I got in touch with MySQL was in 1998. I worked as a freelance developer and had to port a PHP application from mSQL to MySQL. Not a challenging job, but that was my first experience with MySQL.
Q: How would you briefly describe XAMPP from your perspective to new users? Why should they consider it? And how do you properly pronounce it?
The main benefit of XAMPP is its easy way of installation. You don't have to care about each single component and with very little effort you'll get a complete and well working AMP stack.
Originally we pronounced XAMPP as one single word, without spelling the single letters. From other people I've learned the way of separating the x, from amp. Personally I like both ways.
XAMPP main page
Q: When did you start working on XAMPP? What was the motivation?
Together with Kay Vogelgesang I wrote a book about Apache in 2001 ("Apache für Dummies"). While writing the book we realized that there is a need for an easy to install software package for amateurs. So this was our main motivation.
In spring 2002, after finishing the book, we started to working on XAMPP and the first version was released on May 22th, 2002.
Q: How many people are currently actively involved in maintaining XAMPP? Could you name a few key people?
About five people are building the Apache Friends core team: First of all there is Kay Vogelgesang. Together with him I founded Apache Friends and started to work on XAMPP. He and Carsten Wiedmann are in charge of the Windows version of XAMPP. Carsten also started to build a version for FreeBSD. Kristian Marcroft and Florian Pollini are maintaining the Mac OS X version of XAMPP.
Of course there are many others, for example helping with the beta testing of XAMPP or doing support in our forums.
My own part is to maintain the Linux and Solaris versions of XAMPP and to take care of the website.
Q: Do you build every component you include from scratch by yourself? Or do you make use of existing binary packages as well?
In case of Linux, Mac OS X and Solaris we compile everything by ourselves. For the Windows version we're using some prebuilt binary packages (like FileZilla Server for example).
Q: Does this apply to the MySQL Windows binaries, too? What do you think of the new MSI installer that we created? Or do you prefer the plain "noinstall" ZIP file for your integration work?
In most cases we also build the Windows MySQL binaries by ourselves. But I also like your MSI installer version: It's the best way for beginners to get MySQL running. Like XAMPP. ;)
However as a professional I personally prefer the plain ZIP file. I grew up with the command line and I'm very sceptical of GUI applications. And especially in case of installer software I'm twice sceptical: You don't know what's happening during the install process and you don't know what to backup. A plain ZIP file is in most cases easier to handle.
Q: Could you give us a rough estimate on how many XAMPP users are out there? What is the most popular platform?
Since September 2002 all XAMPP downloads are hosted by Source Forge which gives us a good overview over our download volume: 3 million downloads in the last three years, and 208.000 downloads during the last month. But we can't really estimate how many XAMPP users do exist.
The most popular platform is - of course - Windows. About 80% of our downloads are for Windows, 18% for Linux, 2% for Mac OS X, and Solaris is less than 1%.
XAMPP Windows Control Panel
Q: Most likely because all other OSes ship with most of these components as part of the OS already. How do you manage to co-exist with these existing packages? Do you require them to be removed beforehand or does XAMPP replace them nicely?
To run XAMPP the user needs to stop a running Apache or MySQL daemon manually. XAMPP will give you an appropriate hint if it finds other running daemons, but it will never make any changes to your system. To protect the user's "running" system all Unix versions of XAMPP are built to run only from a specific directory. For example the Linux version installs into /opt/lampp. Everything XAMPP needs is located in this directory. From a technical point of view it's a little bit like a chroot environment.
Q: XAMPP 1.5 now ships with up-to-date versions of MySQL 5.0 and PHP5. How is the feedback from your users about these versions so far?
The introduction of the new MySQL 5.0 was relatively trouble-free. We had to face much more problems after the release of MySQL 4.1 because of the new password hashing algorithm and emerging implications.
In case of MySQL 5.0 I only remember some problems with SELECT statements, because of changing the parsers precedence of the comma operator and JOIN expression.
We introduced PHP5 in XAMPP about one and a half years ago. At that time there was some confusion about extensions which went into PECL and were no longer bundled with PHP. To avoid problems with PHP5 we furthermore bundle PHP4 with XAMPP and provide a simple mechanism to switch between both versions.
But so far there was no specific negative feedback on MySQL 5.0 or PHP5.
Q: Let's hope it stays like that! In case you stumble over genuine bugs in one of the components you included, how do you work with the upstream maintainers on resolving these? Are you actively contributing patches to any of the projects you distribute?
If we encounter any bugs in one of the components we're doing what everyone should do: Find out if it's a real bug and not only a personal configuration error, report it by the components bug reporting tool.
But as far as I remember we never contributed any concrete patches yet.
Q: What are your future plans with XAMPP? What are your users requesting the most?
Last summer we did a survey within the XAMPP user community asking about their needs. In the first place our users wanted stability. In the second place they asked for security. And on the fourth and fifth place they wanted easy installation and up-to-dateness. So these are our main future targets with XAMPP: being stable, secure, easy to install and up-to-date.
Q: What about requests to add additional components? Have you considered adding the MySQL GUI Tools (Query Browser and Administrator) to the packages?
We are always try to keep XAMPP as small as possible and one of our ways to achieve this, is to avoid bundling applications into XAMPP. If we include the Query Browser, the next one will ask for a HTML editor. And the very next will ask for an IDE package. And so on.
At this moment, there is only one exception to this rule: phpMyAdmin.
Q: Is there anything about MySQL you would like to comment on? Anything we can improve?
Actually we are very satisfied with your product and your service. No other component of XAMPP compiles so smoothly.
Thank you very much for your time and the kind words! Keep up the good work with XAMPP.This interview was conducted via email in January, 2006.