I did a bit of work on OpenSolaris about a month and a half ago. I think I put a blog message up about it when I sent the patch. Well, I’m still waiting for it to be fully integrated back into the source tree.
I’m not taking big changes, I’m taking 5 lines to check if a file exists before using it. Nothing involving rockets nor science. The patch has been accepted by a sponsor and integrated into their tree already so it isn’t coding issues holding up the integration.
The Sun sponsor has been quite good at informing me of the state of the patch and where it currently is in the integration process, but geeze. A bloody month and a half?
If this is the kind turn around time that can be expected when contributing patches I can’t see the community of developers growing very fast. It’s just too long. I already got tired of waiting and have moved onto other things. It becomes hard to continue working on OpenSolaris as you don’t want to have to fix any new patches after the first is integrated.
In my opinion, open source projects have to be fairly agile. They need to be able to take patches and, either send them back for improvements, or get them integrated within a week or two. Much longer then that and you’ll start losing the tiny space you currently occupy in the developers brain. They’ll turn back to something where they can see their contributions actually getting accepted and integrated. I’m not saying just throw stuff in the tree at random, but taking weeks to wait for integration testing is a bit extreme.
I can see the problem being faced by the project. How do you maintain the quality standards required while allowing for quicker integration times? Honestly, I don’t know how to solve it. Most of the time I’ve been waiting seems to have been for the integration tests to be run. This process seems to take up a couple of weeks in and of itself.
Maybe it would be possible to open up the testing process a bit more? Maybe the test cases need to be split out more? (I was focusing on one userland application, svccfg, so if that specific set of tests could be run it would be a lot faster.)