Return-Path: Delivered-To: apmail-incubator-lucy-dev-archive@www.apache.org Received: (qmail 63336 invoked from network); 13 Mar 2011 00:23:32 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 13 Mar 2011 00:23:32 -0000 Received: (qmail 29351 invoked by uid 500); 13 Mar 2011 00:23:31 -0000 Delivered-To: apmail-incubator-lucy-dev-archive@incubator.apache.org Received: (qmail 29304 invoked by uid 500); 13 Mar 2011 00:23:31 -0000 Mailing-List: contact lucy-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: lucy-dev@incubator.apache.org Delivered-To: mailing list lucy-dev@incubator.apache.org Received: (qmail 29296 invoked by uid 99); 13 Mar 2011 00:23:31 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 13 Mar 2011 00:23:31 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [68.116.39.62] (HELO rectangular.com) (68.116.39.62) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 13 Mar 2011 00:23:24 +0000 Received: from marvin by rectangular.com with local (Exim 4.69) (envelope-from ) id 1PyZ42-00061R-QH for lucy-dev@incubator.apache.org; Sat, 12 Mar 2011 16:21:42 -0800 Date: Sat, 12 Mar 2011 16:21:42 -0800 From: Marvin Humphrey To: lucy-dev@incubator.apache.org Message-ID: <20110313002142.GA23132@rectangular.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.18 (2008-05-17) Subject: [lucy-dev] Revise CustomQueryParser cookbook entry Greets, Thanks to the ruling at , our usage of Parse::RecDescent and JSON::XS no longer blocks Lucy's 0.1.0-incubating release. Nevertheless, we plan to eliminate Parse::RecDescent from Clownfish::Parser and JSON::XS from Lucy::Util::Json sooner rather than later. Our only other usages of Parse::RecDescent are here: trunk/perl/lib/Lucy/Docs/Cookbook/CustomQueryParser.pod trunk/perl/sample/FlatQueryParser.pm The two files are closely related; FlatQueryParser.pm is the end-product of the Lucy::Docs::Cookbook::CustomQueryParser cookbook entry. I propose to modify CustomQueryParser and by extension FlatQueryParser: 1. Purge Parse::RecDescent. 2. Shorten and improve the recipe. Right now, these are the sub headings of CustomQueryParser: =head1 NAME =head1 ABSTRACT =head1 Grammar-based vs. hand-rolled =head1 The language =head1 Single-field regex-based parser =head1 Single-field Parse::RecDescent-based parser =head1 Multi-field Parse::RecDescent-based parser =head1 Extending the query language =head1 Usage The revised version will focus on the specific capabilities of Lucy's QueryParser, eliminating more general material on grammar-based parser generators: =head1 NAME =head1 ABSTRACT =head1 The language =head1 Single-field parser =head1 Multi-field parser =head1 Extending the query language =head1 Usage While we are apparently not legally required to remove usage of Parse::RecDescent from our cookbook, I believe that as an ASF project, we *should*. Consider this William Rowe comment from the legal-discuss list in April 2009, regarding the decision by the Apache Pivot project to migrate sample code incorporating incompatibly licensed materials out of the ASF to an outside site: http://s.apache.org/ctR Understanding that these are demos/examples, that's a substantially disappointing direction. You pretty much ensure that the world can't really count on basing their code on the demos or examples without being locked into a copyleft schema (or questioning the providence of the code and again, being unable to use this). All the better if we can eliminate such licensing concerns while improving the quality of our documentation in a single initiative. Marvin Humphrey