If you were at YAPC::Europe this week you might well have seen Richard Jelinek’s talk about how to increase Perl’s popularity (update: the slides are here). As part of that talk he suggested that the Perl community needed to run more of its infrastructure using Perl and (amongst other examples) he mentioned a discussion he had with an unnamed Perl News administrator about why Perl News is run using WordPress (which is written in PHP).
I’m happy to admit that I’m the unnamed Perl News administrator. But I think that Richard’s report of our conversation omits a lot of the detail in the points I tried to make to him. So I’d like to take the time to clarify my thoughts on this. There are three points in particular that I’d like to make.
I have a lot of projects on the go. I should probably cut back a bit. Yes, I could start a project to create a WordPress clone in Perl, but that would mean that I would need to shelve a few other projects for some considerable time. The alternative is to quickly build Perl News using an existing tool. You know which option I chose. Of course, you’re free to disagree with me.
2/ Network Effects
Even if there was a capable WordPress replacement written in Perl I probably wouldn’t use it. You see, WordPress isn’t just the software. There’s also a huge community behind it. And that means that there are a huge number of themes and plugins available – with more being released all the time. Every time I want to add a feature to WordPress site, I just find the appropriate plugin and install it. Without that huge community, I would have to implement lots of stuff myself. Which would mean that either I’d be working on Perl News full-time or Perl News would be missing lots of features (for example the social networking hooks).
Leo and I built Perl News because we thought it was a useful site for the Perl community to have. You can probably tell from the frequency of updates on the site that it’s not exactly a top priority for either of us. Personally, I’d be very happy if someone else took responsibility for it. So if you think that you can do better, or if you have a Perl system that you think could be used in place of WordPress without any removal of functionality, them please let us know. I’d be really happy to give you a dump of our database (so that you have all the existing stories) and update the DNS to point the domain at your server.
If it matters to you to have Perl web sites running on Perl code, then just go ahead and do it. I would be happy to see it happen. I just don’t have the time to do it myself.
This blog has, until now, run on Movable Type. I initially chose Movable Type when I set up my first self-hosted blog back in 2002. Back then Movable Type was the only real choice in this area and it had the bonus that it was written in Perl so I could hack on it if I wanted to. Of course I never got round to doing that.
Since then I’ve set up many blogs and they’ve pretty much all used Movable Type. But over the last year or so I’ve been wondering if that’s the right choice. There are a few reasons for this, but the main one is the relative popularity of MT compared with other platforms. There just isn’t the community of people producing themes and plugins for MT that is for, say, WordPress.
I’m already pretty impressed. Moving the stuff over from MT was pretty painless and I’m already reaping the benefit of the larger ecosystem. I’ve found plugins that deal simply with things like Google Adsense and Google Analytics.
Currently the links to the monthly archives are broken. But I’m sure I’ll get those fixed in the next day or so. I’ll be monitoring the error logs closely to see if there are any other missing pages, but please let me know if you find anything that’s broken.
Oh, and just to head off some obvious comments – yes, I’m using a blog engine that is built in PHP, not Perl. My operating system isn’t written in Perl, nor is my web browser or, indeed, most of the software I use from day to day. It would be great if there was a powerful and popular blogging engine written in Perl. But there isn’t, so I’m using this instead.
Warning: It’s likely that I’m going to spend some time playing around until I find a theme that I like. This site is likely to look different every time you visit over the coming weeks.
You’ll have noticed that both Drupal and WordPress are written in PHP. If I was going to include another item on the list, it would probably be Joomla – which is also written in PHP. The first Perl-based system on my list would be Movable Type (or perhaps Melody, the community-driven fork of MT).
I use MT to build blogs (this site is built with MT). I also used it to build my company web site. So why isn’t in my top three suggestions? Well for two reasons. Firstly I don’t think that it’s quite as easy to use for non-technical people as the other systems on my list. And secondly, last year I tried to use MT to build something more complex than a single-blog site and it all went horribly wrong. With some help from the people at Six Apart those problems are getting sorted out and hopefully the project will be launched soon, but I’m currently wary of recommending MT to end users wanting to build sites.
Of course MT gets better all the time. The MT5 betas look really nice and I’m really hopeful that Melody will be a great end-user CMS. But currently I’d still recommend Drupal and/or WordPress.
End users don’t care at all what technologies their web sites are built in. As long as the site looks good and works well, why should it matter to them whether the site is written in PHP, Perl or anything else? But from the point of view of language advocacy, I’d like to be able to recommend something that’s written in Perl.
So what can we do? Well, firstly, you can tell me if I’m missing anything. Is there some other Perl-based simple web site builder that has completely passed me by? What systems would you recommend (or use yourselves) if, for example, a local school asked for help building a simple site?
And if there isn’t something that I’ve missed? Should a group of us sign up for the Melody project in order to ensure that it becomes a worthy alternative to Drupal? Is there some other project that we can co-opt to this purpose?
Or do we just not care? Is it ok that we’re in danger of losing the low-end web CMS market to PHP systems?