Hi all! I'd like to suggest a generic proposal for the Perl Foundation Grants. Note that I'm not going to take it myself, because I just started a new job and would like to commit to it. However, I can be the mentor for this grant. I'm posting it here to get some reactions before I put it in my use.perl.org journal, etc.
The grant is about Test::Run, which is a fork of Test::Harness that aims to greatly refactor and modularise it. I've already revamped and re-written a lot of code for it, but there's still a lot that needs to be done. Here are some Test::Run links: 1. Lightning Talk about Test::Run - http://www.shlomifish.org/lecture/Perl/Lightning/Test-Run/ 2. use.perl.org journal entries: http://use.perl.org/~Shlomi+Fish/journal/27467 http://use.perl.org/~Shlomi+Fish/journal/27887 (they contain a lot of links). ----------- Licencing Issues: ================= Some of the code in Test::Run is derived from the code of Test::Harness, which is GPL+[Artistic 1.0]. Thus, it should be kept this way. However, some code was written from scratch and due to my personal preferences, it was licensed under the MIT X11 Licence[1]. I prefer that all new code will be also MIT X11 licence, and that existing code will retain its original licensing terms. Comparison with Similar Efforts: ================================ * Test::Harness is the old harness module of Perl 5, from which Test::Run was derived. It is not very Object Oriented, suffers from some modularity issues, and is generally hard to properly adapt. Often, customisations to it need to be kept and maintained in house. Test::Run is no longer backwards compatible with Test::Harness. The internal and external interface was changed. * TAP::Harness is a rewrite of Test::Harness by Michael G. Schwern and others. It has similar goals to Test::Run, but has a different methodology of trying to achieve it. * TAP::Parser by Ovid is a work-in-progress module that aims to be a modular event-based parser for TAP output. Test::Run may eventually convert to use it instead of its current ad-hoc TAP handling routine (that was inherited from Test::Harness). Orthogonal to all of these are the various Perl and non-Perl TAP generators such as Test::Builder, Test::Simple, Test::More, Test::Base, and the http://search.cpan.org/~petdance/Test-Harness-2.62/lib/Test/Harness/TAP.pod#Non-Perl_TAP . Test::Run and friends are not concerned by them as long as the script that performs the tests' generates correct TAP. Scope of the Project: ===================== This project aims to do the following: 1. Finish refactoring Test::Run::Obj, Test::Run::Straps and the other modules derived from Test::Harness. One should probably have read "Refactoring" by Martin Fowler, for some indication on which "bad smells" exist in bad code, and how bad code should be methologicaly refactored if it has them. "Perl Best Practices" is also possibly a good read. (albeit I only began reading it). 2. Move some of the functionality of Test::Harness that's currently in the Test::Run::Obj core into plugins. 3. Update the POD documentation for the new version. 4. Extend (using plugins, etc.) for: - Formatting the messages using templates or callbacks. - Colours in the output. (Already exist to some extent). - HTML, XML and YAML (and others) Output. - Persistent Running. - Interrupted GUI running. Michael G. Schwern also suggested the following: (in the context of TAP::Harness) <<< Right now the use cases I have in mind include things such as parallelized test runs, fancy GUI and HTML outputs (for example, TAP::Model::HTMLMatrix), multiple, non-Perl TAP sources (ex. contact a URL and get the TAP from that; run HTML through a validator which produces TAP; run a C program which spits out TAP), "enhanced" TAP output (ex. colors; levels of verbosity), and the ability to smoothly handle TAP extensions. >>> Roles in the Project: ===================== Like I said I'm going to be the mentor for the project, not the one who actually performs it. The one who takes it will receive most (or all) of the money of the grant while doing most of the work on Test::Run. I will aid the project proposer by giving him a Berlios.de developer status for the Test-Run project (with Subversion commit access) and also eventually make him a CPAN co-maintainer for the appropriate namespaces, so he can upload modules there. One note is that so far I did most of the work on Test::Run, and so no-one else has much first-hand experience with it. However, I believe any prior experience with the Test::Harness code or even with Perl 5 testing in general will do, and I'll be glad to help any newcomer feel comfortable with the code. I can be reached in the following means: http://www.shlomifish.org/me/contact-me/ Regards, Shlomi Fish [1] - The MIT X11 Licence ( http://en.wikipedia.org/wiki/MIT_License ) a BSD-style licence that is almost entirely public domain. (except for a no-warranty clause and the fact that it is considered copyrighted code). As such it can be converted into any other licence (whether open-source or non-open-source) and also can be used by any other licence that permits using it. Note that the Makefile.PL/Build.PL files and the META.yml may say it is a "bsd"-style licence, due to the fact there isn't a special grouping for the MIT X11 licence, and because the MIT X11 licence belongs to the BSD family of licences. On Wednesday 05 July 2006 12:40, Gabor Szabo wrote: > ---------- Forwarded message ---------- > From: Thomas Klausner <[EMAIL PROTECTED]> > Date: Jul 5, 2006 12:39 PM > Subject: [pm_groups] Call for proposals -- Perl Foundation Grants > > > Hi! > > Please forward the Call for Proposals to your local groups. The last > call didn't result in any grants because there weren't enough / > interesting / correct proposals. > > http://news.perlfoundation.org/2006/07/call_for_proposals_perl_founda.html > _______________________________________________ > Perl mailing list > [EMAIL PROTECTED] > http://perl.org.il/mailman/listinfo/perl -- --------------------------------------------------------------------- Shlomi Fish [EMAIL PROTECTED] Homepage: http://www.shlomifish.org/ 95% of the programmers consider 95% of the code they did not write, in the bottom 5%.