develooper Front page | perl.perl5.porters | Postings from October 2009

The Great Pumpkin

Thread Next
Jesse Vincent
October 31, 2009 10:20
The Great Pumpkin
Message ID:
When I was a kid, Halloween was always an exciting time of the year. One
of the highlights of any Halloween was a Peanuts/Charlie Brown special
called "The Great Pumpkin[1][2]"  Each year, Linus would spend Halloween
in a pumpkin patch awaiting the arrival of the "Great Pumpkin".  The Great
Pumpkin is a Santa-Claus like figure. He does bring toys like Santa. But
unlike Santa, who gives away toys because it's his job, he gives away
toys because it's the right thing to do[3].  Linus never gets to meet
the Great Pumpkin, but that doesn't shake his faith. He waits patiently.

I'm tired of being Linus. And I don't want perl porters around the world
to spend their Halloweens wondering whether there is a Great Pumpkin
or not.

To this end, I asked our former pumpkings for their blessing to pick up
the patch pumpkin and shepherd 5.12 into existence. 

After talking with a fair number of folks over the course of the
spring and summer, I have, I hope, gotten us onto a monthly schedule
for blead with a release engineering talent pool a few people deep.
5.11.1 definitely went much more smoothly than 5.11.0. We'll see how
much Yves wants to maim me after he does 5.11.2 on the 20th. But every
release gets more automated and every release gets smoother. blead is
on a reasonable trajectory. Already, we're starting to see contributors
stepping up to test and stabilize in advance of the monthly releases.

At this point, it's time to start planning for 5.12, 5.14 and
forward. Rafael has suggested "Perl 5.12 for Christmas." At this point,
we will be lucky if we hit Coptic Christmas[4].  However, I would rather
aim for Christmas 2009 and miss than aim for "some date later in the
future" and miss.

The plan for Perl 5 Release 12 is as follows:

* Blead will feature-freeze on November 21.  (just after Yves ships 5.11.2)
  After that point, no feature should be added or removed from blead. 
  After that point, dual-lifed modules should only be updated from CPAN
  versions to fix major bugs or security issues.
  Exceptions will be considered on a case by case basis.  

* See if anyone tries to kill me in my sleep

* We will polish and bugfix and push on others to fix bugs in
  blead/5.12-to-be until we have something that we feel is of a higher
  quality than the current release of 5.10.

  (During this time, monthly release of blead will continue)

* When I believe that blead is of sufficient quality to ship, I'll issue
  a final call for testing in advance of an RC.

* Get former pumpkings to sanity-check the release-worthyness. If they
  give us a "no-go", we'll iterate until they consider the state of blead
  to be a solid, shippable 5.12.0.

* Ship 5.12.0RC1
* Yell at people to test the RC

* Yell at people to test the RC

* Yell at people to test the RC

* Ship RC_ to fix bugs found/reported/discovered to be serious enough
  to block a release.

* Repeat as necessary

* Ship 5.12.0

* Yell at people to test 5.12.0

* Ship 5.12.1RC1 30 days after 5.12.0 with whatever bugfixes, cleanups, 
  improvements were found to be necessary when users _actually_ test
  the release.

* Ship 5.12.1 with a methodology similar to that used for 5.12.0

* branch maint-5.12 and reopen the blead tree 

Assuming that we're happy with the results, my intent is that we spin
up the same process for Perl 5 Release 14 next October or November.

Historically, our pumpking has been:

	* our release engineer
	* our mediator
	* our decision maker
	* our project manager
	* our primary patch applier
	* our hard-core C code reviewer
	* our internals guru
	* our language designer
	* our sacrificial punching bag
	* and many other things...

I'm doing what I can to delegate and automate release engineering,
though I know that the ultimate responsibility always falls on the
person stubborn enough to claim responsibility.  Many other parts of
the pumpking role are the sorts of things I spent a lot of time on when
I was foolhardy enough to stare into the gaping maw of Perl 6 as their
nominal project manager.

My language design tends to the conservative. I'd rather see the core
made more flexible, extensible and easier to maintain than see language
features added or removed.

I am not a skilled C hacker. I don't expect to magically become a skilled
C hacker. I am not a perlguts rockstar. I'm going to have to lean on those
of you who _are_ excellent C and perlguts hackers, but that's work you're
already doing (and that I'm grateful for).


[1] Yes, the same special every year. I had a very boring and sheltered



[4] Thursday, January 7, 2010 (December 25 on the Julian Calendar)

Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About