Two comments, pretty much agreeing with chromatic and Ricardo:
1) How would this proposed module benefit the perl community? Why
can't you fix things in Test::Harness and send the patch in? If you fix
deployed modules, everyone wins. If you write your own module, it sits
on CPAN unused.
What exactly is wrong with Test::Harness, anyway? The development team
is pretty agreeable, the code is good, the module works, etc. Is there
some large problem I'm missing? (A problem so large that TPF needs to
*pay* someone to fix it!?)
2) If you use GPL'd code in an MIT-licensed app, the entire app becomes
GPL. I don't think you can say, "this requires xyz GPL'd code, but if
it didn't it would be MIT". It's GPL by virtue of requiring GPL code.
(Hence the accusation that the GPL is 'viral' or whatever.) IANAL, but
this is my understanding from reading the license, the FSF's site, etc.
If the code isn't derived, though, feel free to MIT license it. (The
fact of the matter, though, is that Perl uses the Perl license. I don't
really love the Artistic license, but I release my perl code under the
dual license because Everyone Else Does. It makes everything work
nicely and builds community too :)
Just my two cents :)
Regards,
Jonathan Rockway
Shlomi Fish wrote:
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