Datasheet

14
Part I PHP: The Basics
Genuinely open source software like PHP cannot seek to limit the purposes for which it is
used, the people allowed to use it, or a host of other factors. The most critical of these rights
is the one allowing users to make and distribute any modifications along with the original
software. In the most extreme case, where one or more developers decide to release a sepa-
rate, complete version of a piece of software, this practice is referred to as code forking.
If somewhere down the road you develop irreconcilable differences with the PHP develop-
ment team, you can take every bit of code they’ve labored over for all these years and use it
as the basis of your own product. You couldn’t call it PHP, and you’d have to include stuff in
your documentation that gave due credit to the authors the rationale is that source code
distributions make it next to impossible for any single person or group to hijack a program to
the detriment of the community as a whole, because every user always has the power to take
the source and walk.
Users new to the open source model should be aware that this right is also enjoyed by the
developers. At any time, Rasmus, Zend, and company can choose to defect from the commu-
nity and put all their future efforts into a commercial or competing product based on PHP. Of
course, the codebase up to this point would still be available to anyone who wanted to pick
up the baton, and for a product as large as PHP that could be a considerable number of vol-
unteer developers.
This leads to one other oft-forgotten advantage of open source software: You can be pretty
sure the software will be around in a few years, no matter what. In these days of products
with the life spans of morning glories, it’s hard to pick a tool with staying power. Fans of OS/2,
Amiga, NeXT, Newton, Firefly, Netscape, BeOS, Napster, and a host of other once-hot technolo-
gies know the pain of abandonment when a company goes belly-up, decides to stop support-
ing a technology, or is sold to a buyer with a new agenda. The open source model reduces the
chances of an ugly emergency port in a couple of years and thus makes long-term planning
more realistic.
Many extensions
PHP makes it easy to communicate with other programs and protocols. The PHP develop-
ment team seems committed to providing maximum flexibility to the largest number of users.
Database connectivity is especially strong, with native-driver support for about 15 of the most
popular databases plus ODBC. In addition, PHP supports a large number of major protocols
such as POP3, IMAP, and LDAP. PHP4 added support for Java and distributed object architec-
tures (COM and CORBA), making n-tier development a possibility for the first time. PHP5
extends this support even further, offering a fully incorporated GD graphics library and
revamped XML support with DOM and simpleXML.
Most things that PHP does not support are ultimately attributable to closed-source shops on
the other end. For instance, Microsoft has not thus far been eager to cooperate with open
source projects like PHP. Potential users who complain about lack of native Mac OS 9 or .NET
support on the PHP mailing list are simply misinformed about where the fault lies.
Fast feature development
Users of proprietary Web development technologies can sometimes be frustrated by the
glacial speed at which new features are added to the official product standard to support
emerging technologies. With PHP, this is not a problem. All it takes is one developer, a C
compiler, and a dream to add important new functionality. This is not to say that the PHP
03 557467 ch01.qxd 4/5/04 11:06 AM Page 14