Tinkering with the development process

Having decided to start work on Perl 6, the first issue addressed was how to improve the development process. An examination of the existing process will underline why this was considered necessary.

How it used to be (and still is, for Perl 5)

Perl 5 development centred around one mailing list, perl5-porters, aka "p5p". This mailing list was home to a core group of perl hackers and an ever-changing procession of hopeful contributors, with Larry presiding over the whole thing as a benevolent, but mostly uninvolved, dictator.

The p5p list was very high volume, and many subscribers dropped off it when they were unable to keep up with the discussions. For those without the courage to brave the deluge, a weekly summary was posted on the web and available by email. This provided links to threads or specific posts of significant interest, all of which were available via a web archive.

As well as being high volume, p5p had a reputation for unfriendliness and for being the home to some particularly heated flame wars. Certain personalities on the list were renowned for the frequency and vehemence of their flames, and newcomers were often scared away by the argumentative atmosphere or the cold welcome they received.

More recently, a system of "refereeing" has been introduced, in which a small group of trusted regulars are charged with keeping the peace. The means at their disposal include out-of-band warnings to offenders and moderation of posters who repeatedly ignore warnings.

Why change it?

A number of reasons were given for why the Perl development process needed changing. These included:

How did we make decisions about this?

Straight after the TPC 4.0 meeting and announcement, a mailing list called perl6-bootstrap was set up, with the goal of determining what shape the subsequent process and community should take.

Unfortuneately, the bootstrap phase was given only a couple of weeks to make decisions, and the first week of that was largely wasted while travelling TPC attendees returned home, recovered from their jetlag, and caught up on their email backlogs.

The result was rushed decisions that upset some people. However, most of the people were upset because the decisions had been rushed, not because they were necessarily bad. Few suggestions were offered that differed significantly from what we ended up with -- most differences were in the naming of mailing lists and other such (relative) trivia.

The shape of Perl 6 development

Here's what the bootstrap list came up with: