lucy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Lucy Wiki] Update of "LucyIncubatorProposal" by MarvinHumphrey
Date Thu, 01 Jul 2010 16:30:52 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Lucy Wiki" for change notification.

The "LucyIncubatorProposal" page has been changed by MarvinHumphrey.
The comment on this change is: Change "full support" for subclasses to "support". Normalize
spelling of "codebase". Tweak Alignment. Simpify Subversion Directory..
http://wiki.apache.org/lucy/LucyIncubatorProposal?action=diff&rev1=30&rev2=31

--------------------------------------------------

  For reference, see the original template at [http://incubator.apache.org/guides/proposal.html]
  
  == Preface ==
- 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 project 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 project by assimilating the KinoSearch
codebase, and to enter the Incubator on a top-level-project track.
  
  == Abstract ==
  Lucy will be a loose port of the Lucene search engine library, written in C and targeted
at dynamic language users.
  
  == Proposal ==
- 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 via dynamic language bindings.  To
that end, it will present highly idiomatic, carefully tailored APIs for each of its "host"
binding languages, including 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 via dynamic language bindings.  To
that end, it will present highly idiomatic, carefully tailored APIs for each of its "host"
binding languages, including support for subclasses written entirely in the "host" language.
  
  == Background ==
- Lucy, a "loose C" port of Java Lucene, began as an ambitious, from-scratch Lucene sub-project,
with David Balmain (author of Ferret, a Ruby/C port of Lucene), Doug Cutting, and Marvin Humphrey
(founder of KinoSearch, a Perl/C port) as committers.  During an initial burst of activity,
the overall architecture for Lucy was sketched out by Dave and Marvin.  Unfortunately, Dave
became unavailable soon after, and without a working code base to release 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-scratch Lucene sub-project,
with David Balmain (author of Ferret, a Ruby/C port of Lucene), Doug Cutting, and Marvin Humphrey
(founder of KinoSearch, a Perl/C port) as committers.  During an initial burst of activity,
the overall architecture for Lucy was sketched out by Dave and Marvin.  Unfortunately, Dave
became unavailable soon after, and without a working codebase to release 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 milestones have been achieved
and Lucy's underpinnings have been completed.  Additionally, other developers from the KinoSearch
community have taken an interest 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 releases,
acquire users, grow community.
  
- To implement the Lucene PMC's recommendations and get to a release as quickly 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 quickly 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 out 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 Apache PMC experience, we also seek to take advantage
of the Incubator environment to prepare ourselves for responsible self-governance.
  
  == Rationale ==
- There is great hunger for a search engine library in the mode of Lucene which is accessible
from various dynamic languages, and for one accessible from 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 which is accessible
from various dynamic languages, and for one accessible from 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.
 Native applications may be launched much more quickly than JVMs.  Lucy will meet 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.  More importantly, though, the Lucy development community
strongly believes that 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 Engineer of Scream Sorbet, and writes
software in his copious free time.
  
  === Alignment ===
- 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 documentation which
are idiomatic to the host language culture so that end users 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 documentation which
are idiomatic to the host language culture so that end users 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 ideas between the Lucene and Lucy
communities, yielding considerable benefits for 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 project and supporting
applications that use it.  Nevertheless, he is extremely dedicated to Lucy and is determined
to see it through to the point where it becomes self-sustaining, regardless of work circumstances.
  
  === Relationships with Other Apache Products ===
- Lucy's relationship with Lucene of cordial "coopetition" has produced benefits for Lucene
users in terms of indexing speed, near-real-time search support, and more.  We expect the
projects to continue diverging and converging over time as innovations migrate back and forth,
with happy results for all involved.
+ Lucy's relationship with Lucene of cordial "coopetition" has produced benefits for Lucene
users in terms of indexing speed, near-real-time search support, and more.  We expect this
dynamic to continue delivering improvements for all parties involved.
  
  === An Excessive Fascination with the Apache Brand ===
  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 The Apache Way under Apache institutions
is in Lucy's best interests.  However, we have to acknowledge that during its time as a Lucene
subproject, Lucy 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 repository.
  
  == Source and Intellectual Property Submission Plan ==
- KinoSearch is currently under a GPL/Artistic license.  There are five individuals who have
made multiple significant contributions to the code base and whose participation is either
essential or would be very helpful: the three committers on this proposal, 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 possible; if
there are any that we cannot obtain permission from, we will refactor to expunge their work.
+ KinoSearch is currently under a GPL/Artistic license.  There are five individuals who have
made multiple significant contributions to the codebase and 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 possible; if
there are any that we cannot obtain permission from, we will refactor to expunge their work.
  
  == External Dependencies ==
  The Perl bindings for KinoSearch depend on a few CPAN modules which do not have Apache-compatible
licenses.  It will be possible to address all of these during incubation:
@@ -110, +110 @@

   * lucy-users
  
  === Subversion Directory ===
- Lucy already has a Subversion directory at http://svn.apache.org/repos/asf/lucene/lucy.
In keeping with naming conventions, it could be moved to http://svn.apache.org/repos/asf/incubator/lucy.
+ [http://svn.apache.org/repos/asf/incubator/lucy]
  
  === Issue Tracking ===
  Lucy already has a JIRA tracker: Lucy (LUCY)

Mime
View raw message