On Mar 9, 2010, at 5:40 AM, Michael McCandless wrote: > On Tue, Mar 9, 2010 at 5:10 AM, Andrzej Bialecki <[email protected]> wrote: > >> Re: Nutch components - those that are reusable in Lucene or Solr >> contexts eventually find their way to respective projects, witness >> e.g. CommonGrams. > > In fact I think this is a great example -- as far as I can tell, > CommonGrams was poached from Nutch, into Solr, and then was > nurtured/improved in both projects separately right? > > So.... can/should we freely poach across all our sub projects? > > It has obvious downsides (it's essentially a fork that will confuse > those users that use both Solr & Lucene, in the short term, until > things "stabilize" into a clean refactoring; it's double the dev; we > must re-sync with time; etc.). > > But it has a massive upside: it means we don't rely only on "push" > (Solr devs to push into Lucene or vice/versa). We can also use "pull" > (Lucene devs can pull pieces from Nutch/Solr into Lucene). It becomes > a 2-way street for "properly" factoring our shared code with time. > > If we had that freedom ("poaching is perfectly fine"), then, > interested devs could freely "refactor" across sub projects. >
As someone who works on both, I don't think it is fine. Just look at the function query mess. Just look at the version mess. It's very frustrating as a developer and it makes me choose between two projects that I happen to like equally, but for different reasons. If I worked on Nutch, I would feel the same way. Also, I do look at Solr/Lucene differently. There is almost complete overlap in the committer base. Nutch is not that way, nor is any other project. I simply don't think Lucene will end up being geared toward Solr because there are so many users of Lucene here they will prevent that from happening. -Grant
