On Thu, 2010-11-18 at 15:00 +0100, Karell Ste-Marie wrote:
> I think that in the end, there should be at least 3 projects for Lucene:
> 1. The Lucene algorithms, in a platform-neutral language - let the search 
> engine gurus implement how this should be done without having to worry about 
> imperative programming and the hacks to get there - either a compiler or a 
> manual model would be used to implement these algorithms
> 2. Lucene - Architecture of the project(s) - perhaps a lot of UML here in a 
> format where it can be fed to quickly produce skeleton files
> 3.x. Lucene - language-specific versions

Speaking as a computer scientist, this looks like a text book example of
a solid multi-level development workflow. Perfect for a well-defined
hierarchy of dependable workers.

Speaking as a rookie contributor to Lucene (I wrote some code for
https://issues.apache.org/jira/browse/LUCENE-1990), I very much doubt
that I would have contributed if that workflow was in place. Let me try
and explain why.

LUCENE-1990 was an isolated and fairly simple task: Do some bit fiddling
to pack integers and perform some tests to find the best solution. It
was fun to do and I think the implementation works well (no conditionals
or heavy math in the core get/set methods) and should work just about
the same in other languages as it is nearly pure math and arrays.

Theoretically the easily abstractable nature of this plays very well
with the top-down approach that you present. The problem is that step 1
(the algorithm in the platform-neutral language) requires me to learn
that language and learn the extra steps necessary to contribute in such
manner. I also need to know enough about step 2 to decide whether I had
to update some diagrams and in general doing work that I find boring.


I can see that you are "C.I.O. - BrainBank Inc" and a quick look at your
website tells me that handling complex multi-level integration is second
nature to you.

I am a bear of very little brain and organizations and politics bother
me. Hacker's Delight is 7 cm from my left hand (I measured with my
multitool): I'll come up with algorithms, I'll discuss them, I'll
implement them, I'll test them, I'll even write JavaDocs, I'll do it all
for free - although most of it in on the company dime. And I'll have fun
doing it. Ask me to step outside of my coding comfort zone and the
chance of me volunteering will drop sharply.

My message is that a fundamental change of participation requirements
for the Lucene project means that some participants will not play along
anymore and other people will be attracted to the project. This might
turn out to be a very good thing for Lucene or it might seriously hamper
development. My gut feeling says the latter, but then again, I'm biased
by being firmly in the low-level group.

Regards,
Toke Eskildsen


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to