Return-Path: Delivered-To: apmail-lucene-lucy-dev-archive@minotaur.apache.org Received: (qmail 98221 invoked from network); 1 Jul 2010 16:35:16 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 1 Jul 2010 16:35:16 -0000 Received: (qmail 34734 invoked by uid 500); 1 Jul 2010 16:35:16 -0000 Delivered-To: apmail-lucene-lucy-dev-archive@lucene.apache.org Received: (qmail 34670 invoked by uid 500); 1 Jul 2010 16:35:16 -0000 Mailing-List: contact lucy-dev-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: lucy-dev@lucene.apache.org Delivered-To: mailing list lucy-dev@lucene.apache.org Delivered-To: moderator for lucy-dev@lucene.apache.org Received: (qmail 27730 invoked by uid 99); 1 Jul 2010 16:31:17 -0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable From: Apache Wiki To: Apache Wiki Date: Thu, 01 Jul 2010 16:30:52 -0000 Message-ID: <20100701163052.1296.83052@eos.apache.org> Subject: =?utf-8?q?=5BLucy_Wiki=5D_Update_of_=22LucyIncubatorProposal=22_by_Marvin?= =?utf-8?q?Humphrey?= X-Virus-Checked: Checked by ClamAV on apache.org Dear Wiki user, You have subscribed to a wiki page or wiki category on "Lucy Wiki" for chan= ge notification. The "LucyIncubatorProposal" page has been changed by MarvinHumphrey. The comment on this change is: Change "full support" for subclasses to "sup= port". Normalize spelling of "codebase". Tweak Alignment. Simpify Subversio= n Directory.. http://wiki.apache.org/lucy/LucyIncubatorProposal?action=3Ddiff&rev1=3D30&r= ev2=3D31 -------------------------------------------------- For reference, see the original template at [http://incubator.apache.org/= guides/proposal.html] = =3D=3D Preface =3D=3D - Lucy is a sub-project which is being spun off from the Lucene TLP but is = not yet ready for graduation. We propose to address certain needs of the p= roject by assimilating the KinoSearch code base, and to enter the Incubator= on a top-level-project track. + Lucy is a sub-project which is being spun off from the Lucene TLP but is = not yet ready for graduation. We propose to address certain needs of the p= roject by assimilating the KinoSearch codebase, and to enter the Incubator = on a top-level-project track. = =3D=3D Abstract =3D=3D Lucy will be a loose port of the Lucene search engine library, written in= C and targeted at dynamic language users. = =3D=3D Proposal =3D=3D - Lucy has two aims. First, it will be a high-performance C search engine = library. Second, it will maximize its usability and power when accessed vi= a dynamic language bindings. To that end, it will present highly idiomatic= , carefully tailored APIs for each of its "host" binding languages, includi= ng full support for subclasses written entirely in the "host" language. + Lucy has two aims. First, it will be a high-performance C search engine = library. Second, it will maximize its usability and power when accessed vi= a dynamic language bindings. To that end, it will present highly idiomatic= , carefully tailored APIs for each of its "host" binding languages, includi= ng support for subclasses written entirely in the "host" language. = =3D=3D Background =3D=3D - Lucy, a "loose C" port of Java Lucene, began as an ambitious, from-scratc= h Lucene sub-project, with David Balmain (author of Ferret, a Ruby/C port o= f Lucene), Doug Cutting, and Marvin Humphrey (founder of KinoSearch, a Perl= /C port) as committers. During an initial burst of activity, the overall a= rchitecture for Lucy was sketched out by Dave and Marvin. Unfortunately, D= ave became unavailable soon after, and without a working code base to relea= se or any users, it proved difficult to replace him. Still, Marvin carried= on their work throughout a period of seemingly low activity. + Lucy, a "loose C" port of Java Lucene, began as an ambitious, from-scratc= h Lucene sub-project, with David Balmain (author of Ferret, a Ruby/C port o= f Lucene), Doug Cutting, and Marvin Humphrey (founder of KinoSearch, a Perl= /C port) as committers. During an initial burst of activity, the overall a= rchitecture for Lucy was sketched out by Dave and Marvin. Unfortunately, D= ave became unavailable soon after, and without a working codebase to releas= e or any users, it proved difficult to replace him. Still, Marvin carried = on their work throughout a period of seemingly low activity. = In the last year, that work has come to fruition: major technical milesto= nes have been achieved and Lucy's underpinnings have been completed. Addit= ionally, other developers from the KinoSearch community have taken an inter= est in Lucy and have begun to ramp up their contributions. The next steps = for Lucy were articulated by the Lucene PMC in a recent review: make releas= es, acquire users, grow community. = - To implement the Lucene PMC's recommendations and get to a release as qui= ckly as possible, the Lucy community proposes to assimilate the KinoSearch = code base, which has been retrofitted to use Lucy's core. Lucy still lacks= a number of important indexing and search classes; we wish to flesh these = out via IP clearance work rather than software development. + To implement the Lucene PMC's recommendations and get to a release as qui= ckly as possible, the Lucy community proposes to assimilate the KinoSearch = codebase, which has been retrofitted to use Lucy's core. Lucy still lacks = a number of important indexing and search classes; we wish to flesh these o= ut via IP clearance work rather than software development. = Since the Lucene PMC will not be responsible for Lucy much longer, it is = more appropriate for the software grant to take place within the context of= the Incubator than the Lucene TLP. As none of our current members have Ap= ache PMC experience, we also seek to take advantage of the Incubator enviro= nment to prepare ourselves for responsible self-governance. = =3D=3D Rationale =3D=3D - There is great hunger for a search engine library in the mode of Lucene w= hich is accessible from various dynamic languages, and for one accessible f= rom pure C. Individuals naturally wish to code in their language of choice= . Organizations which do not have significant Java expertise may not want = to support Java strictly for the sake of running a Lucene instance. Native= applications can be launched much more quickly than JVMs. Lucy will meet = all these demands. + There is great hunger for a search engine library in the mode of Lucene w= hich is accessible from various dynamic languages, and for one accessible f= rom pure C. Individuals naturally wish to code in their language of choice= . Organizations which do not have significant Java expertise may not want = to support Java strictly for the sake of running a Lucene installation. Na= tive applications may be launched much more quickly than JVMs. Lucy will m= eet all these demands. = We acknowledge that Apache seems like a natural home for Lucy given that = it is also the home of Lucene, and speculate that this may have been on the= minds of the Lucene PMC when Lucy was green-lighted as a sub-project. Mor= e importantly, though, the Lucy development community strongly believes tha= t The Apache Way is right for Lucy. = @@ -48, +48 @@ * Nathan Kurz has participated in numerous open source projects and has = been a KinoSearch committer since 2007. He is currently Chief Flavor Engin= eer of Scream Sorbet, and writes software in his copious free time. = =3D=3D=3D Alignment =3D=3D=3D - One Apache value which is particularly cherished by the Lucy community is= code base transparency. We have developed institutions which enable us to= measure and maximize usability (see [http://wiki.apache.org/lucy/BrainLog]= ), and we feel strongly that the bindings for Lucy must present APIs and do= cumentation which are idiomatic to the host language culture so that end us= ers can consume our work as easily as possible. + One Apache value which is particularly cherished by the Lucy community is= codebase transparency. We have developed institutions which enable us to = measure and maximize usability (see [http://wiki.apache.org/lucy/BrainLog])= , and we feel strongly that the bindings for Lucy must present APIs and doc= umentation which are idiomatic to the host language culture so that end use= rs can consume our work as easily as possible. = The controlled competition of meritocratic community development is also = very important to us. There has been substantial cross-pollination of idea= s between the Lucene and Lucy communities, yielding considerable benefits f= or both projects. The Lucy developers envision that our host-language sub-= communities will approach using and extending the library in distinct ways;= we hope to harness the creative tension between them to drive innovation, = building productive relationships akin to the one that Lucene and Lucy have= today. = @@ -68, +68 @@ Marvin Humphrey has a great job at Eventful working primarily on this pro= ject and supporting applications that use it. Nevertheless, he is extremel= y dedicated to Lucy and is determined to see it through to the point where = it becomes self-sustaining, regardless of work circumstances. = =3D=3D=3D Relationships with Other Apache Products =3D=3D=3D - Lucy's relationship with Lucene of cordial "coopetition" has produced ben= efits for Lucene users in terms of indexing speed, near-real-time search su= pport, and more. We expect the projects to continue diverging and convergi= ng over time as innovations migrate back and forth, with happy results for = all involved. + Lucy's relationship with Lucene of cordial "coopetition" has produced ben= efits for Lucene users in terms of indexing speed, near-real-time search su= pport, and more. We expect this dynamic to continue delivering improvement= s for all parties involved. = =3D=3D=3D An Excessive Fascination with the Apache Brand =3D=3D=3D Our desire to maintain Lucy's affiliation with Apache has less to do with= the brand and more to do with our conviction that developing the project T= he Apache Way under Apache institutions is in Lucy's best interests. Howev= er, we have to acknowledge that during its time as a Lucene subproject, Luc= y has not always fulfilled certain key requirements for an Apache project. = In particular, it has failed to "release early, release often", and it has= made minimal progress in expanding its community. @@ -91, +91 @@ The initial source will be a snapshot from the KinoSearch subversion repo= sitory. = =3D=3D Source and Intellectual Property Submission Plan =3D=3D - KinoSearch is currently under a GPL/Artistic license. There are five ind= ividuals who have made multiple significant contributions to the code base = and whose participation is either essential or would be very helpful: the t= hree committers on this proposal, Chris Nandor, and Father Chrysostomos. A= ll have been contacted and are amenable to re-licensing their work and cont= ributing it to Apache. We will contact as many other contributors as possi= ble; if there are any that we cannot obtain permission from, we will refact= or to expunge their work. + KinoSearch is currently under a GPL/Artistic license. There are five ind= ividuals who have made multiple significant contributions to the codebase a= nd whose participation is either essential or would be very helpful: Marvin= Humphrey, Peter Karman, Nathan Kurz, Chris Nandor, and Father Chrysostomos= . All have been contacted and are amenable to re-licensing their work and = contributing it to Apache. We will contact as many other contributors as p= ossible; if there are any that we cannot obtain permission from, we will re= factor to expunge their work. = =3D=3D External Dependencies =3D=3D The Perl bindings for KinoSearch depend on a few CPAN modules which do no= t have Apache-compatible licenses. It will be possible to address all of t= hese during incubation: @@ -110, +110 @@ * lucy-users = =3D=3D=3D Subversion Directory =3D=3D=3D - Lucy already has a Subversion directory at http://svn.apache.org/repos/as= f/lucene/lucy. In keeping with naming conventions, it could be moved to htt= p://svn.apache.org/repos/asf/incubator/lucy. + [http://svn.apache.org/repos/asf/incubator/lucy] = =3D=3D=3D Issue Tracking =3D=3D=3D Lucy already has a JIRA tracker: Lucy (LUCY)