Yesterday Yonik committed my first contribution to Solr. It was a simple simplification of the test code infrastruture. Some of the tests depend on Java System properties, however if you are not running the tests from Ant, you don’t have them… For example, running them from Eclipse. The advice was to pass them in using -D parameters, but that isn’t very user friendly! So I did a tweak that set those System properties in the Java code. I posted the patch to the mailing list, and Yonik committed them as revision 551701
What I realized is that one of the best ways to get to know a new community is to contribute to the test code. As an unknown quantity, suggesting major new features or architecture changes won’t go over well, but contributing/fixing/updating tests shows that you are eager to learn how the community works, and not just trying to get your cool new feature added. Writing tests for OSWorkflow and OSUser was how I became a committer over at OpenSymphony, only later did I start writing actual product code.
Also, by digging through the unit tests, you really get to learn how the code works, and where the pitfalls are as well!