Yahoo on Cherokee

This interview was originally published in Yahoo's technology portal:

This is the translation of the interview.

Alvaro Lopez Ortega
"We want Cherokee to do what the 95% of people expect from a Web Server"

Alvaro Lopez Ortega is an engineer, born in Madrid, who has designed a Free web server, which he has named Cherokee as a humorous wordplay on the well known Apache project.

What is the Cherokee Server?

It is a fast and flexible Web Server, completely based on loadable modules. By default, Cherokee only loads small modules of functionality that have been listed in the configuration file. This architecture keeps Cherokee as small and fast as possible, hence preventing it from wasting machine resources.

What are Apache's shortcomings? What is your motivation to create Cherokee?

There are many differences. Basically the target of both projects isn't the same. Cherokee aims to meet the needs of almost all the people who use a web server; we want Cherokee to do what 95% of the people expect from a web server, and we want Cherokee to do it in the best possible way. The 5% corner cases aren't targeted to be covered. If we tried to support those few cases, the overall performance of the server would decrease, and I would likely to make the error of generating over-sized and slow software. Besides this difference between the target of the project, there are many technical differences. In some case, we have implemented some quite new features. We try to keep investigating and testing new ideas. Some of new features were first implemented inside the project and now it is possible to see them in other Free Software projects. This is something of which I'm specially proud, we aren't only writing a new Web Server, but we are also having new ideas.

Do you think that Cherokee will substitute Apache? What is its deployment progress?

The target of Cherokee is not to substitute Apache. Cherokee provides some advantages over other web servers, and over time, that will change the general scene until the moment in which both of them coexist together. I foresee a heterogeneous environment in which Cherokee works with other servers. The deployment is going quite well, however I haven't detailed information about it. Being Free Software as it is, it isn't easy to know how many people have downloaded it, because besides the downloads from the main web and ftp sites, there are mirrors and operating systems that include Cherokee in their package sets. What I can say is that every days there are more people involved in the project, more questions in the mailing list and more people sending feedback, which indicates to us that the project is growing healthily.

In which ways do people collaborate to improve the "invention"?

In many and very varied ways. There are people who use it and send comments about their experience, people who propose new functionality and help with the public discussion and the decision making. There are also technical skilled people who report problems (in some cases they attach the needed changes to fix them up) and people who translate the server documentation. What is also important is the collaboration we receive from some enterprises which base some of their services in Cherokee. Usually the collaboration is based on donations to the project with which we have been able to launch a bounty hunting program. This initiative (that is still running!) entails compensating the people who accomplish any of the proposed tasks. There is a list in the web site with some of the functionality we want to add to future releases and a fixed bounty with each entry. Usually people who work in Free Software projects do it for many reasons, but only a occasionaly for economic reasons. In any case, I think it is fair to do it as for as long as we are able to keep the bounty hunting program alive. Besides, "nobody gets bitter by a sweet", isn't it?

In which Free Software projects have you participate?

Before I started writing Cherokee I wrote a few other free programs. I guess the most used one was GNU Macchanger, which became part of the GNU project. Besides, also in the technical field, I collaborate in the GNOME project (it is part of my work). Another kind of contribution, this time non-technical, has been to participate in Free Software related congresses and events trying to promote it. In http://www.alobbs.com/conferences there is a list of some of them.