Movable Type Open Source

Last week, Six Apart finally released the Open Source version of the Movable Type platform. The impending release of MTOS was the main reason why I’d selected Movable Type when I was planning to migrate away from b2evolution several months ago.

With MTOS, the code is licensed under the pure GPL, so while Six Degrees still intends to sell an enhanced version of Movable Type, the core of their software will always be free. I’m not sure what they intend to sell, if it will just be support and a set of plugins, or what not, but they’ve chosen to give the community a very mature and powerful Perl-based platform.

While quite a bit of my initial decision was based on wanting to use Perl as the base language for my new system. I wanted something new, certainly, and quite a bit of my more recent work has caused me to prefer Perl to PHP. With it, came several other benefits, however. My blog performs far better than it used to, and takes much less effort to serve off my servers. This is largely due to a major change in methods used between the b2evo and MT.

In b2evo, and with almost all PHP apps, pages are ‘fried’, meaning that they are processed and prepared out of the database for every single visitor. This takes time, and processing power. Living on a shared system, as I do, this is a problem. Actually, a while back, my b2evo site had become so inundated with Spam, that it was actually taken off-line because the database was out of hand.

With Movable Type, pages are ‘baked’, meaning that each post is generated only when I demand it (ie, the post is edited, a comment is added, or I republish everything). Then, it’s stored on the filesystem as a static file and served up quickly and easily. The only fried pages are the ones that need to be, like search (which I’ve mostly offloaded to Google). In the end, I get far fewer database hits, which means that the database is safer, and the system performs better.

I’ve been happy sense I migrated to MT. The administrative interfaces are better, and it’s easier for me to customize the templates than it was with b2evo. The only thing about the MT Open Source release was the selection of the GPLv2, which doesn’t have any specific protection for web apps. Since web application code isn’t actually ‘delivered’ to the customer (the browser, in this case), you don’t really have to honor the GPL for web-based applications. You can keep your changes to yourself. Luckily, this doesn’t apply to Six Apart, since they are delivering to a client’s servers, so their code will still be held to the GPL.

Not that I care much about what Six Apart does right now. At least I’ve got a powerful blog tool that I can do whatever I please with.