CXO

Open source discussion servers: Let's discuss it

Discussion forums play a vital role in the development of Web site community. The criteria used to decide which of the numerous open source discussion servers to implement should include the long-term system consequences as well as its features.


Discussion is a tremendous tool for building community. I certainly benefit as much as anyone from the articles here at Builder but it's the discussion here (and at TechRepublic) that really has me hooked. You don't need to license a proprietary discussion/forum server to get the job done on your sites. There are a number of popular open source discussion tools currently available that will get the job done.

What are they all about and which one should you use?
My first experience deploying an open source discussion server came about after my consulting company had received a request to duplicate a client's competitor's discussion system. The client had limited budget as it was, so I set off trying to find an open source setup that could be customized to its needs. The client's competitor was running an Ultimate Bulletin Board (UBB) at the time. The solution that I found and eventually deployed was just as good in terms of core functionality: Yet Another Bulletin Board (YaBB). The criteria for that selection were relatively simple: Match an existing commercial system, make it work, and make it cheap.

As a Web developer, it's very common to get a request that simply asks you to duplicate what someone else has. In practice though, there's usually a bit more that should go into the selection criteria. In the above case, the forum that I installed eventually became a significant issue. Over time, that YaBB install sucked more bandwidth and processor power than any other application running for that particular client. It probably ended up costing more in resource costs than the license would have cost for a piece of commercial software. From an ROI point of view, it wasn't effective. The version of YaBB that I had used was a CGI with a flat file database, not exactly the most processor-efficient way of handling large amounts of data.

Some of the basic things to consider when choosing an open source discussion server include:
Table A
Usage How much traffic is anticipated for the forum?
Number of forums Will multiple forums be run from the same server?
Database connectivity Is database connectivity an issue? If so, what type of database will power the forum?
Customizability Do you need to customize the look and feel to match an existing brand/style?
Availability of add-ons, mods, and hacks It's inevitable that there is something that the "off-the-shelf" product won't do. It's important to have existing resources of enhancements to the product.
Support Will the install require support? What support mechanisms are available?
Security and maintenance Does the product have a good history of ongoing maintenance upgrades and security?
Integration with CMS Is there a requirement to integrate with a CMS?
Open source discussion software considerations

When considering what tool to use, I'd also recommend looking at the developers' sites themselves. They all use their own systems for their own support forums, and it will give you a basic feel for the default user interface. The list in Table B is not a complete list, but it does include the major players.
Table B
Forum URL Language Database
YaBB www.yabbforum.com CGI/perl None
Ikonboard www.ikonboard.com CGI/perl None
BazookaBoard www.bazookaboard.com PHP None
YaBB SE www.yabb.info PHP MySQL
PhpBB www.phpbb.com PHP MySQL
Sporum www.sporum.org perl MySQL
Invision Power Board www.invisionboard.com PHP ZOPE
NeoBoard www.neoboard.net Python ZOPE
Snitz forum.snitz.com ASP Access, SQL Server, MySQL
Web Wiz Forums www.webwizguide.info/
web_wiz_forums
ASP Access or SQL Server
Discussion software matrix

Obviously, which forum you decide to use will depend upon your platform requirements. The flat file CGI type systems have massive install bases and work well for smaller sites with lower traffic. They'll install on any setup that allows you CGI access.

For me, my hands-down favorite is phpBB as it meets all the considerations that I have for a discussion tool (as defined by my own requirements in Table A). In terms of features, it's got everything I need. There is also a port that integrates it with my current open source CMS of choice (Postnuke).

Additional phpBB information:
The full list of phpBB features is available here. In addition, you can see the software in action with the online demo.

The developer community for phpBB is quite active and vigorously maintains it with an almost religious fervor, providing a tremendous amount of support. There are so many add-ons for phpBB that it has almost become a second job for me (on top of maintaining the forum) to continually try out the latest add-on and see how it can extend my functionality. (I maintain a separate box for testing; I don't recommend routinely changing an active, live discussion server without serious backup.)

The phpBB community is also fiercely open source. They recently posted a new item titled "New Pricing Structure" which shocked me until I read it. The post basically says that the new pricing is the same as the old pricing—zero: "While other boards alter their licensing, change their pricing structures, [and] reform under new names, phpBB remains as it was 3 years ago...completely free. —Phpbb.com"

Check around; see what powers the boards that you like to visit and that power your client's competitors. Don't do what I did and just duplicate it. Look at them to see what features you like, want, and need, and then match them to your requirements and find an open source product that will do it all.

Editor's Picks

Free Newsletters, In your Inbox