I don't think I can say that this needs to happen now either. :)

An interesting question to answer would be:

If Lucene did not exist, and given all of the knowledge we have, we decided to create a Java based search engine, would the API look like it does today?

The answer may be yes. I doubt it would be in many areas though.

The major releases are where you get to rethink the API and the approach.

If you don't do this, Lucene will slowly die (as you stated). What happens is that the developers get tired of the harness and start a new project. If the API were able to be changed easier this would not happen.


On Jan 23, 2008, at 4:27 PM, Michael McCandless wrote:


robert engels wrote:

I think you are incorrect.

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.

If the users are "just dropping in a new version" they are not contributing to the community... I think just the opposite, they are parasites. I think a way to gauge this would be the number of questions/people on the user list versus the development list.

I don't think they are parasites at all. They are users that place alot of trust in us and will come to the users list with interesting issues. Many of the improvements to Lucene are sourced from the users list. Even if that user doesn't do the actual work to fix the issue, their innocent question and prodding can inspire someone else to take the idea forward, make a patch, etc. This is the normal and healthy way that open source works....

Lucene is a library, and I believe what I stated is earlier is true - in order to continue to advance it the API needs to be permitted to change to allow for better functionality and performance. If Lucene is hand-tied by earlier APIs then this work is either not going to happen, or be very messy (inefficient).

The thing is, we have been able to advance lately, sizably, without breaking APIs, thanks to the "future backwards compatibility proofing" that Lucene does.

I do agree that if it got to the point where we were forced to make a hard choice of stunt Lucene's growth so as to keep backwards compatibility vs let Lucene grow and make a new major release, we should definitely make a new major release. Search is still young and if we stunt Lucene now it will slowly die.

It's just that I haven't seen any recent change, except for allowing JVM 1.5 source, that actually requires a major release, I think.

Mike

On Jan 23, 2008, at 3:40 PM, Chris Hostetter wrote:


: I guess I don't see the back-porting as an issue. Only those that want to need
: to do the back-porting. Head moves on...

I view it as a potential risk to the overal productivity of the community.

If upgrading from A to B is easy people (in general) won't spend a lot of time/effort backporting feature from B to A -- this time/effort savings
benefits the community because (depending on the person):
1) that time/effort saved can be spend contributing even more features
    to Lucene
2) that time/effort saved improves the impressions people have of Lucene.

If on the other hand upgrading from X to Y is "hard" that encouragees people to backport features ... in some cases this backporting may be done "in the open" with people contributing these backports as patches, which can then be commited/releaseed by developers ... but there is still a time/effort cost there ... a bigger time/effort cost is the cummulative time/effort cost of all the people that backport some set of features just enough to get things working for themselves on their local copy, and don't contribute thouse changes back ... that cost gets paid by the commuity s a
whole over and over again.

I certianly don't want to discourage anyone who *wants* to backport
features, and I would never suggest that Lucene should make it a policy to not accept patches to previous releases that backport functionality -- i just think we should do our best to minimize the need/motivation to spend
time/effort on backporting.



-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]



---------------------------------------------------------------------
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]

Reply via email to