History
Early Internet forums could be described as a web version of a newsgroup or electronic mailing list; allowing people to post messages and comment on other messages. Later developments emulated the different newsgroups or individual lists, providing more than one forum, dedicated to a particular topic.
Features
The barebones definition of a forum is the ability for people to start threads and reply to other people's threads. However, most forum software provides considerably more than this.
Most forum software allows more than one forum to be created. These forums are containers for threads started by the community. Depending on the permissions of community members as defined by the board's administrator, they can post replies to existing threads and start new threads as they wish.
Forum software can be broadly divided between those which allow visitors to post anonymously, and those which attribute posts to a registered username.
Threads in a forum are either flat (posts are listed in chronological order), threaded (each post is made in reply to a parent post). Sometimes, community members have a choice on how to display threads.
Forum software packages are widely available on the Internet, and are written in a variety of programming languages, such as PHP, Perl, Java and ASP. The configuration and records of posts can be stored in text files or in a database. Each package offers a different variety of features, from the most basic providing text-only postings to more advanced packages offering multimedia support and formatting code (usually known as BBCode). Many packages can be integrated easily into an existing website to allow visitors to post comments on articles.
Comparison with other web applications
One significant difference between forums and electronic mailing lists is that mailing lists automatically deliver new messages to the subscriber, while forums require the member to visit the website, and check for new posts. Due to the possibility of members missing replies to threads they are interested in, many modern forums offer an "email notification" feature, where an email is automatically sent to all users who have chosen to be notified of new replies, informing them that a new post has been made.
Unlike weblogs, forums typically allow anyone to start a new discussion (known as a thread), or reply to an existing thread. The range of topics discussed on forums is typically wider-as website running forum software may have more than one forum, each dedicated to a different topic. While many weblogs allow visitors to post comments in reply, the number of people who can create entries is normally very limited, and the range of viewpoints and beliefs on a weblog are also limited.