Subject: What I want for Christm^W the QA hackathon
Date: Fri, 30 Jan 2015 12:20:46 +0100
From: Peter Rabbitson <rabbit@rabbit.us>
To: { about 35 people, various stakeholders around Perl and CPAN }
(This mail is addressed to a lot of people, mainly to the list of current participants, and then to some extra folks who I think ought to be in Berlin anyway, and even some more people on BCC. Sorry for taking your collective time)
Greetings!
I've been dithering over this email for the past... many many days. As much as I dislike myself for it, I can't find a way to not-write it. Almost all of you know me personally, thus I have great hope that the borderline stuff below will be taken at face value, instead of taking the alternative route of labeling it all "flinging poo"(sic).
On the surface we are doing great. There are amazing things like the PRC, there are various CPAN upload leaderboards and challenges. We engage with newcomers more. We have "legalized" adoption mechanisms within the PAUSE permission system. We are not dead (cue a sleepy yay).
Stepping outside of our beloved echochamber a bit however... we suck. Tangibly, measurably, throw-mugs-at-walls suck. Compile a fresh perl (or run a "cleaner" on an existing one... if you dare), and try to install something used heavily in production, like say Catalyst. Do not go for coffee in the meantime but sit through that. Consider that every single newbie ends up sitting through that, likely several times before they get the hang of it. More importantly - consider how much of the stuff scrolling by is there to actually do something for the end user. Then consider how much of the remaining stuff has unstable, unqualified, or openly hostile authorship. Then ruffle through bugreports (some of the addressed people do that anyway) - consider how many of the transient issues are caused by poisonous I know better than you developer hubris. And then how much of it is caused by cheerful wide eyed developers earning points at yet another challenge.
I find todays answers to the above "hypotheticals" appalling (and getting worse year after year). Moreover I repeatedly see a social problem underpinning a vast majority of the issues: we optimize for mutual ego-stroking, instead of code. The result is a direction of the cpan cabal that only roughly coincides with what users in soulcrushcorp cubicals and university dorms actually need. This "semi-peaceful coexistence by accident" is... it has to change.
I didn't yet put my name on the attendee list. Not because I have a scheduling conflict, but because I have a conflict of conscience. At a quality assurance hackathon I want to deal with... things that diminish the (gasp) quality of what we put out collectively as a product (volunteers or not - we are still putting out a real product, and this brings in more responsibilities than many of you want to admit). I can go into great details about what I want to tackle, but the core overriding problem is that almost none of it will require code.
It will require hours if not days of painful meticulous discussions (likely shouting matches). Discussions that will have to set aside egos, eagerness, perceived (or worse self-appointed) "rockstar problem solver" status, and similar traits. A discussion from which the only way out can be a cohesive cpan-chain body which has the mandate to do just about anything as long as they are in a near-unanimous state.
A body which can take any cpan developer (maintainer or not) and tell them "you need to cool down, let the reviewers recharge, please go do something else (not a suggestion)". A body which can take any cpan developer (maintainer or not) and tell them "your last upload - not cool, either fix every point on this list without argument, or hand the namespace over". A body that can do these things, and that will do these things when other options are exhausted. A body which is willing to do this while putting the health of the already extremely fragile ecosystem ahead of individual feelings and convictions. And a body whose members are comfortable with doing this in the open. And as I said - none of this can be solved with yet more code.
Which brings me back to why I hesitate going: "I don't want someone coming to a hackathon if it's just going to make the whole thing miserable for everyone"(sic). I can not possibly impose this discussion on people who simply do not care about it, yet we need at least 2/3rds of the attendees to participate in this, for any hope of long term success.
So... yeah, that's about all I have to say. I added an entry on the wiki (ordered by how I perceive its importance). If what I said above resonates with you, and you think such an effort has a chance - put your name on the "by" list.
And if not, well it is what it is. There will always be a long list of things to work on besides politics.
Cheers