I began this year with the optimistic outlook that it would be the “year of PHP.” Indeed, little did I know that this hopeful view would come true. With astounding and visionary statements from such prominent figures as Marc Andreessen, who recently joined the board of Zend Technologies, Inc. – “when it comes to the Web and Web applications, Java is not the right language”1 and “PHP is to 2005 what Java was to 1995”1 – the forecast for PHP looks bright and sunny.
Yet, for whatever reason, not everyone in the PHP community is excited about this show of support, and with Zend’s announcement of the PHP Collaboration Project this week at the Zend/PHP Conference and Expo, this sentiment has been voiced on more than one blog. While, I did not have the privilage of attending the conference, news has spread fast, and I’d like to share why I feel that what’s good for Zend is good for PHP overall.
But before I go into much more detail, let me explain my relationship – or lack thereof – to Zend: I have no vested interest or stake in Zend. I am not an investor. I am not employed by them. In fact, I am not close friends with anyone who works at Zend. So, nothing I say here is influenced by a relationship I have with Zend. Yet, nevertheless, I have an interest in the survival of Zend Technologies, Inc. because I have an investment in the PHP language.
What? How does Zend’s survival have anything to do with the language itself? Let me tell you how. The success of PHP in the marketplace directly correlates to the success of Zend. If Zend fails, then PHP fails.
This does not mean that PHP will cease to exist if Zend fails, but it means that there will no longer be an advocate for PHP to the Enterprise. Why do you think Java has been so successful in the Enterprise? Is it because of its superiority as a programming language? Not in the least. It’s because Sun has been there from day one advocating its adoption. Zend is here now to do the same for PHP. And where Zend is successful in convincing the Enterprise of PHP’s scalability and power there will be jobs for PHP developers.
So, now we come to the question of the PHP Collaboration Project, which many are describing as the “Zend PHP Framework.” Since June, I have known that this framework was something that the folks at Zend were cooking up, but, at the time, they were still unclear on how they wanted to approach it. There seemed to be two sides to the coin, as I understood it: 1) the framework would be developed by Zend and used in Enterprise projects, or 2) the framework would be developed, at first, by Zend for Enterprise-grade applications and then released to the community as an open-source project. In either scenario, Zend would be the major driving force in the development of the framework.
Yet, agree with me or not, Zend is committed to the PHP community and the PHP Group, while, at the same time, their corporate goal is to encourage and drive PHP adoption in the Enterprise. To fuse these two ideals, it appears they have created the PHP Collaboration Project not to create a “Zend PHP Framework,” but to foster the development of a community-driven, Enterprise-grade framework. Herein lies the core of what Zend is about: Zend wants to remain true to the community, and by connecting the community to the Enterprise with this collaborative project, they solidify the relationship between the community and the Enterprise and ensure a future job market for PHP developers.
I laud Zend’s commitment to the community, and I commend them on their successes in advocating PHP to the Enterprise. Both the community and Enterprise adoption are important to me, and they should be important to you. Far too often do I see a staunch commitment to the PHP community with an increasingly negative attitude towards the Enterprise. This arises from people’s varying philosophical beliefs and values, but it is detrimental to the job market. I, for one, cannot live without a job, and if the Enterprise takes hold of PHP and starts using it with the same fervor they embraced Java, then I can rest assured knowing that PHP will be around for many years, and I will be able to easily find PHP jobs.
Still, what does this mean for the core of the language? How much influence will these large companies have on the community, and how much push-and-pull will they be able to inject into the language development process? I think this is a worry that is on many people’s minds, and I think it’s a legitimate concern. What pandora’s box has Zend opened by involving the Enterprise with the community? I think these concerns can be assuaged with one word (or acronym, rather): PECL.
More and more, core developers have been working to remove “bloat” from the PHP core and relegate it to PECL, where it can live a satisfying life, free from the controversies of the internals mailing list. Anyone can create a PHP extension and be a part of the PECL community without having to go through the extensive – and often controversial – process of having code accepted into the core. Thus, companies – or developers of the PHP Collaboration Project’s framework – requiring add-ons to the PHP core can easily develop an extension and distribute it via PECL. IBM is already doing this with their SDO contribution, and the Midgard framework uses a custom PHP extension to improve performance. Why is PECL not a not logical and obvious choice for the Enterprise to use? Why must we first assume that companies will request changes to the PHP core and pressure the PHP Group through Zend to make these changes?
Finally, frameworks abound in the PHP community, but after ten years of growth and development, not one framework has stepped out above the rest as a leader. With all the hype surrounding Ruby on Rails, it is obvious that the PHP community is lacking a good, solid framework. It is also clear that the Enterprise is looking for exactly this. If providing an Enterprise-grade framework will spur the adoption of PHP in the marketplace, thus providing more jobs to PHP developers, then I think Zend has stepped foward to show both their commitment to the Enterprise and the community. This is a show of faith to the community; Zend could have easily developed the framework on their own, but, instead, they have invited everyone to share input: community and Enterprise alike.
To Zend, I say, thank you for this opportunity. To the Enterprise, I say, here’s looking forward to a bright future. And to the community, I say, good luck in making this partnership work – it’s all up to you.