To anyone that has worked in a healthy open source community, this will seem like a no-brainer, but sometimes it’s good to be reminded of the real benefits when you involve a community of diverse developers in what you’re doing.
Earlier in the week, Joakim brought up the discussion topic on the Archiva Development List about converting from Plexus to Spring. The original plan was comprehensive, but there were some worries about a "big bang" approach since most of our Plexus components were autowired. I wasn’t initially sure we even wanted to convert everything either.
So I spared a few hours to try an experiment, and we had a functional but ugly way to use both Plexus components from Spring, and vice-versa. I figured that would make do for a short term solution.
Then Nicolas ran with it and has come up with a much more transparent way to implement it. Once a few issues are ironed out, we have a solution that is release-quality at any time as we gradually make the migration, will require much less work hacking the test rigs, and we have Joakim’s comprehensive list (which he’s already started doing on trunk).
In a different environment, we could have very easily ended up with a massive refactoring that halted all the current development, or I could have had a half implemented change that rotted away locally. But together in less than a week (part time) the 3 of us and the others chiming in on the list, have a pretty complete solution and a plan of attack. We were able to maximise the available time of the contributors, and their particular interests (whereas I’d have run out of both much earlier otherwise).
It’s not revolutionary, or surprising – but it is cool – and if you can harness this kind of small innovation on a regular basis it makes a big difference.
Archiva is probably the most fun project I’m involved in right now because of the good people, the enthusiasm, and influx of new users and contributors since the recent releases. One of the main reasons we were looking at Spring was to lower the barrier to contributions – so if you’re using Archiva and have something you’d like to see done or fixed, why not come and join the party?