David Mytton

Interview – Zeev Suraski and Andi Gutmans

Published (updated: ) in Uncategorized.

PHP 5 is a very popular point for discussion within the PHP community. With the 3rd Release Candidate released on 8th June (2004) and the Zend PHP 5 Coding Contest, it is easy to see that the full stable release of PHP version 5 is just around the corner.

At this very late stage of development, I managed to obtain an interview with the two original creators of PHP and Zend – Zeev Suraski and Andi Gutmans – to find out more about their lives as developers of possibly the most popular web programming language ever!

The interview focuses mainly upon the roles of Zeev and Andi within Zend and the development of PHP.  They would like to stress that PHP would not have been as good and popular as it is today without the combined efforts of the PHP development community, and the collective input from the massive PHP user community. 

1. Firstly, can you tell us a little about yourselves, and your involvement with the PHP and the Zend development team? What first got you into software development and what is your programming background? What got you into developing applications such as the Zend products and PHP itself?

Andi and I created the language in 1997, when we needed a solution to implement a shopping cart project for University. Some ideas were borrowed from PHP/FI, a tool that we tried to use beforehand, but that proved to be far too limited and unreliable for our purposes. Our project fixed most of the shortcomings of PHP/FI, and was built on top of a reliable infrastructure, that was highly extensible.

At some point we realized that what we had in our hands was of great value to many other people around the world, and decided to release it for everyone to use. Within about a year, PHP replaced PHP/FI completely.
Since then, we’ve been developing and maintaining the core engine of PHP, the Zend Engine, as well as much of the infrastructure code of the language. In the past, we’ve also been involved in writing some of the foundation modules of PHP, such as database modules (MySQL, Sybase, PostgreSQL) and others.

Both of us hold bachelor’s degrees in Computer Science from the Technion, Israel Institute of Technology.

2. How long has Zend been running and what made you decide to start developing the Zend encoding/performance system as well as the other Zend tools, like Zend Studio? Did it just start off as a few people working on a small system? How do you manage such a large project now? Does everyone work in an office or is it entirely web based?

Zend Technologies was founded in November 1999, about 4.5 years ago (now I feel old!) The plans to develop deployment and performance solutions existed even before the company was founded, and actually reflected market demand. When PHP started gaining momentum, Andi and I started receiving requests from companies that began using PHP for commercial endeavours. This was the main motivation behind starting Zend – coming up with commercial solutions for commercial users of PHP.

The story behind the Zend Studio is slightly different. Because neither of us ever had any kind of experience with the development of GUI applications, we never even thought about this direction. We decided to start developing a good IDE (Integrated Development Environment) for PHP only after Doron Gerstel (Zend’s CEO) came back from one of his first business trips to the U.S. – with a very wide-spread complaint he heard from many PHP users: PHP is seriously lacking good development tools! We’ve been working on the Zend Studio ever since. 

Zend in the beginning was just a handful of people – Andi Gutmans and myself, Doron Gerstel and two more developers. We did our best to create a ‘conventional’ company from day one, working together in the same office, spending lots of time talking to each other using simple air vibes, instead of electronic mail – which was a good decision in my opinion. It certainly helped us create a unique company atmosphere. While we do make a few exceptions (we do have a couple of developers working for us off site) – most of our projects are developed internally, and even the people who work off site come over to visit every once in a while.

3. How do you prefer to work when developing? Long hours broken up by long breaks, steady daily progress, or otherwise? What kind of work is involved in the development of such well known and widely used products?

It varies, depending on the season, my mood, and probably some other factors I don’t even realize… Typically, we try to avoid working in ‘burst modes’, and work according to our plan. As always – life is stronger than any plans you make – so there are exceptions – but we do strive to make them as rare as possible.

The challenge is that many of us at Zend wear two hats – development of the open-source PHP on one hand, and development of commercial products on the other. The two paradigms are quite different, but we were quite successful at adapting to both of them and switching back and forth, sometimes through the course of one day.

4. Is Zend a full time job? When you’re not coding or managing the project, how do you like to spend your time? Does programming impact on your social life in any way?

For Andi and me, Zend is much more than a fulltime job – it basically never ends! We work long hours, evenings, weekends, and we also worked nights a few times. We like being involved in many different aspects, from making business decisions, designing components in our products or PHP, and all the way to actually writing lines of code.

In my (scarce) free time, I like going on trips, bicycles rides and watch good movies. I also enjoy cooking, a hobby I adopted just in the last year.
Our job at Zend definitely affects my social life in the sense that I don’t have that much time left for it, so I try to make the best of the little time I do have. On the flipside, working at Zend has allowed me to meet and work with an enormous amount of people, from all over the world – so I think it made my life much more diverse, too.

5. What are your favourite development tools (e.g. text editors, project management, source code maintenance)? What operating system do you use most and why?

Depends on what I’m developing. For C/C++ development and debugging, I prefer Visual C++ version 6. I’ve been working with it for years, and I’m extremely productive using it. I never got used to the newer .NET versions though.

For Java development – my favourite is IntelliJ IDEA – a environment that was so powerful and easy to use, that it allowed me in the past to develop several components with very little prior knowledge of the system, and even Java itself.

For PHP, I guess it goes without saying – I use the Zend Studio. I especially like jumping on a brand new application I know nothing about, clicking the Zend Studio IE Toolbar’s ‘Debug’ button, and fix problems in a breeze.

The main operating system I use is Windows – until recently Windows 2000, and now XP. The main reason is that the key applications that I use (my favourite Email client, Visual C++, several graphics applications) are Windows specific. That said, I also have Linux installed under VMware, which I use very often to develop and debug parts of PHP and Zend products. I’ve been using this configuration for many years now, and it’s been working very well for me. 

6. Why do you think your products stand out amongst the many other development tools, performance engines and the encoding systems?

At the risk of sounding too much of a business person, I think that Zend’s products stand out because of innovation. Zend is the company that sets the tone, and Zend products are the basis on which all of the other PHP related applications are benchmarked. When you use the Zend SafeGuard, you know that whatever new feature comes along, you’ll see it first.

Equally important is our inner knowledge of PHP, the Zend Engine, and the PHP community. No other company producing PHP products has the creators of PHP on board, and so many key figures in the PHP development community, including Stanislav Malyshev, Dmitry Stogov, Steph Fox and more.

Finally, as a result of these two factors – I believe that each of the Zend products is the best at its category, in terms of performance, productivity and reliability.

7. What kind of work goes into developing the PHP language? It is such a popular web scripting system now, what is your inspiration?

I think that the simplest way to answer it is that we did our best trying to figure out what developers of Web sites would want and need. We tried to learn from the mistakes of other scripting languages such as PHP/FI and Perl, and create something that would be much easier to learn and use than compiled languages such as C++ and Java. We invested a lot of thinking as to what not to put into the language, just as much as we thought about what to add in. We invested a lot of efforts to make PHP easy to extend – so that it will be able to take advantage of the many bright minds around the world that want to improve it.

Combining all of that together with a few ounces of luck and good timing – I guess we did a fair job!

8. What is your stance on open source software? Do you believe in both worlds?

Now that’s a tough question. The answer to the second question is, yes, I believe in both worlds. I think PHP, which is a very innovative piece of software, and represents tens of thousands of combined brain hours, is a perfect example for a good open source project. It is not a clone of anything; it was conceived and developed as a solution for a problem which was unanswered beforehand.

I have less sympathy for open source projects that do nothing but clone commercial products. I’m not sure if people realize that actually writing the source code is the simple part of coming out with a software product. Coming up with the idea, analyzing it, designing the interface and making it usable – are the difficult parts. The problem with some open source projects, too many in my opinion, is that they do nothing but clone the implementation of a certain product, and release it for free. That makes the lives of commercial companies more difficult, and in a bad way – a way which in the long run, may prevent them from allocating resources to inventing and designing new products.

To summarize, I think open source is a great way of creating new solutions, but I find open-source-cloning of commercial projects a bad practice.

9. How do you think the Zend products enhance the PHP software that is released? Why do you think they are important tools in any developer’s toolbox?

The Zend products are, in my subjective but fairly informed opinion, the best of their kind. The one product that should really be in every developer’s toolbox is the Zend Studio, which dramatically improves productivity, shortens development cycles and reduces maintenance efforts. Every person dealing with PHP should be using it – at least the free Personal Edition if you cannot afford the commercial one.

The other products are geared more towards companies; The Zend SafeGuard Suite is the best solution for distributing commercial PHP apps, and the only serious solution for enforcing license limits on PHP applications. The latest version opens new possibilities for PHP-based ISVs, by allowing them to price their applications in correlation to the expected load on the site. This way, they can charge small companies a small fee, and larger companies a larger fee. It also allows them to ‘grow’ with their customers, instead of setting a high entry price, which often scares customers away.

Finally, the Zend Performance Suite is the ultimate performance management solution for PHP. It’s geared towards enterprises that have highly loaded servers, and provides a variety of ways to reduce load, improve response times and maximize the investment in existing software/hardware infrastructure.

One of the advantages of Zend’s offering is that it provides a single, integrated solution for all of the stages in the lifetime of a PHP application – from development, through distribution and all the way to deployment.

10. What plans do you have for the future of Zend to keep it ahead of future competitors?

Due to the nature of this world, we cannot really disclose any details 🙂 We’ll stay on the cutting edge, and grow our product offering based on new trends that we believe in, as well as market feedback. We have plans for both our existing products, as well as several new products, that will change the way PHP is being perceived and used.

11. PHP5 is coming up on the horizon and with that, a much more streamlined language pointed in the direction of object orientated programming. What do you see as the web based product for the future? How do you think the web, and the people developing for it, will change?

I never considered myself to be much of a prophet, and frankly, I think that the amount of proclaimed visionaries that actually get it right consistently is quite small. With this disclaimer clearing me from any future “640K should be enough for everyone” statements, I think we’re going to see Web applications becoming richer and richer, and the net entering literally every aspect of our lives. I already set up an entertainment center in my living room that (which will actually work once I finally get down and tweak it) will allow me to schedule recordings from work, using PHP. There are already Web-enabled fridges. I think that in recent years the general feeling is that as far as technology is concerned, we already live in the future, and it’s just getting better all the time.

PHP 5 is going to have a very big impact on both the perception of PHP as a commercial grade solution, and the adoption rates in the bigger companies. With the Zend WinEnabler, allowing companies to use and deploy PHP under Windows, the platform question is taken out of the equation, opening an even wider potential market for PHP. Things definitely look promising.