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:
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.
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.