Grant Proposal: Maintaining Perl (Tony Cook)
Thu, 12-May-2022 by
Jason A. Crome
Anthony (Tony) Cook (IRC: TonyC)
Free up one of the Perl core's contributors to work non-stop on making
## Benefits to Perl Community
This grant provides the Perl Steering Committee with a development
resource to target as they will, while still providing for more
general bug fixes and other improvements to the perl core.
## Project Details
I intend to devote around 400 hours (about 20 hours a week) over the
next 20 weeks to work on improving the core, paid by the hour at the
same below-commercial rate as previously. Some weeks I may be able to
more than 20 hours, if acceptable this will consume more hours and end
the grant earlier.
I expect to post a weekly summary on the p5p mailing list detailing
activity for the week, allowing the grant managers and active core
developers to verify that the claimed hours tally with actual
activity, and thus allow early flagging of any concerns. This isn't
required by the fund rules, but it will help me keep on track for the
Once per calendar month I would claim an amount equal to $50 x hours
worked. I would issue a report similar to the weekly ones, but
summarising the whole month. The report would need to be signed off by
one of the grant managers before I get paid. Note that this means I am
paid entirely in arrears.
Also, (the "nuclear option"), the grant managers would be allowed, at
any time, to inform the board that in their opinion the project is
failing, and that the TPF board may then, after allowing me to present
my side of things, to decide whether to terminate the project at that
point (i.e. to not pay me for any hours worked after I was first
informed that a manager had "raised the alarm").
I expect I'll apply to extend this grant at its conclusion.
## Work to be Performed
I think that the work that I would do to improve Perl would mostly
fall into one of four main classes: code reviews, bug fixing, helping
other contributors, and adding features - with bug fixes the most
prominent and adding features the least.
I'll also accept specific direction from the Perl Steering Committee
for specific work to be done.
Ideally this would be done with some consultation with myself, so a
large complex task involving parts of the core I'm unfamiliar with
isn't assigned (or is assigned with reasonable expectations on time).
Of course, if too many tasks are negotiated into non-existence, the
grant can be terminated.
In general I'd work on:
* Reviews of patches submitted to github as pull requests.
This will improve my core knowledge, and provide more timely feedback
to non-committers using their time to help perl.
Metric: number and complexity of patches applied or commented on.
* Fixing bugs I select from the perl github issues list.
While I wouldn't necessarily be working on the the harder bugs that
Dave targets, this would help bring the total bug count down, and
reduce the noise in the issue list.
Metric: number and complexity of issues fixed.
* Fixing systemic issues in perl, such as the mis-use of I32 and U32 in
the perl core.
Metric: complexity of issue solved.
* Contributing to discussion on the perl5-porters mailing list and in
#p5p on IRC.
For the grant, I'm specifically not proposing to:
1. Be a release manager. This doesn't prevent me volunteering to act as
a release manager, but that wouldn't be counted towards this grant.
2. Act as language designer - I don't feel that I'm good at this.
## Project Schedule
I expect that I can deliver 400 hours of work in approximately 20
I am available to start work on this project immediately.
I'm a freelance programmer living in Australia.
I've been irregularly contributing to perl since 2008, a committer
since 2010 and have participated with the Perl 5 Core Maintenance Fund
My contributions have varied from build system fixes, to UTF-8
handling, to portability fixes.
I've been programming in C for 30 years and in perl for 25.
## Endorsed By
Karl Williamson, Sawyer X, Ricardo Signes
## Amount Requested