CHAPTER 6
Module Maintenance
A
S SOON AS YOU RELEASE
your first module, you become the maintainer of your
creation. A maintainer is the person in charge of the continued development of an
open source project. As maintainer you'll receive bug reports, requests for new
features, and contributions from other developers. It's your job to make decisions
about the direction of the project and release new versions. This chapter will
introduce some useful tools and strategies that can make your job as maintainer
easier.
Growing a User Community
Every successful CPAN module is fed by an active user community. A developer
working alone on a project with no other users has a shelf life of approximately
three releases before moving on to more entertaining work. This can be artificially
extended with various enticements revolutionary zeal, a weekly paycheck, caf
feine, and so on but ultimately an active community is an absolute requirement
for the continued life of a module.
An active user community confers a number of benefits. Users will employ
your module in ways you won't have anticipated. This can be both entertaining
and inspirational; as you and your users see new uses for your module, you'll nat
urally come up with new features to make those uses more convenient. More
fundamentally, users of your module will provide crucial testing for your module,
identifying bugs that you would never have run into on your own.
Although having users is essential, it's not uncommon for a successful CPAN
module to have a single author throughout its life. CPAN modules are by nature on
the small side of open source endeavors and are usually within the capabilities of
a single developer. However, a module whose only developer is also its only user
will not evolve beyond its original conception; it may be a technical marvel, but
without a user community it's doomed to a short and uneventful life.
Since user communities are so valuable, it's worthwhile to spend some time
thinking about what can be done to create one and get the most out of it. More
than half of the effort of building a user community is marketing. The effort starts
with picking a good name for your module, and continues in how you promote
your module, how you involve users, and how you make subsequent releases. Your
users are your customers, and as we all know, customer service is job one.
139
footer
Our partners:
PHP: Hypertext Preprocessor Best Web Hosting
Java Web Hosting
Inexpensive Web Hosting
Jsp Web Hosting
Cheapest Web Hosting
Jsp Hosting
Cheap Hosting
Visionwebhosting.net Business web hosting division of Web
Design Plus. All rights reserved