Grant Proposal: Maintaining Perl
Tue, 02-Feb-2021 by
Jason A. Crome
edit post
(note: I missed this somehow, and it should have been posted a while ago. Sorry - cromedome)
## Name
Anthony (Tony) Cook - TonyC on irc.perl.org
## Synopsis
Free up one of the Perl core's contributors to work non-stop on making
Perl better.
## Project Details
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.
## Deliverables
I propose to follow the same model as my current Perl 5 Core
Maintenance Fund grant.
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
monthly reports.
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").
As with my Perl 5 Core Maintenance Fund, I expect I'll apply to extend
this grant.
## Project Details
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
weeks.
I am available to start work on this project immediately.
## Bio
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
since 2013.
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
$20,000 (USD)
## Suggestions for Grant Managers
SawyerX (core team), Ricardo Signes (grants committee)
Comments (4)
Having been the grant manager for Tony's previous work, I can unequivocally say this is one of the most valuable TPF grants we've had, quickly proving its benefit time and time again.
Tony does exemplary work that is crucial to Perl's continued life: Maintenance (like bugs), development (like features), and a large part of the hands-on security patching and distribution handling. Tony also lends his knowledge and experience in deep technical conversations, making other changes (like feature design) critical.
I don't think TPF spends money much better than this.
Tony has been doing great work and I would like to see it continue.
What rjbs said is succinct and exactly right in my opinion