Bug 7359 - Begin migration to a new "Koha" namespace from the old "C4" namespace
The Koha namespace is for Perl modules that meet the following mandatory
conditions:
* use "strict" and "warning" pragmata
* include valid POD
* include complete and functioning documented test cases
* not create circular dependencies
* use Object Oriented (OO) style everywhere possible
* minimize exports
* maintain mod_perl, etc. compatibility
* separate data access methods from business logic
Modules in C4 can use (and are encouraged to use) routines in
the Koha namespace. Modules in Koha should not in general use C4
modules; any C4 module that is safe to be depended on by a Koha
module is a candidate for being renamed to Koha.
The advantage of carving out a new namespace is that it doesn't
require that we refactor the entirety of C4 to support persistance or
to untangle the dependency tree. Instead, the only C4 code we would
have to reimplement for the Koha namespace right away would be
authentication, basic session management, and basic output.
(Gratuitous use made of gmcharlt's recommendations found in the
post mentioned below.)