Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

My notes are pretty scattered.

Here's some open source BBSs I had bookmarked:

* Oblivion 2 XRM => Obv 2 remake, C++, looks OK but no killer new features really and uses Boost - https://github.com/M-griffin/Oblivion2-XRM

* Enigma 1/2 => Looks interesting and possibly the best of the bunch, but also more of the same. Good ANSI support. node js-based, so major downvotes from me here - https://github.com/NuSkooler/enigma-bbs

* x84 => Python SSH/Telnet/BBS Core => Interesting, but I didn't like the code on code review, and I think both C++ and node js are better choices. Forked a few times too, so need to see what's up - https://github.com/jquast/x84

* Synchronet => I don't know much about the modern version of this, but I hated the old one. It looks quite dated, but is updated somewhat it seem - http://www.synchro.net/

* WWIV => I wonder why this cockroach keeps living, sorry. It's written in C++ and the new version may be good, I don't know since I didn't try it. What I do know is at one point I co-sysop'd someone's WWIV board and learned how bad it really is. Truly one of the worst of the popular BBS softwares ever IMO. Perhaps a base for a derivative work though - https://github.com/wwivbbs/wwiv

Some BBSs that I am relatively, but not 100% sure there is source floating around for:

* WWIV - There are 2 sources of the old, 1 Pascal and 1 C++ . The core is not so bad for the time, it's just the implementation further up is garbage.

* Oblivion/2 - I think 2.3 or something like that. Source is pretty awful, but it looked good out of the box and had lots of add-ons from art scene especially.

* Renegade - I believe this was leaked at some point, maybe official release later? It was backdoored as well for some versions. Based on Telegard.

* Forum - Used to build lots of other software. Lookup "Forum Hacks" for a ton of other source. This includes Vision, Vision/2, Vision/X. All are insanely hackable and/or backdoored. There's also Oblivion/2, Emulex, Emulex-2, and Celerity based on this I believe, and many more.

* Telegard - Based on WWIV but with monster spaghetti of Pascal, C++, and ASM. No real reason to study this unless you want to create your own hack on it, which I don't recommend. Bunch of hacks on this as well, like Renegade.

* PCBoard - Not good source (a mess), but was the creme-de-la-creme of non-underground boards and for warez boards (customized). Supported its own Pascal-like language (PPL). I think version 15 source was leaked, or at least I somehow had it/have it (somewhere). Also very extensible compared to others.

* AmiExpress - I believe source is floating around for this. Was great on Amiga and oft-copied in art scene/pcboard setups.

Other:

* BBS Archive - Bunch of source here - http://archives.thebbs.org/ra103c.htm

* Old BBS Software List - http://software.bbsdocumentary.com/

* Mystic BBS - I ran this for a bit to mess around for a few months long ago. It was never the best of the best, but always pretty good if you want something like Obv/2 but better. It seems like it's been updated a lot since and still going. Didn't find source and license is marked as some sort of proprietary freeware. Supports SSH, telnet, etc - http://www.mysticbbs.com/

In general, there's also a lot of source floating around for C64, Amiga, Atari ST, and CP/M and it's even more nostalgic than the rest. I've seen the source of tons of BBSs and they are notoriously a mess. The most common languages you'll encounter are Pascal/Turbo Pascal, C, C++, and assembler (per platform).

I'm falling asleep, but plenty more floating around. Hopefully that is a start. A few final tips

* If you want to run door games, be careful, lots of infected binaries.

* If you are running old stuff and get a hacked version of Doorway itself to run door games or a fossil driver because your BBS needs it, these also are commonly infected. Funny enough I once wasted several days trying to get a copy of Doorway to work on a friend's board, not realizing he pirated it and it was specifically infected with the Taipan virus. This copy seems to be everywhere, so clean it and it will work or find a different copy.

* Do not run any Forum or Telegard hacks to the outside world.

* If you want to build a nice BBS that's via the Internet, start with the socket side of things and don't build on a rotten core. You can do a lot with what's available on the JVM (Java, Clojure), Go, Rust, C++, Erlang, Lisp, and any language that supports concurrency to a decent amount. Don't use PHP, Python, Ruby, etc. because you're just handicapping your BBS from the start.

* If you really want to emulate the experience, you need to get ANSI support correct, and support the full spectrum of codes, fonts, and so on. Get a handle on code pages and differences between platforms like DOS vs Amiga. Some of the links above cover this pretty well.



Nice summary, but I'd recommend giving Synchronet a more thorough look. I'd easily wager that a majority of current telnet boards run it. When it relaunched it was miles ahead of the other open source efforts, due to the number of built-in internet enabled servers (telnet, www, ftp, rlogin), support for multiple platforms (windows, linux), and use of JavaScript with a custom object model for scripting.

Some people actually dislike it for its ease of use on the sysop side -- for a while in the early aughts, too many insufficiently-customized Synchronet telnet boards were popping up. Some of the Mystic and Renegade fans feel Sync is bland.

In any case, the new Synchronet is substantially different than the old one, which oddly I never ever encountered in my area (Philly) in the 90s. Around there it was almost entirely WWIV for 1-line boards, WildCat for 2-3 line boards, and the occasional giant MajorBBS/WorldGroup board. The amount of regional differences in popularity of bbs software and doors always fascinated me.


Oh wow, Major BBS. That brings back memories. I thought both Major BBS and Wildcat were garbage.

I am sure Synchronet is solid in many ways in the new version. The problem I have with a lot of software is there are big drop-offs across many of the categories I'd evaluate at least classic BBS software on.

These qualities includes but are not limited to:

* Messages - Message formats, compression, support for sync/distribution optionally, message interface

* Files - Warez boards often correlated highly with this. Things like tools for organizing files, scaling out to large numbers of files, and so on.

* Protocol Support - Does it support or can support be easily added? Ymodem, Xmodem, Zmodem, Kermit, BiModem. all are examples. Moreover, how good is the support and is it stable? Does it prevent things like Leech Zmodem? This is all less of a concern these days though obviously.

* Core Stability - Can it handle a lot of nodes, connections, users, without falling on its face? Most of the "boring" software is pretty good here, while things like the software used by the art scene or warez scene often is awful here. Even in newer stuff, a lot of software leaks resources over time or gets weird bugs when left running, which is the point of a BBS.

* Chat - Does it support multi-node chat? Can you change chat and such?

* Sysop Tools - Monitoring, paging, alerts, stats, etc.

* Add-Ons/Plug-ins - Lots of software popular in underground also was good here. Does it have an object model, programming language, scripting interface? If so, are there actually things in the wild for it? PCBoard was huge in this area, so much so it made up for many faults because of this.

* Games or other app add-ons - In the old days, supporting door games and at least a core of some games was a must. One or more of LoRD, Trade Wars, BRE, SRE were generally musts.

* Security - Does it allow adding virus scanners and such? Does it check input thoroughly? Is it or was it ever backdoored?

* OS Support - This is more something I'd judge new boards on, but in the old days choice was often determined just by what you had so it's worth mentioning. There wasn't much that was cross-platform and also good.

* UI - Can you customize the UI? Can you inject things dynamically using the API or even just simple things like MCI/Software specific codes? Can you do things like adjust key mappings? Does it support various terminal modes properly (lot of new ones fail here)?

I'll stop there, but the point is that very few if any pieces of software do well across all those. For as much as I value things like stability, so many other things used to make or break your board. Somehow we were a lot more OK with downtime then, but less forgiving if things lacked functionality. This is just my opinion of course.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: