: I would guess the number of people/organizations using Lucene vs. contributing : to Lucene is much greater. : : The contributers work in head (should IMO). The users can select a particular : version of Lucene and code their apps accordingly. They can also back-port : features from a later to an earlier release. If they have limited development : resources, they are probably not working on Lucene (they are working on their : apps), but they can update their own code to work with later versions - which : they would probably rather do than learning the internals and contributing to : Lucene.
i think we have a semantic disconnect on the definition of "community" I am including any and all people/projects that use Lucene in anyway -- wether or not they contribute back or not. If there are 1000 projects using lucene as a library, and each project requires 5 man hours of work to upgrade from version X to version Y becuse of a non-backwards compatible change, but it would only take 2 man hours of work for those projects to backport / rip out the one or two features of version Y they really want to cram them into their code base then the community as a whole is paying a really heavy cost for version Y ... regardless of wether each of those 1000 projects invest the 5 hours or the 2 hours ... in the first extreme we're all spending a cumulative total of 5000 man hours. in the second case we're spending 2000 man hours, and now we've got 1000 apps that are runing hacked up unofficial offshoots of version X that will never be able to upgrade to version Z when it comes out -- the community not only becomes very fractured but lucene as a whole gets a bad wrap, because everybody talks about how they still run version X with local patches instead of using version Y -- it makes new users wonder "what's wrong with version Y?" ... "if upgrading is so hard that no one does it do i really wnat to use this library?" It may seem like a socialist or a communist or a free love hippy attitude, but if contributors and committers take extra time to develop more incrimental releases and backwards compatible API transitions it may cost them more time upfront, but it saves the community as a whole a *lot* of time in the long run. By all means: we should move forward anytime really great improvements can be made through new APIs and new features -- but we need to keep in mind that if those new APIs and features are hard for our current user base to adapt to, then we aren't doing the community as a whole any favors by throwing the baby out with the bath water and prematurely throwing away an old API in order to support the new one. Trade offs must be made. Sometimes that may mean sacrificing committer man hours; or performance; or API cleanliness; in order to reap the benefit of a strong, happy, healthy, community. -Hoss --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]