News

Q&A: Zend Co-Founder Weighs in on PHP and Microsoft

Andi Gutmans talks about the new PHP framework, Yahoo and open Web standards.

Andi Gutmans
Andi Gutmans
As an undergraduate at Technion ITT in Israel, Andi Gutmans worked on a "shopping cart" project for extra credit with another student, Zeev Suraski. That sparked an interest in the Web and discovery of PHP/FI, PHP's predecessor. The two students liked PHP SI, but they had just finished a compiler course and thought they could do better. Zeev and Andi rewrote the PHP core and started their own company.



Today, Zend Technologies (the name is a compilation of Zeev and Andi) leads the PHP community. Using a hybrid business model, the company sponsors the open source Zend Framework, a Web app framework based on PHP 5, and supports a certified PHP distribution called Zend Core. We recently spoke with Chief Technology Officer Andi Gutmans about the updated framework released this month, open source and Zend's partnership with Microsoft.

Microsoft is talking about MVC as an ASP.NET option. What does the Model View Controller pattern allow you to do in the Zend Framework?
Basically what Zend Framework has already had for the last year and a half is a really respectable MVC pattern, and what that allows you to do is to separate your business logic from the presentation layer. That is kind of the simple thing it allows you to do, but in most cases, including ours, it also allows you to create composite views. So if you have an application that has two or three different pieces of information on the same Web page, it allows you to build those kinds of Web pages in a very modular way.

Also, what our MVC does is it supports AJAX, so if you are writing a rich Internet application with JavaScript on the client, there is already the right plumbing in our MVC framework to communicate with the browser and respond to AJAX requests from the browser.

Is that functionality new in 1.5?
Almost all of the AJAX functionality is new in 1.5, but a small piece of it existed before. We also have a new forms feature which allows you to build forms very easily and that coupled with the AJAX support really helps you build out business apps quickly and in a very kind of generic way.

In the new version, you also have support for Open ID and Microsoft InfoCard.
One of the trends that we've been seeing is Identity 2.0, and the Internet definitely lacks that kind of central authentication and single sign-on. We looked at getting that Identity 2.0 story inside of Framework and so we worked with Open ID.

At Zend, we have good contacts within Microsoft and they actually worked with us to get a good input of Information Card into Zend 1.5. It's really nice to see Microsoft contributing to an open source project. We had IBM and Google, but you know Microsoft hasn't really been contributing to other people's open source projects so this was obviously a big thing for us.

What is the latest on your interoperability partnership with Microsoft regarding the Windows platform?
In the past year and a half, we've really been working closely with Microsoft to make sure that PHP works well on Windows platform, and as part of that work they implemented Fast CGI support for IIS and we optimized PHP on Windows. And with the release of Windows Server 2008 both of these efforts come together: FAST CGI ships with Windows 2008. And we have a product called Zend Core, which is our certified PHP distribution. We have worked with Microsoft to make sure that Zend Core is certified to work with Windows Server 2008. So now customers can come to Microsoft or Zend and get a PHP stack that is ready for running business critical applications on Windows.

How similar is the PHP model to Microsoft's ASP.NET? As a Microsoft shop, what advantages, if any, would PHP offer me?
They are similar in the sense that they address some of the same issues, developing for the Web. And as you mentioned, Microsoft is also offering some MVC support. I think the main difference is that PHP is a heterogeneous solution. It runs on all operating systems and all Web servers. It works out of the box on almost every database. When you go to use part of the Microsoft stack, you tend to stay within that stack.

I think the big advantage to customers who chose PHP -- and we have a lot of enterprise customers that have very heterogeneous environments -- is that they can use PHP on all of their systems. A Fortune 500 customer of ours -- a very big Microsoft customer, a very big IBM customer -- they have mainframes, system i, Unix and Windows and they can now put PHP on System i [formerly known as IBM ‘s AS/400 midrange server], expose a Web service with PHP, put PHP on Windows and consume it on Windows. It gives it a lot of flexibility.

What did you think of Microsoft's February 21 announcement about interoperability principles, basically opening up some of its APIs and technical documentation? What was the general reaction in the open source community?
This is obviously a multi-dimensional issue. I think on the one hand there is obviously, the legislation, especially in Europe, which is kind of forcing Microsoft to do that. I do think there is another constituency within Microsoft which actually believes that opening up more and becoming more heterogeneous is obviously going to benefit Microsoft. Because the ecosystem around the Windows platform is then going to be able to emerge that is going to add value to the Windows operating system. I think overall in the open source community, people have been cautiously optimistic about it. I think in general it is a good thing. I think it is a step in the right direction but I do think that there are a lot of details which aren't clear today.

It really all depends on which pieces, which technologies, and which protocols are going to have patent royalties attached and which ones aren't -- so the devil is really in the details. If each of those protocols and APIs has patent royalties associated with them, then I don't think the open source community is going to be very enthusiastic about it. Because saying that you can use them in open source but that you can't do commercial distribution -- like Red Hat or Zend is doing with Zend Core -- then it basically means that no one is going to have any interest in it. That's also one thing that I've been pressing Microsoft on, is to make sure that they are very transparent and honest and clear about exactly which pieces fall under patents and which ones don't.

Is that something that they seem amenable to doing?
Yeah, I think they do but I don't know if I am going to like the answer. They've told me that they are going to be more transparent about their patents and which pieces of their protocols cover those patents but we are going to have to see after they release that information.

I was at MIX too and I noticed that in all these sessions and in the keynotes they kept referring to themselves as the new open Microsoft…
I'll give you an example. Let's take e-mail servers. Today you can connect an e-mail server through POP3, or to an Exchange server through their MAPI protocol. Right now, you can connect POP3 for a million mail readers to connect to a mail server. When Microsoft opens up MAPI, if they are going to ask people to pay royalties for that connection, it is not going to make a lot of sense, and I don't think the open source community is going to be very happy about it. I also think that it is going to be to their disadvantage because Microsoft should really understand that getting as many solutions to connect to their platform as possible ultimately adds a lot of value to their platform. I'm not sure that everyone at Microsoft understands that -- I think there are a number of people there who do.

In your blog, you talked about MIX08 and your fears about Silverlight's success and that "technologies like Silverlight and even Flex might work against an open Web." Can you explain what you meant by that?
What we have to be careful about is that innovation is happening as an open standard. So things like JavaScript and HTML are open standard and the various browser vendors can implement them and can run them on any platform. The risk with something like Silverlight succeeding too much is that it is not an open standard. Microsoft decides which platforms are supported. So today, it is really Windows and Mac and kind of Linux with the Novell relationship, but it wasn't planned last year when they announced Silverlight 1.0. So it means that if you are on a mainframe or System i, or any other Unix system, you might not have that available. I really think the foundation for the Web, whether it is HTML, JavaScript or whatever comes afterward -- you should make sure those things are open standard so that all the different browser implementations can support them.

Someone at MIX described Web development as building the Taj Mahal out of wire and Popsicle sticks, basically using older technologies and trying to make them do things they weren't meant to do. What's your view of Web development today and how do the different versions of PHP fit into that?
I think that is a very good question. In general, we have always viewed PHP as a glue language. One of the reasons that PHP has become so successful is that it is very easy for people to adopt. You can develop Object Oriented with it or you can develop in a functional paradigm with it, so anyone can pick it up. And it is very easy with PHP to get at any database, any Web service, any information assets in your company. And so this whole notion of gluing your various assets together has always been PHP's main strength, which is why it is so dominant today.

Where we are going is we are continuing down the same path. So we are continuing to extend how you glue all your various assets together, so the interoperability with the browser with AJAX, the interoperability with Web services.

With PHP 6, we are going to have more internationalization support. The world is becoming flatter; a lot of companies are global businesses today. They need to be able to expose data and content in multiple languages. A lot of it is really more of the same, but we are continuing to evolve as the Web is evolving.

Are you working on PHP 6?
Zend is contributing to PHP 6. We are also contributing to PHP 5.3, another major/minor version, which is actually planned for this year. PHP 5.3 really has a lot of the strong features that we were planning for PHP 6. We decided to release a bit quicker, and then in parallel we continue to work on PHP 6.

If Microsoft's bid for Yahoo is successful, how would Yahoo's PHP development fit with Microsoft's Windows culture? Would this acquisition mean anything to the PHP community at large?
I do think that, over time, it is probably likely that Microsoft's influence will trickle over. You might see more use of Microsoft servers in production, so they might start running PHP on Windows. You might see more with Silverlight and, who knows, eventually over time when they start a new big project, and it is rewritten, there is probably a likelihood that they might choose ASP.NET before PHP. So I do think long term it could affect how PHP is being used at Yahoo. I think for the next couple of years, there probably won't be a lot of influence there.

Reader Comments:

Add Your Comment:

Your Name:(optional)
Your Email:(optional)
Your Location:(optional)
Comment:
Please type the letters/numbers you see above