# Take arms against a sea of troubles

So Dave Cross has started injecting Moose Koolaid into his CPAN modules and got smacked by Adam Kennedy for injecting Moose into something with a ton of downstream dependencies. Or at least it used to have a ton of downstream deps, the module in question, Test::Warn (as Adam rightly points out) has moved on.

Adam’s Moose complaints are two fold. It “adds a huge amount of additional dependencies”, and “the slower process startup time”. These are the two standard complaints about Moose, along with “Ahh My RAM!!!”.

I’ve blogged about Moose’s dep graph before, and I’ll simply refer you to some charts I generated for Moose using CPANDB (runtime, 5.8.1, 5.10.0).

The point here isn’t the “Ahh! Moose!” sentiment really. I thinks Stevan answered that quite well. The point is who is generally complaining about the slings and arrows of outrageous dependencies.

In the bug in particular we have two commentors, Adam who opened the bug, and has complained before about Moose’s dependencies and overhead. Adam however gets a pass because Adam has made at least some minimal effort to help in the past. I don’t believe as of this writing anybody else on that ticket has.

Moose has a very open commit policy, if you want a patch there are about 10 people who can give you access to the Moose git repository (I am one of them). There are currently 62 people with access to the main git repository. Moose also is mirrored on Github. We have a documented contribution policy that goes into detail about how to submit large complex refactors for review. There are over 200 people on #moose on irc.perl.org, and 45 people in #moose-dev all of whom are more than willing to help fix the known issues with Moose.

So if you have a problem with Moose, what can I do to help you fix it?