perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Geoffrey Young <>
Subject mod_perl 2.0 namespaces - a proposal
Date Sun, 20 Mar 2005 20:22:58 GMT
As you all well know, the mod_perl 2.0 release process encountered
a substantial obstacle in late December concerning our choice of
namespaces for the 2.0 API.  In January[1] the mod_perl PMC
promised to examine the concerns that had been raised on all sides,
the needs of our userbase, the limitations of the Perl infrastructure,
and other factors.  We promised to set differences aside and take
a hard look at what would best serve all the different parts of
our community so that the product we all love succeeds.

The process has reached the point where discussion ought to move back
into the general community - the majority in the PMC have a proposed
solution and have taken the time to code it so that the community can
give it a test drive and offer constructive feedback before mod_perl
is officially granted 2.0 status.

It makes sense to reiterate the phrase "constructive feedback" again.
In anything technical there will be differences of opinion, and this
topic already has a sour history associated with it.  However, everyone
is expected to behave professionally, with respect and tolerance, from
this point out.  To put it more clearly: anything short of polite,
technically grounded discussions simply will not be tolerated.

For those who wish to understand why we came to make the choices we did,
it really all boils down to this: we simply cannot risk harming our
established mod_perl 1.0 userbase by stomping on their modules on CPAN,
and CPAN is too important and entrenched in its ways to ignore or expect
it to change any time soon.  There were other considerations as well, of
course, but if you need a single reason that is probably it.

To take a look at the codebase you can checkout the following branch
from subversion:

and test and install it as usual.  after installing it you will
want to know about the changes we have made in this branch so
that you can experiment with it within your code.  in brief, here
are the changes to the new branch:

  - you cannot make, test, or install the unstable branch over any
    other version of mod_perl-1.99

  - is now

  - no longer exists

  - all modules formerly in the Apache:: namespace are now in the
    Apache2:: namespace, except Apache-Test and its associated
    modules, which are separate from mod_perl core modules

  - APIs like Apache->request are now Apache2->request

  - constants like Apache::OK are now Apache2::OK

It is incredibly important that you take the time to evaluate the
proposed changes, and do so with an open mind - getting to this point
was difficult and stressful on everyone's part.  If you have issues
or concerns with this path please feel free to raise them.  However,
two things cannot be stressed enough: simply rehashing the old
arguments will get our community nowhere, and saying something is
problematic without offering a real alternative is not being
a part of the solution.


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message