Conspire

From Lower Ground
Jump to navigationJump to search
Conspire (was nuDOC)
ConspireLogo1.gif
Written in Python
Operating system Linux, Solaris, Mac OS X
Platform Python, PostgreSQL
Website http://bbswiki.evernex.com/wiki/Conspire
Related Dave's Own Citadel, JayDOC, vDOC

Conspire

The following was quoted from the Conspire wiki on August 23, 2010:

Introduction

Before the Internet became widely accessible to users outside of academic institutions and large corporations, the electronic Bulletin Board System (BBS) was a vital link for discussion, debate, distribution of shareware, and more. The BBS world had its golden age in the early 1990s. By the late 1990s it had almost completely evaporated, quickly replaced by the rapid encroachment of public ISPs.

There were holdouts, however. Among these were Internet-based BBSes running on software known as Dave's Own version of Citadel (DOC). Unlike local dial-up boards, these systems had been connected to the Internet from the very start. This gave them a built-in longer lifespan than dial-up BBSes. The advent of the Web did eventually reduce the number of active users on these boards significantly, but there remains a dedicated core. These users enjoy BBSing and many of them will likely continue to do so as long as a BBS remains.

DOC was originally written circa 1990 for the Iowa Student Computing Association BBS at University of Iowa. It is written in C and heavily optimized for supporting about 1000 simultaneous users on a 50MHz PA-RISC machine, an impressive feat which ISCABBS accomplished in its heyday. However, this arcane and very poorly documented code is not aging well and is nearly impossible to maintain or extend. Experienced programmers refuse to have anything to do with it. It is essentially a living fossil.

The Conspire project goal is to rewrite DOC from the ground up, modernizing it for deployment on modern operating systems including certain flavors of Linux, Solaris, and Mac OS X. The new system will be completely client-server with no direct user connections to the BBS server program. The system will use a flexible, well-defined XML protocol for all communications, allowing for easy development of new clients. UTF-8 will be used globally, allowing for non-English language users. A modern RDBMS will be used for data storage.

The stock client produced as part of the Conspire project will mimic the existing interface almost exactly, easing the transition for users who have been interacting with DOC for 15 years. Later, web-based and light GUI clients may offer ways for new users to join the DOC community without having to learn an arcane character-based interface.

The DOC community is an irreplaceable part of Internet culture. The signal-to-noise ratio on these boards is much higher than on Web-based online communities. The userbase of the best boards is a unique collection of intelligent people. Since 1994, I've gained a lot from the DOC world. Conspire is my way of giving back by extending the lifespan of the community.

Why a total rewrite?

Systems program building is an entropy-decreasing process, hence inherently metastable. Program maintenance is an entropy-increasing process, and even its most skillful execution only delays the subsidence of the system into unfixable obsolescence. -- Frederick P. Brooks, Jr., The Mythical Man-Month (1975)