I am not exactly sure this is the appropriate place to raise this idea
but it relates very strongly to quality of CPAN modules.


Occasionally new version of CPAN modules break code in applications.
We cannot catch that, but we can at least catch cases when it breaks
other CPAN modules.

There are many people who would like to use only stable versions
of CPAN modules to some definition of stable. For lack of better
definition I might define stable as
'not breaking other important CPAN module'.

I would like to be able to setup a system where I can mark a set
of module/version pairs with a flag and version number.
(e.g. I would use szabgab_1, szabgab_2...)

Then when someone installs a module she would be able
to configure CPAN.pm to only install modules with a specific version
number of that specific flag (e.g only szabgab_1).
Modules without such flag could be installed only by force.
A module that has such a flag will be installed at the given version of the
module.

E.g. I just spent some time figuring out that my applications broke
because DBD::SQLite 1.13 broke Class::DBI.
If we had that system in place my flag (szabgab_1) would still point
to DBD::SQLite 1.12. Then anyone using my flag would be (reasonably)
safe upgrading DBD::SQLite as I am going to advance the flag
on DBD::SQLite only once I tested it works with Class::DBI.


Others might also create such flags for modules they need.
We might also be able to cooperate and manage a common flag that
covers most of CPAN.

The mapping of flag to Module-Version pairs could actually reside on any
server with ftp or http access. CPAN.pm would be configured to use such
a URL.

What do you think?

Gabor

Reply via email to