PEAR is short for
    "PHP Extension and Application Repository" and
    is pronounced just like the fruit.  The purpose of PEAR is to
    provide:
    
- 
       A structured library of open-sourced code for PHP users
       
- 
       A system for code distribution and package maintenance
       
- 
       A standard style for code written in PHP,
       specified here
       
- 
       The PHP Extension Community Library (PECL),
       see more below
       
- 
       A web site, mailing lists and download mirrors to support the
       PHP/PEAR community
       
    PEAR is a community-driven project with the 
    PEAR Group as the
    governing body. The project has been founded by Stig S. Bakken in
    1999 and quite a lot 
    of people have joined the project since then.
   
     The code in PEAR is partitioned in
     "packages".  Each package
     is a separate project with its own development team, version
     number, release cycle, documentation and a defined relation to
     other packages (including dependencies).  Packages are
     distributed as gzipped tar files with a description file inside,
     and installed on your local system using the PEAR installer.
    
     There are two types of packages: source packages (containing
     source files only), and binary packages (containing
     platform-specific binary files, and possible source files).
     Installing source packages with C code obviously requires a C
     build environment.
    
     PEAR defines a package tree, where each
     "node" in the tree is
     represented by a part of the package name.  The nodes are
     organized by simple descriptive topics, and each part is
     separated by an underscore.  Examples of package names are
     "MP3_Id", "Archive_Tar"
     and "HTTP_Post".
    
     Packages may relate to each other through explicit dependencies,
     but there is no automatic relation between for example a package
     and its "parent" in the package tree
     (for example, "HTTP_Post" is
     by default independent of "HTTP").
    
     A few top-level nodes in the package tree called
     "sub-repositories" have special functions,
     currently these are
     PECL and Gtk.  For each of these, different
     rules apply, see more in the description of each sub-repository
     below.
    
     A style guide, the PEAR Coding
     Standards (short PCS), exists to ease collaboration
     between PEAR developers, to help quality and portability, and to
     help PEAR contributors to provide consistent-looking-and-feeling
     APIs.
    
     All PEAR packages are registered in and uploaded to a central
     database available at pear.php.net.  Open-sourced
     third-party packages may also be registered and uploaded.
     Closed-source packages may be installed by the PEAR installer,
     but the PEAR database is for open-source code only.
    
     Pear.php.net will provide both a human-friendly (HTML) and
     machine-friendly (currently XML-RPC) interface to the PEAR
     database.  Package downloads are done with plain HTTP.
     Other functions the pear.php.net site will provide are:
     
    
     Packages are distributed as a gzipped tar file with an XML description
     file inside.  The description file contains some information
     about the package, a list of files and their roles, and dependencies.
    
PECL
     PECL (pronounced "pickle") used to be a
     sub-repository of PEAR for
     C extensions "à la" those distributed
     with PHP 4, in fact, having
     somewhere to move extensions to from PHP was one of the
     motivations when creating PECL.  Extensions in PECL follow PHP's
     coding standards rather than PEAR's, but they are distributed and
     installed as PEAR packages.
    
     The process of moving an extension from PHP to PECL is referred
     to as "pickling".
    
     In October 2003 PECL has become an independent project, which
     does not belong to PEAR anymore. (Except for the infrastructure,
     which PECL borrows from PEAR.) More information and all PECL
     packages can now be found on the PECL
     homepage. During the PECL spin-off, the project has also
     been renamed from "PHP Extension Code Library" to
     "PHP Extension Community Library".
    
 Gtk
     Gtk packages are packages that provide software which uses the
     technology of the PHP-GTK
     project. Code in this sub-repository follows PEAR's 
     coding standards.