[Bioperl-l] Tree refactor? was Re: Bootstrap, root, reroot...
rmb32 at cornell.edu
Thu Jul 16 01:05:43 UTC 2009
Rather than putting this in bioperl-dev, perhaps this would be a nice
opportunity to make a new distribution called something standard like
"Bio-Tree", with a standard directory structure, and a sane number of
modules in it.
I hadn't planned to start an actual battle about this yet, but I would
just like to get it out there that the current 'huge monolithic
distributions' model of BioPerl is completely insane. Talking to people
about BioPerl at YAPC::NA last month, I saw that this is quite puzzling
to the wider Perl community. I was going to say it was a laughingstock,
but that's not actually the case. They are mostly puzzled and strongly
suspect that it's not right. Well, the diplomatic ones do, anyway.
Matt Trout (of DBIx::Class and Catalyst fame) would probably yell and
curse about it in a very entertaining way.
If things were in smaller distributions, making and testing releases
would be a lot easier, because the pieces of code you're testing and
releasing are smaller, and the dependencies among the pieces are
characterized, codified, and enforced via the Build.PL files of each
There, I said it.
But aside from my inflammatory remarks above, this sort of thing need
not happen all at once. The "Bio-Tree" distribution is a nice example
of how things could be extracted from or begun outside the bioperl-*
distributions, with the bioperl-* monolithic balls of mud getting
smaller as things are moved from them into their own distributions.
This needs to be done carefully, but so things like this should
probably be done only with major releases, and with lots of
notifications and release notes and things like that.
OK, now that I've said "this sucks and needs to change", I now go on to
volunteer to do work to make it happen. I will take and execute orders
from you core developers saying things like "make a branch, take this
list of modules, copy them into a new distribution, move their tests
over, and write a Build.PL with the correct dependencies", and later
"merge the moved_thing_somewhere" branch into the some_other_branch and
test it". I bet somebody whose name rhymes with "Jay Hannah" would
probably do grunt work to help with this also, but of course he would
have to volunteer first. ;-) I also volunteer to help teach others how
to do this, but they have to figure out how to use IRC.
Oh, and I also volunteer to keep writing inflammatory emails.
More information about the Bioperl-l