I get the feeling that Object Relational Mappers are like Templating Systems. Everyone has implemented, and uses, at least one. The only difference is, there are less than ten Object Relational Mappers on the CPAN. Each of us has a fixed idea about what one should do, what the method names should be, how many CPAN modules it should rely on.
How many of us actually take something from the CPAN, trust it, and embrace it by helping the author to add the functionality, stability, efficiency that we want? I'm currently struggling with what I want to do. There are lots of things about Class::DBI that I really, really like. The problem is, I know it's going to take some work to fix the things I don't like. Some of them, I would consider, are core issues with the module. Others are addons that I want to see for myself.
In the end what do I do? Is it better to roll my own and be responsible for my code and it's problems, bugs, and lack of features? Or do I help another developer with his problems, bugs and lack of features? I wish there was an easy answer here.
I think all of us would like to say we would take the second road of helping the developer. My guess is that most of us took the first. Is it fear of giving up control? Is it fear of the other developers capabilities? I don't know. If I did, I wouldn't be asking.
In the end a decision must be made. Is one of them right? I bet not. I just hope the best decision is made.