Names and Numbers, Brands and Identity
There's been some recent fussing on the blogoshere about the idea of 'Perl 7'.
It's a terrible idea. But it's a terrible idea suggested for some interesting and important reasons.
The basic starting point here is that Ovid went to FOSDEM and encountered something a lot of us have been unhappily aware of for quite a while - perl as a name just isn't working as an identity, and it isn't working as a brand.
There's a reason for that.
The reason is the past ten years, the perl 6 project, and the fact that we've never really untangled who we are from who we were.
Let me try and explain that a bit better - perl 6 stands as a brand in its own right. It's working out fine for them, and I'm really glad about that, because that means I don't have an extra problem to try and address here.
We, on the other hand, do have a problem.
When you say 'perl 5' to people, they hear 'the thing before perl 6'. And that just isn't the point. It isn't what we stand for and it isn't who we are.
The perl 6 team understand that. The perl 5 core community understands that. We're fine with each other, and we recognise that we have two communities, two cultures, both happily functioning within the grand tradition of perl.
But the outside world still doesn't see "two languages in the same family", even if Larry says "perl 6 is perl 5's spunky little sister" (which I like), even if I can stand on stage at YAPC and say "perl 5 is about making today better than yesterday, and perl 6 is about trying to find the best of all possible tomorrows" (which perl 5 and perl 6 core developers liked).
What they see is 'perl 6', that still isn't "ready" (they're trying to create a hundred year language ... if it takes them twenty years to do it, that's fine!). And what they see is 'perl 5' as something that's still being developed only to their mind as a stop gap until the next major version comes along.
Well, that just doesn't work. That isn't true anymore. perl 5 is being actively developed by a bunch of awesome people, led by a succession of awesome pumpkings, and has a culture and a future in its own right. We know that. The perl 6 community knows that.
But the outside world still isn't getting with the program. And the problem is a problem of naming and of identity.
Names and numbers
You can include a number in a brand. That works fine. But what you can't do is have two successive numbers in two brands and not expect people to be confused.
Which is why 'perl 7' wouldn't help either. In fact, it would make things far worse. It would look defensive. It would, frankly, look dismissive of the perl 6 team and all the effort they've made over the past decade. It would damage the 'perl 6' brand that is working, and it wouldn't give us a brand that we can truly work with.
It would also be horribly disrespectful to Larry, and given without him we wouldn't have any perl languages at all, that strikes me as a really really awful thing to suggest.
What we need is our own identity.
What we need is a name to call our own - and if we have a name to call our own, we can stick whatever numbers we like on the end of it and not have a problem - and not be treading on other people's feet, to boot.
perl revision 5 version 16
Run perl -V. Look at the output. It doesn't say 'perl version 5'. It says 'perl revision 5 version 16'. So we already have a perfectly good version number, one that's going up every year now thanks to the amazing work done by our recent pumpkings and by the perl5 porters.
So, really, that's already solved. The problem is, still, getting the word out.
The problem is, still, branding and identity. I'm proud to be using perl5 version 16. I'm proud to be using the pumpking's perl.
That's our identity. We're using the pumpking's perl, the perl maintained by a succession of people who've been wrangling development and releases on behalf of Larry, and on behalf of the community, for as long as I've been writing perl.
A new brand for the same identity
The thing is, we already, in effect, have a name. We have a name that's already implicit in what I've already said. The pumpking is the current holder of the patch pumpkin. Sure, the pumpkin is a virtual thing these days, an idea rather than the oversized soft toy commit lock that it originally was, but the idea is still there, the idea continues.
So for all these years, what we've been using is the perl blessed by the holder of the patch pumpkin. Those are the two things that have been a constant all the way down through the years. The perl ... and the pumpkin.
So why don't we run with it?
RFC: Pumpkin Perl
It's a long standing tradition. In the name pumpking, it forms an essential part of a long standing pun, and I think we're all aware how important long standing puns are to our identity and culture.
So what if next year's release, instead of saying
perl revision 5, version 20
pumpkin perl, version 20
It would still be the same perl. The internal version would still say the same thing. We could bikeshed about 'use v20' instead of 'use v5.20' but I really don't see that that's an important thing - Solaris 8's kernel happily reported itself as SunOS 5.8 and the world didn't end.
Sure, people will probably make the odd joke about the version number shift over, just like they did about Solaris - but by around Solaris 10 it was just one of those odd artifacts of history and nobody really cared. The same trick has been pulled off for Java and nobody really cares about that anymore either (even if I do still prefer Oak as a language name :).
Roses are red, pumpkins are orange
A pumpkin would make a great mascot as well. It's still a big round-ish thing, which means it's not completely dissimilar to an onion (which I consider a useful thing, given we're going for continuity here, remember?).
It's orange. That's a point in favour, because it means that the London Perl Mongers have to like this idea because, well, if it's orange then they have to be in favour of it.
It's a bit lumpy, which is a clear and easy route to owning a bunch of the syntax related jokes other people like to make.
It's made up of segments - which very well fits our community, with the mixture of one liner gods, systems scripters, application developers and library authors, of data processors and batch system maintainers and bioinformaticists and linguists and web developers and Damians (because he is a segment all to himself, and that's probably the safest way).
It's made up of segments, and yet they fit together into an overall shape that reinforces itself, buttressed together by the presence of those segments into an overall whole.
Best of all, you can carve anything you want into it, and there's far more than one way to do it, and you can do quirky things like put tealights inside it and we're good at more than one way to do it and we're very good at quirky.
Plus, perl 6 has a prior claim on christmas, and the Rakudo Star and perl 5 release schedules have both made jokes about Easter - so let's collect the full set and make jokes about Halloween as well (and, well, obfuscated perl compares nicely to Halloween costumes if you squint a bit, so we get the chance for even more bad jokes which is always a good thing).
... it's valentine's day, and orange still doesn't rhyme with anything.
So today I'd like to say -
I am proud, and happy, to use the pumpking's perl. The perl of the patch pumpkin.
I'd like to take this pride and use it to claim our own name.
Pumpkin Perl is a name that speaks to our identity, to our values, and to our continuity as a community and as a language.
It would let us say to the world that we have an identity independently of perl 6, while still making it clear that we're a language in the perl family and that we're proud of that as well.
It would let us take all the things we already are, and give us a brand under which we can promote and evangelise that identity without forever having to explain about the history of the numbers.
Most of all, it would let us get on with being awesome under the auspices of one name attached to one identity that has meaning and positioning both within the community and in the outside world.
Let's carve a smiley face in it and think about giving it a go.
-- mst, out.
(you can comment on this post at blogs.perl.org)