And then you can end up like the Soviet Union...
The basic problems of communism - those that don't contribute their
fair share, but suck out the minimum resources (but maximum in
totality), and those that want to lead (their contribution) and suck
the minimum, and then those that contribute the most to make up for
everyone else, and quickly say this SUCKS....
On Jan 27, 2008, at 7:05 PM, Chris Hostetter wrote:
: 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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]