I've heard the open-source search engine, Simplexo, come up twice in conversation this week, and so was interested to dig a deeper into what Simplexo offers. My own company, Alfresco, has worked with Lucene, another open-source search engine, for the past few years and has been both pleased and disappointed with its capabilities, but I've been particularly frustrated by how hard it is to contribute code to Lucene.
The Alfresco development team has put Lucene into serious production, and has found a range of areas in which it falls down. To remedy this, our development team has made a wide range of improvements and fixes to the Lucene code. At one time the team tried repeatedly to contribute the code back to the Lucene project, only to have it fall on deaf ears.
Not that our team is necessarily much better. I've seen outside contributions make their way into the core Alfresco code, but I've also seen our developers turn up their noses at outside contributions. It either wasn't up to the level of code quality that the engineers expected or simply wasn't of interest to them.
This isn't to criticize my engineers or on those within the Lucene community. It's just to point out that open-source project leads and participants have their own priorities, priorities that outsiders may struggle to appreciate and embrace. To contribute code to a community effectively, you must become part of that community, which generally involves a great deal of time and effort.
Perhaps this is why more and more companies pay people to contribute to open-source projects of interest to them.h. It may well be the only way to keep sufficiently abreast of its politics and preferences to become a key member of the community.
In short, it's hard to contribute to open-source projects as a casual contributor. The only - or, at least, the best - way to get code in is to become an insider. Just don't expect it to be easy.