Recently in Grants Category

The Grants Committee is accepting grant proposals all the time. We evaluate them every two months and another evaluation period has come.

If you have an idea for doing some Perl work that will benefit the Perl community, consider sending a grant application. The application deadline for this round is 23:59 March 15th UTC. We will publish the received applications, get community feedback and conclude the acceptance by March 30th.

To apply, please read How to Write a Proposal. Rules of Operation
will also help you understand how the grant process works. For those who are familiar with the process, the format will be the same as the previous rounds in 2014-2015.

We will confirm the receipt of application within 24 hours.

If you have further questions, please comment here. If your comment
does not show up here within 24 hours, the chances are that the spam
filter did something bad. Get in touch with me at tpf-grants-secretary
at perl-foundation.org.

I am pleased to announce that Ricardo Signes' recent grant application to cover the costs of his travel to the QA Hackathon has been successful. I would like to thank everyone who provided feedback on this grant.

The grant was awarded from our Perl 5 Core Maintenance Fund. If you wish to contribute to this fund please go to our donation system or contact karen [a] perlfoundation.org

The QA Hackathon is a free of charge coding workshop for people involved in Quality Assurance, testing, packaging, CPAN, and other quality assurance projects. It is taking place in Berlin, Germany, from the 16th to the 19th April.

At the start of the month I continued work on making the stderr of builds less noisy, and for blead to build, test, and be stderr-clean under ASan -fsanitize=undefined.

At the end of this work I raised around 26 RT and github tickets with fixes for cpan/ distributions; currently around 9 of these have been merged back into blead and a further 4 have been merged upstream but not yet released.

For the rest of the month I spent a bit of time on a few RT tickets and tried to keep with my p5p mailbox.

We have received the following Perl 5 grant application from Ricardo Signes.

Before we vote on this proposal we would like to have a period of community consultation that will last seven days. Please leave feedback in the comments or if you prefer send email with your comments to karen at perlfoundation.org.

Name: Ricardo Signes

Project Title: Perl QA Hackathon 2015

Amount Requested: $1200

Synopsis

This grant will be used to pay for travel for Ricardo Signes to and from the Perl QA Hackathon held in Berlin in Q1 2015.

Benefits to Perl 5

I have attended six of the seven Perl QA Hackathons (Oslo, Birmingham, Amsterdam, Paris, Lancaster, and Lyon) and have, at each of them, been able to contribute several solid work days of very productive work to the infrastructure behind the CPAN and related tools. Specifically, I was one of the chief implementors of the new CPAN Testers platform (Metabase) and built the Fake CPAN system for testing CPAN tools, and several reusable software libraries that are used to power both Metabase and Fake CPAN. In 2012, I worked on refactoring PAUSE, adding tests and improving maintainability. PAUSE, the system which processes contributor uploads to the CPAN, manages CPAN contributor identity, and builds the CPAN indexes used by CPAN clients to locate libraries for installation.

In previous years, I also spent a significant amount of time working with other attendees on their contributions, and plan to do the same this year. This is one of the several reasons that attendance in person is incomparably superior to "virtual attendance."

Deliverable Elements

The QA Hackathon does not have a set agenda, so promising specific work product
from it up front seems unwise. I have detailed, above, the sort of work that I am almost certain to do, however. Further, I will provide a public, written report of my activities at the Hackathon.

I hope, in particular, to work on the web code of PAUSE and to discuss mechanisms for improving collaborative code review within the community of toolchain maintainers.

The hackathon takes place over the course of four days, with eight to ten hour workdays. I'll probably also be working on the travel and in the evenings.

Any software that I produce will be released under the Perl 5 standard license terms, or possibly even less restrictive terms.

Applicant Biography

I have been building software in Perl professionally for about fifteen years. I am a frequent contributor of original software to the CPAN and a frequent contributor to, or maintainer of, other popular CPAN libraries. I am also a contributor to the core Perl 5 project, and its current project lead.

I have been the recipient of TPF grants five times before, all of which were successful.

I spent some time this month working on getting minitest working on Win32.

In 2004 the Win32 makefiles were changed to use harness instead of TEST for minitest, presumably at some time after that Test::Harness was changed to load IO unconditionally, breaking minitest on Win32.

So I switched minitest back to using TEST and then worked through the failing tests to resolve their failures. See [perl #123394] for details.

Proposal in this round

Voting Results

Details

While it is always difficult to make decision on grant proposals, this was a particularly tough one. We understand this is a serious project with good amount of interest from the community including multiple code committers.

The main reason that led us to the negative conclusion is as follows: there are already plenty of web frameworks and CMSes. It is not a bad thing to have another one but we will not be able to fund this "another one" which may or may not attract new users given there are just too many choices.
For this specific area with high competition, we tend to spend money on marketing, promotion or tutorial of software which is completed, established and/or adopted. Otherwise on initiative to solve a specific problem.

This turned out to be a problem from when the test was originally written in 2009 - it uses C< open CHILD, '-|' > which doesn't work on Win32.

It was further muddled when the code was converted to use test.pl instead of manual TAP output in 2011. Previously the code would attempt to load Devel::Peek, but the modified code only checked $Config{extensions}, so the module wasn't available to produce the test output.

Finally, the test included no description, and the test performed was obscure enough that it was difficult to tell what it was testing for. The original commit message is fairly obscure.

(and post-finally, I missed committing a change to use and allow a skip count for skip_without_dynamic_extension(), covered later by Jarkko.)

I spent a lot of time on [perl #108276] this month, which was originally reported by Danial Dragan in 2012 as a deep recursion bug in Perl_scalarvoid().

Others followed up with attempted reproducers which revealed different deep recursion bugs, including a suggested fix, with the last activity in July 2014.

I spent some time cleaning up the suggsted fix and extending it to two of the other reported recursion issues.

In June this year, Dave Mitchell added -DPERL_OP_PARENT as a build option for perl, adding a mechanism for finding the parent of a given op. Dave suggested after I posted my patches that once that's the default, most of our recursive tree-walking would become trivially fixable.

I made a first attempt to fix this, but unfortunately found some more recent changes had broken -DPERL_OP_PARENT builds, which I tracked down and fixed.

I then produced a patch to use the new PERL_OP_PARENT links for the simplest of the recursion cases, finalize_op().

I also spent some time trying to apply this to op_free(), but haven't been able to produce a working build yet.