Even before the whole Movable Type fallout, I had been trying to decide which of the many weblog CMS packages would be best for my needs. (Choice made!) I got tired of flipping back and forth between each of the sites, especially when not all of the answers to my questions were apparent from simply reading the main web page.
This chart displays attributes of different user-installed blog software packages side-by-side for comparison. Only server-installed scripts will be included in this list. (Sorry, no Radio, Blogger, etc.) I created this chart to help figure out what blog tool best suited my needs. Hopefully, it will be useful to the self-hosted blogging community as well.
If you have more complete information about any of these
packages, please email that information along with the URL to your blog to
"blogware[at]midnightcircus[dot]com". I will integrate your info
and add your site to the example site lists at the bottom of the chart.
I have created an Excell spreadsheet to make this easier. You can download
it here. Just forward the
file to the specified address when you've added your info!
If you have any suggestions for criteria to include in the chart, please include that, too. If your favorite software is not listed here, please mention it and I will attempt to add it. If you are part of a development group for any of the mentioned software, feel free to submit updates regarding upgrades. If I have made a mistake somewhere, please email me with a correction and I will do my best to apply it.
Be sure to stop back as the chart becomes more complete.
I have received a few new submissions since a link to this page appeared on Slashdot. For the sake of getting them online quickly in the interest of these visitors, I added these directly and have not verified the features by hand. I trust that the interested folks who have supplied the data have given me good info, but you should use your own judgement, so I'll list these here until I verify them myself:
If you notice discrepencies between the actual features of any tool listed here and what I have in the chart, feel free to email a correction.
In alphabetical order. Entries with † symbol indicate non-default functionality provided by plugins.
| b2Evolution | bBlog | BLOG:CMS | Blojsom | Blosxom | Expression Engine | MovableType | Nucleus | Pivot | pMachine Pro | Serendipity | SPIP | .Text | TextPattern | WordPress | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Current Version | 0.9.0.8 Oslo | 0.7.2 | 3.0 final | 2.15 | 2 | 1.0 | 3.0 | 3.0 | Current Version | 1.14 | 2.3 | 0.6.5-CVS | 1.7.2 | 0.95 | Gamma 1.18a | 1.2 Mingus |
| Home URL | here | here | here | here | here | here | here | here | Home URL | here | here | here | here | here | here | here |
| Trial URL | here | OSCMS | here | here | OSCMS | Trial URL | here | OSCMS | OSCMS | OSCMS | OSCMS | |||||
| License | GPL | GPL | GPL | BSD | MIT | Personal/Commercial | Non-Commercial | GPL | License | GPL | Personal/Commercial | BSD | GPL | BSD | BSD | GPL |
| Cost (US$) | Free | Free | Free | Free | Free | $149/$199 | Free | Free | Cost (US$) | Free | $45/$125 | Free | Free | Free | Free | Free |
| Minimum Server Requirements |
PHP 4.1 MySQL 3.23 |
PHP 4.1 MySQL |
Java 1.4 Servlet 2.3/JSP 1.2-compliant app server (e.g. Tomcat) |
Perl 4 or 5 | PHP 4.1 PHP XML MySQL 3.23.32 |
Perl 5.004_04 |
PHP 4.1 MySQL 3.23.38 |
Minimum Server Requirements |
PHP 4.0.6 | PHP 4.06 MySQL 3.23 |
PHP 3 MySQL 3.23 |
Windows 2000 Server .NET Framework SQL Server |
PHP MySQL |
|||
| Localization | cs-CZ de-DE en-EU en-UK en-US en-CA en-AU es-ES fr-FR fr-CA it-IT ja-JP lt-LT nb-NO nl-NL nl-BE pt-BR sv-SE zh-CN zh-TW | en | cs, de, en, es, fr, zh, ru, ja, ko, nl, it, lv, sk, fi, gl, fa, ta, tl, pt, pt-br | en-US | en | en, ca, zh, nl, fi, fr, de, hu, it, ja, pt, es | en, ca, zh, da, nl, et, fr, de, el, he, hi, hu, is, id, it, ja, ko, la, ms, no, fa, pt, ru, sv, ur, cy | en, es, de, fr, zh, ru, ja, ko, nl, it, cs, lv, sk, fi, gl, fa, ta, tl, pt, pt-br | Localization | chi/ace, cz/cs, de, ee, en, fr, fry, it,kor, lv, nl, ru, se, sk, spa | en, zh, cs, da, nl, fi, fr, de, id, hu, ja, ko, no, it, fa, pt, ru, sk, sl, sp | en,de,fr,cz,da,spa | en, fr, ar, bg, ca, cpf, da, de, eo, es, fa, gl, it, nl, oc, pl, pt, vi, zh | en, de | ar, en-GB, en-CA, es-ES, fr, ja, de-DE, nl-NL, sv-SE, it-IT, hi | |
| Multilingual | Yes | Yes† | Yes | Yes | No | Multilingual | Yes | Yes | No | Yes | ||||||
| Data Storage | Database | Database | Database | Flat Files | Data File | Database | Flat Files | Database | Data Storage | Flat Files | Database | Database | Database | Database | Database | Database |
| b2Evolution | bBlog | BLOG:CMS | Blojsom | Blosxom | Expression Engine | MT | Nucleus | Pivot | pMachine Pro | Serendipity | SPIP | .Text | TextPattern | WordPress | ||
| Max. Weblogs | Unlimited | 1 | Unlimited | Unlimited | Unlimited | Unlimited | Unlimited | Unlimited | Max. Weblogs | Unlimited | Unlimited | Unlimited | Unlimited | Unlimited | Unlimited | 1 |
| Multiple Sites | No | No | No | Up to 3 | No | Multiple Sites | No | Yes† | Yes | No | ||||||
| Post Ordering | ascending descending alphabetical category |
ascending descending alphabetical category |
descending ascending† alphabetical category |
ascending descending alphabetical category |
ascending descending alphabetical category |
ascending descending alphabetical category |
Post Ordering | descending category |
ascending descending alphabetical category |
ascending descending category |
ascending descending alphabetical category |
|||||
| Categories | Multiple | Multiple | Single (Multiple†) |
Single | Single (Multiple†) |
Multiple | Multiple | Single | Categories | Multiple | Single | Multiple | Multipl | Multiple | Multiple | |
| Subcategories | Yes | No | No | Yes | Yes | Yes | No | No | Subcategories | No | No | Yes | Yes | No | Yes | Yes |
| Keywords | No | No | Yes | Yes† | Yes† | No | Yes | Yes | Keywords | No | No | No | Yes | Yes | No | |
| Default Post Fields | 3 | 2 | 3 | 9 | 4 | 4 | 3 | Default Post Fields | 4 | 4 | 7 | 7 | 3 | 3* | ||
| Max Post Fields | 3 | 2 | Unlimited | 9 | Unlimited | 4 | Unlimited† | Max Post Fields | 4 | 7 | Unlimited† | Unlimited | 6 | Unlimited | ||
| Post Editor | Plugin Based | Plugin Based | Textarea HTML |
Plugin Based | Plugin Based | Textile | Textarea | Textarea HTML Plugin based |
Post Editor | Textarea HTML Textile |
Textarea | Textarea |
HTML | Textile | Plugin Based | |
| Draft Mode | Yes+ | Yes | Yes | Yes† | Yes+ | Yes+ | Yes | Yes | Draft Mode | Yes | Yes | Yes | Yes+ | Yes+ | Yes | |
| Post API Support | Blogger b2 |
MetaWeblog | Blogger MetaWeblog MovableType BLOG:CMS |
Blogger MetaWeblog Atom |
No | Atom Blogger MetaWeblog MovableType |
Blogger MetaWeblog MovableType Nucleus |
Post API Support | No | Blogger | Blogger | No | Blogger MetaWeblog MovableType |
|||
| Post Moderation | Yes | No | Yes | No | Yes | Yes | Yes | Yes† | Post Moderation | No | Yes | Yes | Yes | Yes | Yes | |
| Post Pings | Yes | Yes | Yes | Yes | Yes† | Yes | Yes | Yes | Post Pings | Yes | No | Yes | No | Yes | Yes | |
| Bookmarklets | Yes | Yes | Yes | Yes† | Yes | Yes | Yes | Bookmarklets | Yes | Yes | No | Yes† | No | Yes | ||
| b2Evolution | bBlog | BLOG:CMS | Blojsom | Blosxom | Expression Engine | MT | Nucleus | Pivot | pMachine Pro | Serendipity | SPIP | .Text | TextPattern | WordPress | ||
| RSS Output | 0.92, 2.0, RDF | 2.0 | 0.91, 2.0 RDF | 0.92, 2.0, RDF | 0.92 | Yes | 2.0, RDF | 0.92, 2.0, RDF | RSS Output | 2.0 | Yes | 0.92, 1.0, 2.0 | 0.91, 1.0, 2.0 | 2.0 | 0.92 | 0.92, 2.0, RDF |
| Atom Output | 0.3 | 0.3 | 0.3 | 0.3 | 0.3 | Yes | 0.3 | 0.3 | Atom Output | 0.3 | Yes | 0.3 | No | 0.3 | 0.3 | 0.3 |
| Comments | Yes | Threaded | Yes | Yes | Yes† | Yes | Yes | Yes | Comments | Yes | Yes | Threaded | Threaded | Yes | Yes | Yes |
| Comment Spam | login filtering blacklist |
moderate delay duplicate shutoff |
moderate filtering members ipban userban |
ipban duplicate disable shutoff |
?† | login filtering captcha duplicate ipban userban |
login moderate ipban delay |
login ipban moderate† delay shutoff† blacklist |
Comment Spam | duplicate ipban blacklist |
login |
redirection plugin |
moderate | none | delay | massedit |
| Comment RSS | Yes | No | Yes | Yes | Yes | Yes | Yes† | Comment RSS | No | Yes | Yes† | No | No | Yes | ||
| Template Storage | PHP File | Flat File | Database | Flat File | Flat File | Database | Flat File/ Database |
Database | Template Storage | Data File | Database | PHP File | Flat File | Database | PHP File | |
| Template Tagging | PHP functions | Smarty | Proprietary | Underlying engine | Proprietary | PHP functions | Proprietary | Proprietary | Template Tagging | Proprietary | PHP functions | PHP Functions | Proprietary | Proprietary | PHP functions | |
| Edit Templates Online | Yes | No | Yes | Yes | No | Yes | Yes | Yes | Edit Templates Online | Yes | Yes | No | No | Yes | Yes | |
| Template Expert | No | No | No | No | No | No | No | No | Template Expert | No | No | No | No | Yes | No | |
| Edit Templates Offline | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Edit Templates Offline | Yes | Yes | Yes | Yes | No | Yes | |
| Template Conditionals | Yes | Yes | Yes | Yes | Yes† | Yes | Yes | Yes | Template Conditionals | Yes | Yes | Yes | Yes | Yes | Yes | |
| b2Evolution | bBlog | BLOG:CMS | Blojsom | Blosxom | Expression Engine | MT | Nucleus | Pivot | pMachine Pro | Serendipity | SPIP | .Text | TextPattern | WordPress | ||
| Open Registration | Toggle | No | Toggle | Toggle | Toggle | No | Toggle | Open Registration | No | Toggle | No | Toggle | No | Toggle | ||
| User Security | permission groups | single user | user/group permissions | user permissions | permission groups | user permissions | permission groups | User Security | permission groups | numeric levels | permission groups | user permissions | permission groups | numeric levels | ||
| Trackback | Yes | Threaded | Yes | Yes | Yes† | Yes | Yes | Yes† | Trackback | Yes | Yes | Yes | Yes† | No | Yes | |
| Pingback | Yes | No | Yes | No | Yes† | No | No | Yes† | Pingback | No | Yes | Yes | No | No | Yes | |
| RSS Aggregator | No | feed | aggregator | No | feed† | No | feed | RSS Aggregator | feed | feed | Yes† | aggregator? | No | Yes† | ||
| Forum | No | No | Yes | No | No | No | No | Yes | Forum | No | Yes | No | Yes | No | No | |
| File Editor | Yes | No | No | No | Yes† | No | No | No | File Editor | Yes | No | No | No | Yes | ||
| CSS Editor | Simple | No | No | Simple | No | Simple | Simple | No | CSS Editor | Simple | Simple | No | Simple | Fancy | Simple | |
| Plugins/ Extensions | Drop-in | Push-button | Push-button | Config | Drop-In | Push-button | Drop-in | Push-button | Plugins/ Extensions | Hack | Drop-in | Push-button | Config | Push-button | Push-button | |
| Plugin Directory | here | here | here | here | here | Plugin Directory | here | here | here | |||||||
| Visitor Logs | Yes | No | Yes | No | No | No | Yes† | Visitor Logs | Yes | Yes | Yes | Yes | Yes† | |||
| Referrer Logs | Yes* | Yes | Yes | Yes | No | Yes | No | Yes† | Referrer Logs | Yes | No | Yes | Yes | Yes | Yes† | |
| Imports From | b2 Movable Type Manywhere Miniblog Geeklog |
none | Movable Type b2 Blogger Nucleus |
Movable Type Roller |
pMachine Movable Type TypePad Greymatter* Livejournal* |
Greymatter NewsPro Blogger |
Blogger Greymatter LiveJournal pMachine b2 Movable Type |
Imports From | Movable Type Blogger Greymatter Nucleus |
Movable Type Greymatter Livejournal* |
RSS Feeds | None | Blogger* Movable Type* |
b2 Movable Type Greymatter Blogger Textpattern LiveJournal RSS |
||
| b2Evolution | bBlog | BLOG:CMS | Blojsom | Blosxom | Expression Engine | MT | Nucleus | Pivot | pMachine Pro | Serendipity | SPIP | .Text | TextPattern | WordPress | ||
| User Profiles | Custom | No | Custom | Simple | No | Custom | Simple | Simple Custom† |
User Profiles | Custom | Simple | Simple | Simple | No | Simple | |
| SEF URLs | path_info | path_info | mod_rewrite filesmatch |
URLRewrite mod_rewrite |
mod_rewrite path_info |
filenames | mod_rewrite filesmatch |
SEF URLs | mod_rewrite filesmatch |
mod_rewrite path_info |
mod_rewrite | mod_rewrite | mod_rewrite path_info |
|||
| Thumbnails | No | No | Yes | No | Yes† | Yes | Yes | Yes† | Thumbnails | Yes | No | Yes | Yes | No | Yes | |
| Category Images | No | No | Yes | Yes | Yes† | Yes | No | Yes | Category Images | Yes | No | Yes | Yes | Yes | Yes | |
| Skin Switch | Yes | No | Yes | Yes | Yes† | No | No | Yes† | Skin Switch | No | No | Yes | Yes | Yes | Yes† | |
| Cross-Post | Yes | No | No | No | Yes† | No | No | No | Cross-Post | Yes | No | No | No | No | No | |
| Linkroll | Yes | Yes | Yes | Yes | Yes† | Yes | No | Yes† | Linkroll | Yes | Yes | Yes† | Yes | Yes | Yes | |
| Password Posts | Yes | No | No | Yes† | No | No |
Password Posts | No | No | No | Yes | |||||
| Blog By Email | No | No | Yes† | Yes† | No | Yes† | Blog By Email | No | Yes† | No | Yes | |||||
| b2Evolution | bBlog | BLOG:CMS | Blojsom | Blosxom | Expression Engine | MT | Nucleus | Pivot | pMachine Pro | Serendipity | .Text | TextPattern | WordPress | |||
| User Community | here | here | here | here | here | here | here | here | User Community | here | here | here | here | here | here here here |
|
| Documentation | here | here | here | here | here | here | here | here | Documentation | here | here | here | here | here | ||
| Sample Sites | Samples linked here | Samples lnked here | Samples linked here and here |
http://www.gamewhore.org/ (v2.661) http://www.icyshard.com (v2.661) |
Samples linked here | Sample Sites | Samples linked here Webring of Pivot sites |
Samples linked here | Samples linked here | Samples linked here Photomatt |
The criteria in the above chart are described here.
This indicates the current version number of the software in production as of June 13, 2004.
This is the URL of the home page for the CMS software.
This is a URL at which the software is installed for demonstration/trial purposes. Thanks to OpenSourceCMS (OSCMS) for hosting the many open source weblogs that are available.
This indicates the license requirements for the installation of the software. This is a general overview - please see the software sites for actual licensing requirements.
The free version of the software includes 3 "weblogs" in the license. However, the definition of a "weblog" in MT terms is relevant to the discussion of how it applies to my chart. This quotation (from here) explains MT's position on "weblog" in their license:
In our licenses, we now address this with this language: "Weblog" means a single Web site viewable at a single URL (Uniform Resource Locator), consisting of one or more weblogs as generated by the Software via the "Create New Weblog" function of the Software.
I think there is a lot of confusion around this issue, which is what has MT users in an uproar. Much of this seems to stem fromwhat a "weblog" is, whether it is a section of a site or an entire site itself. I think this terminology is clarified (not entirely, but well enough) in the quotation above.
I should also note here that the commercial license terms are really not that different from those applied to MT version 2.661. If you are using the free version of MT 2.661 for commercial gain, you may be violating the license terms.
This is the cost of the system in United States Dollars.
Different prices may be listed depending on the licensing available. Some packages cost different amounts based on the number of output streams and/or users that can post.
This indicates the minimum requirements of the server on which the software is to be installed. This usually is not indicated in the power/speed of the server, but in the installed software on which the blog software is dependent. This software may have additional license requirements and costs that are not indicated here.
This indicates the languages supported by the administration interface of the system. It does not indicate an ability to translate your content into another language. This does not necessarily include localized template samples in all of the specified languages. See this reference for two-letter codes.
This indicates whether the system's administrative interface is localized based on individual user settings.
This indicates the primary source of drawn data for the transmission of site pages. This information is useful for determining the processing speed of the site and the method required for backup of post data.
This number indicates the maximum number of weblogs (channel of postings) that the system can manage through a single installed administrative interface. This number is not the number of sites for which the single administrative interface will manage content (see: Multiple Sites).
This indicates whether the system can manage weblogs across multiple sites. To qualify, all user information and data input must be managed from a single point of entry, although user permission may allow a specific user access to only one of the available sites.
This indicates the available methods for ordering the display of posts on the site.
This indicates whether the system allows posts to be classified by categories.
This indicates whether a system allows subcategories to be created in a hierarchy.
This indicates whether the system allows keywords (these do not count as entry fields, below) to be associated by a post author to each post, and also allows the system to return posts that are related by these keywords via a keyword search.
This number represents the number of entry fields available per post in a default installation. This includes such basics as the Title field, an Excerpt, and the post Body. This includes fields that are available in an advanced posting mode, but not those that must be added via an administrative interface.
WordPress has entry fields for GPS information in addition to the basic text entry.
This number indicates the maximum number of entry fields that may become available per post after modifying the post fields via an administrative interface.
This indicates the type of editor used to edit the primary post field. Some more sophisticated methods of entry may be available by means of a plugin or API.
This indicates whether the system supports submitting unpublished drafts of posts.
Yes+ indicates that there are additional post statuses beyond published and draft.
This indicates which blogging APIs the system supports.
Some systems, such as Pivot and Expression Engine, are waiting for completion of the Atom API before implementing that for a post API.
This indicates whether it is possible to require editor- or administrative-level approval of a post before it is published to the site.
This indicates whether the system will "ping" any number of pre-designated URLs using XMLRPC to indicate that a new post has been published to the site.
This indicates if posting features are available from a browser bookmarklet.
This indicates what versions of RSS the system will produce for syndication, if any.
This indicates whether the system will produce Atom output for syndication.
This indicates whether the system supports per-post comments. bBlog supports Threaded comments in which replies that are made to existing comments are displayed so that this is evident, rather than a typical "flat" stream of replies.
This indicates the methods available to prevent comment spam. These options are not necessarily requirements and might need to be configured or activated in the system by the administrator.
This indicates whether the system offers comments for a post as an RSS feed.
This indicates how the templates for a page are stored and retrieved.
Descriptions of the possible values:
This indicates what means the system uses to recognize the insertion points for post data or other functions of the system.
This indicates whether the system allows editing of templates via an online interface.
This indicates whether the system provides some development environment for editing templates beyond a blank <textarea>. This might include (at least) a button that inserts code into the editor at the cursor to display a designated post field.
This indicates whether the system allows offline editing and downloading/uploading of templates, such as via FTP.
This indicates whether the system can alter the presentation of a template based on a conidition, such as the category or author of a post.
This indicates whether users can create their own logins for posting on the site via the system.
This indicates the method used to differentiate the permissions of different users.
This indicates the ability of the system to initiate a trackback ping to another weblog when a new post is added. bBlog supports Threaded Trackbacks in which pings that are made to existing Trackbacks are displayed so that this is evident, rather than a typical "flat" stream of replies.
This indicates the ability of the system to initiate a pingback to a site when a new post is added.
This indicates the extent to which the system can consume RSS from other sites.
This indicates whether the system includes an integrated bulletin board-style forum, or the blogging software can be configured to behave as such. To be used as a forum, the blog software must allow users to create new entries with an attached user profile and must also still be able to operate a separate weblog area with private content.
This indicates whether the system includes an online editor for files that reside on the web site.
This indicates whether the system includes an online editor for Cascading Style Sheets.
This indiates the method most acceptable by the developers by which additional functionality can be added to the base system.
This URL indicates a directory at which plugins or extensions can be obtained for the system.
This indicates whether a system can display a log of the recent visitors to the site, including such information as pages visited, user agent, IP address, IP nationality, etc.
This indicates whether a system can display a log of the sites that referred visitors to the system site.
B2Evolution includes a collaborative spam feature that helps eliminates spam from the referrer logs.
This indicates from what other systems this system can import post data. This does not imply that all data (posts and comments) is transfered, but that some bridge exists to ease the transition from one system to the other. This import feature includes the native functionality any freely available extension (marked with *).
Importing from "RSS Feeds" indicates that the system can import from an existing RSS feed, rather than importing the data natively. This allows importing from any system that suports RSS output, but may not import things such as user accounts, comments, and other unpublished data.
This indicates the detail allowed in user profiles for the system.
This indicates the method by which, if used, a system produces Search Engine
Friendly URLs. Rather than http://example.com/index.php?id=4,
a URL might appear like http://example.com/archives/my-first-entry.
This indicates whether the system can automatically create thumbnail images from images that are uploaded to the site.
This indicates whether the system supports the specification of a distinct image for each category.
This indicates whether the system incorporates a method by which users can change between styles of display of the site. This may be by CSS or by template selection.
This indicates whether the system allows a user to apply a single post to more than one weblog simultaneously.
This indicates whether the system can maintain a list of links to external sites.
This indicates whether the system allows users to password-protect individual posts so that only those visitors that know the correct password may read them.
This indicates whether the users can add new posts to the system by sending email.
This URL references a community site that discuses issues surrounding the blog software. It is important that these sites are active and responsive to indicate whether support will be available for the selected CMS.
This URL references the online documentation for the system.
This is a list of sites that use the specified engine to display content. They reveal what is actually capable of the system in use.
Feel free to link to this chart from wherever you like, but do not copy it - there are quite a few hours of my own hard work behind this effort. If you would like to republish the chart, please email me at the contact address given. I will eventually move this chart to my meta-blog community, Red Alt, after it goes live.