As this page is evidence, I chose WordPress for my weblog a little ways back. In truth I was really looking for more of a wiki/weblog combination. I’d really like to find something suitable, and add to it, but it seems I am trying to apply too many constraints.

Licence

The software should preferrably not be GPL (Gnu Public License). Personally I find the GPL too coercive for my taste, and have felt this way ever since first reading the GPL off a USENET posting in the mid-1980’s. It is somewhat darkly ironic that the GPL seeks to replace one form of coercion with another.

Commercial use cannot be disallowed. I want the freedom of re-using anything to which I contribute in my paid work.

Implementation language, database use, and web hosting

This is a bit more of a hash. My current web hosting providor supports PHP (via mod_php), MySQL, and PostgreSQL. Perl support is via CGI. Java is not supported.

Java would be my first choice for anything of substance, but short of renting a co-located server (a bit more than I want to spend) this may not be practical. I am a bit dubious about running a single JVM for many users on a shared system, and JVMs are a bit fat to have active for every user. For the limited amounts I want to spend for personal web hosting, Java may not be practical.

Perl is terrific for writing small to mid-sized scripts - especially those that do hideously clever transformations on text in a small amount of code. I am not keen on writing larger sources in Perl.

PHP is good for writing quick-and-dirty web applications. PHP is very well supported for modestly-priced web hosting. PHP borrows a lot from Perl, is a shade cleaner as a language, and as such is probably more suitable for mid-sized applications. On the other hand, the implementation of many open-source PHP applications is - ugly (and I’ve looked at a lot lately). Not really code I’d want to work on. (Might be a lesson in there somewhere about too-low an entry barrier?)

Performance

Admittedly I am a bit of a performance freak. Almost everything I have done involved pushing software performance to the limits of the hardware, and I have a knack for doing this well. When looking at Wikis I naturally started with c2 and loaded a variant onto a test system (an older box) … then watched it churn through nearly a billion instructions(!) just to render just the text for the FrontPage. Now I’m all for burning CPU to offer function - but this was obscene! Many of the wiki implementations seem to have similar problems. (What really bugs me about this, is that the problem is solvable - but I don’t have enough free time to do an implementation. A topic for another day…)

Portability

Again, I’d like the ability to re-use work I’d contributed to in my paid work. That means the software needs to be usable on Microsoft Windows.