Carl Masak looks at Perl 6 development from a unique angle.
On the way to lunch today, I queried two collegues about Eve Online, their favourite way to spend
evenings and weekends:
<masak> So, are people confused by all the detail when they first
<jonalv> Of course.
<masak> And how do you... handle that? How do you make it easy and fun
for people to get up to speed?
<jonalv> Well, people tend to find the fun in it themselves. As to
getting up to speed, they simply have to start in one end and unwind the whole
<Gpox> It is complicated. There are occasional jokes about the
<jonalv> Nowadays people have the wiki to help them get started as
well. There wasn't one when I joined.
I think the parallels to the Perl 6 community are so clear that I don't even
need to point them out.
I'm sure there are many differences between multiplayer online games, but the
social dynamics seem very similar to what we have over at
#perl6. Which brings me to today's thesis:
The Perl 6 community has the structure of a MMORPG.
We have just as much fun, and — what's perhaps more important —
the bits we're putting together won't end up being owned by Blizzard
Entertainment or CCP Games. Instead, we're building something that we
ourselves and others will find directly useful during a large part of our
lifetimes. I'm not out to devalue online multiplayer roleplaying games, just
pointing out that there's perhaps an extra dimension to the acheivement we get
to feel in the Perl 6 community.
Just for the heck of it, let's take the analogy one step further.
So, you want to join the Perl 6 community? If so, congratulations! You're
about to embark on a quest that will seriously impact your day life, your
habits and your sleep patterns. You will be building things, fighting unknown
dangers, and communicating with your peers in order to make sure people are
maximizing the benefit to the team and to the quest.
Here are the different classes you might want to occupy:
One who actually fights the creatures out there, who braves new, possibly
lethal dangers every day. In short: a Perl 6 application writer.
Being a warrior requires strength (you will have to hit the keyboard a
lot when writing all the code, and the code will mercilessly hit you
back... often), some dexterity (because working around known bugs
requires adaptability) and perhaps a bit of charisma (should you want
to collaborate with people, it's good to be pleasant).
We're currently on the lookout for warriors, so if you think you have it in
you, be sure to stop by #perl6 and help us equip you for the perilous quest
you have before you.
The priest is important for the group, but doesn't put himself in the way of
direct danger like the warrior. Instead, they perform vital tasks with their
hands at a safe distance. In the Perl 6 world, priests submit bug tickets,
write tests and answer newbie questions on the #perl6 channel.
Being a priest requires intelligence (because their job is mainly to
increase the collective knowledge of the group), constitution (because
it's a lot of work) and perhaps a bit of charisma (so we don't bite the
I must say that I admire the priests. The impressing thing isn't in the
incantations themselves, which are individually quite basic. The impressing
thing is that their favour from the gods doesn't seem to run out. moritz++ and
KyleHa++ especially come to mind. I'm sure there are slots for a few more
In the flurry of activity during a quest, the mages are the ones who wield
forceful spells in the form of new features in our implementations. The mages
know some pretty hefty incantations, but they speak in codes (like "Haskell",
"Parrot" or "Lisp") so that us mere non-initiates can only stand by in
admiration when they get going.
Being a mage requires wisdom (because, hey, you're implementing a
compiler), intelligence (in figuring out how to fix the bugs and still
pass the test suite), and constitution (because it's a lot of work).
Learning to be a mage looks nigh-impossible, but our mages assure us that
there's actually not that much to it. And the rewards are of course enormous:
you get to have an incantation of yours immortalized in millions of
installations around the world.
Some people are in the group to make sure the group is doing well, and that
no-one is critically low on hit-points. Discussions can sometimes get heated
or sharp, by which point we're very glad to have the people around who are
specially trained to see beyond the ego and help us focus on the important
parts of the picture. We simply need to be reminded at times, that we're (as
S01 expresses it) "a bunch of ants all cooperating (sort of) to haul food
toward the nest (on average)". We don't need to agree always on everything,
but keeping the group coherent is important, and healers do their magic in the
background to help us with that.
Being a healer requires wisdom (to know where and when to intervene),
intelligence (to know to pick the right soothing words), and plenty of
charisma (to get it across that
-Ofun is what we're
I think many people jump in as healers now and then during our quest, but we
also have one permanently employed high-level healer among us. TimToady++.
As for long-distance influence, and reaching outside of our own circles, the
archer fills the important role of blogging, tweeting, iron-manning and
generally making a positive noise about Perl 6, which can reach people far
Being an archer requires strength (again, typing is hard, and
commenters/other bloggers might shoot back at you), and dexterity (you
need to be fluid in expressing yourself). Having intelligence,
wisdom and charisma — something I as a simple warrior
often find myself wanting more of in my blogging — is not a necessity,
but sure helps in getting your point across.
In conclusion: LFA, n00bs?
The Perl 6 community is on a pretty awesome quest. If you'd like to enter as
one of the above classes, you're sure to find your place as a productively
contributing members. Filling several roles is perfectly fine too, but
people tend to find their specialties and favourites.
As to when we'll be "done", who knows? When is an MMORPG "done"? All we know
is the quest we're on until April is our most ambitious yet, and that it's
guaranteed to be an interesting set of months on #perl6 until then.
(Careful postscript: I know that Eve Online might not be a role-playing game in any strict sense, so if you plan to write a comment that amounts to that, consider writing "Your post made me go download Rakudo" instead. The Eve Online bit was mostly how I got to thinking along these lines in the first place.)
Carl Masak has been programming Perl since 2001. He found Perl 6 somewhere around 2004, and fell in love. Now developing November (a Perl 6 wiki), Druid (a Perl 6 board game), and proto (a Perl 6 package installer), Carl is a heavy user of and irregular committer to Rakudo.