Well, one hurdle has already had to be climbed, by the fact that he's aiming for being able to do new releases of the latest released version while working on the next one. I believe the latest release is, in effect, a test of that.
Obviously it doesn't mean everything has been taken care of, just that he's found a way to handle that part.
If he was going to aim for significant contributions from external parties, the first task would probably be to set up a configuration control structure capable of handling that (as well as dual "active" versions multiplied by different targets [assuming those will return]), while still not being such a pain in the ass that all joy is sucked out of the work.
Whenever you work on pre existing code you have to largely stick to the conventions used, and adapt to that usage. Sure, it can be tempting to rewrite things in a "better" way, but then you should have a valid reason for why that way is better (and "this is what I and my buddies have always been taught and used, while the current implementation is an eyesore" isn't valid, while reduced maintenance costs without sacrificing legibility (for Toady), and significant performance gains (again, while remaining readable) are valid ones).