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 03:34:43 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: Lots of minor tweaks..
http://wiki.apache.org/lucy/LucyIncubatorProposal?action=diff&rev1=25&rev2=26

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

  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 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
code base, and to enter the Incubator on a top-level-project track.
  
  == Abstract ==
  Lucy will be a high-performance search engine library written in C and targeted at dynamic
language users.
@@ -13, +13 @@

  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.
  
  == Background ==
- Lucy, a "loose C" port of Java Lucene, began as an ambitious, from-scratch Lucene sub-project,
with initial committers David Balmain (author of Ferret, a Ruby/C port of Lucene), Doug Cutting,
and Marvin Humphrey (founder of KinoSearch, a Perl/C port).  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 seeming dormancy.
+ Lucy, a "loose C" port of Java Lucene, began as an ambitious, from-scratch Lucene sub-project,
with initial committers David Balmain (author of Ferret, a Ruby/C port of Lucene), Doug Cutting,
and Marvin Humphrey (founder of KinoSearch, a Perl/C port).  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.
  
- In the last year, the 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.
+ 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.
  
@@ -69, +69 @@

  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.
  
  === An Excessive Fascination with the Apache Brand ===
- Our desire to maintain Lucy's affiliation with Apache has much less to do with the brand
and much 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 only limited progress in expanding its community.
+ 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.
  
  We attribute some of our difficulties to the what may have been excess ambition in the original
Lucy plan, given the scope of the project and the size of the initial committer list:
  
@@ -89, +89 @@

  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, 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 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.
  
  == 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:
  
   * JSON::XS can be eliminated by writing our own JSON parser.
   * Lingua::Stem::Snowball and Lingua::StopWords are both wrappers around Snowball, which
is itself BSD licensed.  We can eliminate them by writing our own wrappers and bundling the
Snowball files.
-  * The build currently requires Parse::RecDescent.  However, the compilation stage which
requires Parse::RecDescent can be moved up into release preparation, so it can be eliminate
as an end-user dependency.
+  * The build currently requires Parse::RecDescent.  However, the compilation stage which
requires Parse::RecDescent can be moved up into release preparation, so it can be eliminated
as an end-user dependency.
  
  The build also requires modules which are now bundled with core Perl as of 5.10.0 (Module::Build,
ExtUtils::CBuilder), but were not with Perl 5.8.x.  Guidance is sought as to whether they
are acceptable.
  

Mime
View raw message