Sunday, July 01, 2007

Zend Framework 1.0 Released!

In October 2005, Zend announced an initiative called the PHP Collaboration Project. I bet some at Zend don't even know this page still exists but thanks to Google for helping me find it :) The goal was to take the art of PHP to the next level and do it in a collaborative way both with the open-source community and commercial partners. As part of this initiative we launched three different projects; a new developer zone, a PHP project at the Eclipse Foundation, and Zend Framework (ZF).

We have already launched the Zend Developer Zone and PDT 1.0 is scheduled to ship in the fall. While those two projects are a critical piece of the overall initiative I am especially proud to announce the Zend Framework's official release. I think the ZF has really fulfilled all the goals we had for this project and then some.

Foremost, we set out not to build this on our own but to collaborate both with the community and with commercial companies. It's been a pleasure to see the enthusiasm and contributions from all over, big and small, contributing code, tests, documentation, translations (we have over 16(!) translations), and more.

Second, we had a goal of high quality. Actually we've been somewhat PITA when it comes to that. From the outset we believed that it'd be hard to achieve quality without a very strict development process and a centrally orchestrated architecture. I believe this has paid off greatly. Not only from the testing point of view (~90,000 lines of unit tests for ~140,000 lines of code) but also in successfully meeting the design goals.

Which brings me to the third goal which we call "extreme simplicity". Our goal was to try and make sure the outcome is aligned with PHP's main strength - ease of use. There's no point in creating a super-duper framework if it's too hard to use (J2EE come to mind). In contrast, we tried to simplify wherever we could even at the expense of not having every niche feature people might need. Instead, we tried to design our work in a way which was flexible and easily extensible. This way, the majority of users would be perfectly happy with what they get but users with very specific needs would be able to extend and add their functionality to our solid foundation. In addition, we deliver what I call a "use-at-will architecture" which is the opposite of the "my way or the high way" paradigm which some other projects follow. We believe that PHP's install base is very diverse and therefore it makes sense to give people a choice of what pieces of the framework they want to use so that they can mix-and-match with other solutions.

For those wondering, ZF 1.0 is not the end of the road. There are still many things which we want to do which we didn't have time to do in time for the first release. Fortunately we had already seen so many of our users in production with pre-1.0 bits (incl. some big ones) we realized it was most important to bless and finalize the existing functionality as opposed to expanding. We've mentioned some thoughts on the ZF Roadmap page. In addition, there are many interesting ideas and proposals constantly coming in from the community. We will continue to evaluate all of this through the same set of lenses we have used so far. Our goal is 20% of the functionality which answers 80% of use-cases (ok it's probably more like 40%/90%) and only features which we really think we can do well. We believe this is the only way for us to provide a rock-solid high-quality and easy-to-use foundation to our users.

A few days ago I was asked whether the Zend Framework is everything I had envisioned it to be. It isn't; it has far exceeded my expectations. First of all we've managed to build a great community of both contributors and users. We have close to 250 people who have signed up to contribute to the project and the pace is growing very rapidly. It's been a great experience getting this support from the community. Also, I would have never thought that we'd have so many adopters of the framework even before the official release incl. Right Media who have generously agreed to be featured in a case-study and some much bigger companies who's names I can't mention yet who will hopefully be willing to do the same over the coming months. Also, while the plan was all along to get commercial supporters on board, I must say I'm extremely pleased that we have the likes of IBM and Google directly contributing to ZF. It's been a true pleasure working with them and there are more such companies in the pipeline who are looking at contributing to the project.

I'd like to thank everyone who has helped get this product out the door. Foremost the Zend Framework development team which has worked incredibly hard in getting this out the door especially in the weeks leading up to the release, the large community of contributors (incl. some fellow Zenders who are not officially on the team), the various commercial companies who have given us their support, and all the many other people who have helped make Zend Framework the success it already is (bloggers, press, conference speakers, user groups, analysts, marketing folks, graphic designers, and the list goes on). There are truly hundreds of people who have helped out over the past couple of years, far too many to mention here (or to remember :)

Last but not least, if you're using ZF let us know about it. We are looking to learn as much about our users as possible and where applicable feature them in case-studies and other fashions. Also, we made some logos available so that you can help spread the word.

Happy ZF'ing!
Andi

P.S. Some of you may have already seen our really cool Zend Framework T-shirts. We have made them available at cost price so that everyone can take part in celebrating the release with us.