The Perl Foundation is in a mess over disputes over its (non-existent) Code of Conduct, the (inconsistent) enforcement of community standards, and the inability to agree on what constitutes toxicity or an appropriate response to it.
At least four prominent members of the Perl community have recently resigned from their positions at the Perl Foundation, and another has completely withdrawn from working on Perl:
- Samantha McVey, Chair of the Community Affairs Team (CAT)
- Curtis Poe, Member of the Board of Directors of the Perl Foundation (TPF) (author of Beginning Perl and Perl Hacks)
- TPF Grant Committee member Elizabeth Mattijsen
- Perl developer and SUSE engineer Sebastian Riedel
- Perl Steering Council member, key Perl Core developer and former pumping Sawyer X
It is difficult or impossible to pin the current infighting to a single incident. That said, the wave of layoffs is all about unprofessional behavior issues — problems compounded by a focus on endless yak shaving that does little or nothing to address the real issues.
Sawyer X (resigned April 12)
Perl Core developer and “pumpking” (roughly the chosen administrator of the entire Perl language) Sawyer X resigned from the Perl Steering Council and Perl Core in April, after hearing an excruciating barrage of hostile messages from members of the Perl community claimed. Sawyer quotes responses to a post stating, “There’s cruft in it [Perl]as the excuse some members of the Perl community used to “push him into a corner” until he deactivated his Twitter account.
In the crucial thread, developer Matthew Trout disdainfully states, “The folks doing the work on perl core don’t seem to find the cruft a problem.” After some back and forth about who does or doesn’t count as a Perl admin who might object to cruft, Sawyer declares, “I’m not interested in discussing anything with you, Matt.”
To an outsider, the wire seems rather tame, even quite polite. Only Sawyer’s refusal to continue the discussion with Trout hints at the real suffering that lies beneath – which may have to do with the reasons why Trout was permanently banned from Perl events a week later.
Trout’s ban was partly due to the conference behavior of fellow developer Aaron Crane described elusive as philosophical anti-Semitism — and in part as unspecified “persistent behavior” from Trout that makes other members of the community uncomfortable. The board later reviewed the CAT’s actions, removed the “transparency” reports and changed Trout’s permaban to a one-year ban.
Trout, for his part, later told The Register that he was angry at having hurt Sawyer and that he accepted the revised one-year ban as “the best for [Trout’s] friends and community.”
Sebastian Riedel (resigned June 25)
In March of this year, Patrick Spek, a former member of the Perl 6 (Raku) steering committee, pledged to
.config/git/config with a commit message that says “Get a job” followed by the n-word. Sebastian Riedel filed a complaint with the TPF board, which he say was tracked down by a board member – that’s why Riedel quit.
Riedel’s complaint to the board indicates that this is not Spek’s first racism rodeo. CPAN still offers downloads with a 2017 tarball of Spek with a folder called “perl6-n[word]”. We downloaded the linked file and can verify that it is still available from CPAN, and it does contain that folder.
To make matters worse, Riedel so-called that McVey – who headed the CAT and thus was responsible for responding to the incidents in question – was in a romantic relationship with Spek at the time.
Updating: After this article was published, Riedel clarified that his frustration is specifically related to TPF, tweet “the wider Perl community has absolutely no influence on the Perl Foundation. The Foundation is ruled by nepotism and there is nothing a normal Perl developer can do about it.”
Samantha McVey (resigned on August 7)
At the time of her resignation, Samantha McVey was chair of TPF’s Community Action Team (CAT). McVey cited her resignation as primarily due to the TPF board’s failure to approve a charter and code of conduct, along with the board’s decision to unilaterally withdraw all CAT transparency reports issued in 2021. (and delete).
“Repealing the CAT’s transparency reports sends the message that the board of directors does not want to support the CAT and does not prioritize community safety,” McVey said. She added that she was not involved in the board’s decision to withdraw the reports – and that if she did not resign, she would appear to support the board’s actions.
While McVey’s resignation primarily cited her perception of the board’s inability to lead and lack of transparency, she appears to share a general frustration with the Perl community with others who resigned.
McVey’s position in Perl’s battle is complicated by Riedel’s accusations that she had a romantic relationship with Spek (who has a history of undeniably racist language and committing) and that she was indifferent to reports of Spek’s use of the “n- word” in messages and code. That conduct that is believed to be a flagrant violation of the Code of Conduct that McVey presented to the board in the first place.
Updating: McVey reached out to clarify, “I am no longer romantically involved with Patrick Spek because of his past actions.”
Elizabeth Mattijsen (resigned 7 Aug.)
TPF Grant Committee member Elizabeth Mattijsen resigned on the same day as board member Samantha McVey, citing the TPF Board’s decision to suspend the CAT and withdraw its previous reports as “the last straw”.
Mattijsen said she was already considering resigning before the CAT hiatus, because the board was unable to confirm funding for already approved grant applications. “TPF has never published anything about their financial condition,” Mattijsen told a Twitter commentator. She added that “The Chair of the Grants Committee was told to wait for the treasurer to return from vacation to find out if any grants would be awarded. I thought that was VERY odd.”
Later, Mattijsen gave a Reddit r/Perl comment accusing McVey of being at the center of some shadowy cabal as “an example of the kind of toxicity that made me leave the Perl community.”
Curtis Poe (resigned on August 9)
On Github, Poe categorizes his resignation from TPF Board as a result of “burnout” – “I stopped reading the minutes. And then I realized I had a burnout. Or a burnout. Or whatever too. I just didn’t care.”
Poe cites several controversies about the Community Affairs team—the actions and lack thereof, the community’s response to them, the CAT’s response to them, and so on—as key to his final decision, though he’s reluctant to get more specific. to lay.
“If you don’t understand the following, count yourself lucky. I don’t feel like explaining this mess,” Poe writes. While Poe refuses to go into many details, he seems to be referring to the then-battle between Sawyer X and developer Matt Trout, which ultimately led to Sawyer’s exodus from Perl.
After spending a day walking through the stated reasons and backstories of these high-profile layoffs, it’s hard to come to a single, unequivocal conclusion – although “burning this whole pile of snakes, using the most primary magic” is frankly tempting.
I’ve personally used and enjoyed the Perl language for nearly 30 years, and it’s disturbing to see the bigotry and edgelording coming from prominent elements of the community – not to mention the failure of the board to act decisively. react. Nor is the Perl community the first to grapple with “culture wars” revolving around a code of conduct, which makes it all the more puzzling why the board seems unable to formulate one.
Ultimately, the presence of toxic elements—whether racist, sexist, or just plain aggressive bullying—in a community of any real size may be unavoidable. The real test of a community is not the discovery of those elements, but its response to them—especially its willingness to acknowledge them. So far, the Perl community doesn’t seem to pass that test.