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

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]

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.

Dave Mitchell writes:

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.


2:52 [Win32] Unable to build 64-bit 5.21.7
1:50 [perl #123469] Bug in split function, with utf8 strings
3:30 [perl #123609] Unexpected warning compiling array subscript
2:00 [perl #123685] Question regarding the '#!' argument passing.
13:30 process p5p mailbox
6:08 reduce amount of stderr stuff in build/test
29:50 Total (HH::MM)

As of 2015/01/31: since the beginning of the grant:

68.0 weeks
913.1 total hours
13.4 average hours per week

There are 287 hours left on the grant

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

Name: Ricardo Signes

Project Title: Perl QA Hackathon 2015

Amount Requested: $1200


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.

Tony Cook writes:

Approximately 36 tickets were reviewed, and 5 patches were applied.

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.

The Grants Committee has concluded the voting of the January round.

Proposal in this round

Voting Results


Definition of the score is found in 3.2 of the rules.


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.

We hope the success of Ado.

Next round

The next round is in March. You can submit proposals now.

Tony Cook writes:

Approximately 38 tickets were reviewed, and 10 patches were applied.

[perl #121337] is interesting in the number of things that were wrong with the first test in t/op/utf8cache.t.

This was reported by Daniel Dragan where op/utfcache.t was producing a an error message, but was still passing:

  '-' is not recognized as an internal or external command, operable program or batch file.
  ok 1
  ok 2 - quadratic pos

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 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.

About TPF

The Perl Foundation - supporting the Perl community since 2000. Find out more at

Recent Comments

  • Leon Timmermans: Yes please! Looking forward to cooperate with him once more read more
  • Nicholas Clark: 32 hours of rjbs for $37.50 an hour? Bargain! (and read more
  • Krasimir berov: Sure! What would we do without all this infrastructure? It read more
  • Tina Müller: I'm looking forward to seeing Ricardo as an important hackathon read more
  • Tux (H.Merijn Brand): It will be no surprise that I vote YES! +1 read more
  • ruz: Thanks to Tony for working on perl5. read more
  • Guest spell ;): Spelling error in title of report. read more
  • David Golden: It's been tremendously beneficial to me, personally, and the Perl read more
  • ether (Karen Etheridge): +1 I look forward to collaborating with Rik again this read more
  • Leo: Yes yes... yes read more

About this Archive

This page is an archive of recent entries in the Grants category.

Conferences is the previous category.

GSoC is the next category.

Find recent content on the main index or look in the archives to find all content.

OpenID accepted here Learn more about OpenID
Powered by Movable Type 4.38