Late 1970s – Present

The Story of
Hermes BBS

A teenager wrote it in 1988. He sold it in 1993. Three other people kept it alive for the next thirty-one years, and then he bought it back.

Late 1970s

The Seed

A young Will Price discovers CompuServe — one of the earliest consumer online services, launched in 1979 out of Columbus, Ohio. Using a modem and a phone line, he dials in. Forums, chat, file libraries — and other people, at the other end of a phone line, at two in the morning.

CompuServe is expensive — hourly rates, long-distance charges — and it's centralized. You connect to their mainframes. But the idea takes root: what if anyone with a personal computer could run their own online community?

Context

CompuServe launched its consumer service in September 1979 — among the first to offer email, chat, and file sharing to home computer users. Access cost $6/hour at 300 baud. The experience of connecting to a remote system through a telephone line would directly inspire what came next.

Mid-1980s

Inspiration: WWIV

By the mid-1980s, the BBS scene is thriving on IBM PCs. One system stands out: WWIV, written by Wayne Bell starting in late 1984. Originally a high school project in BASIC, WWIV evolves through Turbo Pascal and eventually C, becoming one of the most popular BBS packages on MS-DOS — known for its clean text interface, its "chain" system for external programs, and its own networking protocol, WWIVnet.

Will is running a Mac, and WWIV is DOS-only. What he wants is the part underneath: the command interface callers already know by muscle memory, and the external-program architecture that let other people extend somebody else's BBS. He wants it on a Macintosh, where the person running the board gets a proper Mac interface instead of a command prompt.

WWIV BBS

Created by Wayne Bell in late 1984 as an IBM PC/MS-DOS BBS. Distributed with source code, which encouraged a massive modding community. Its "chain" system for external programs — games, doors, utilities — was a direct influence on the Hermes external program API. WWIV remains active today as open-source software.

AOC Software letterhead, 612 Doheny Rd, Beverly Hills, CA 90210

“I feel a lot of tact has to go into this introduction.”

Draft note, recovered from disk — not part of the letter sent

He wrote twice. The first letter asked Wayne Bell for permission to use the WWIV command interface; Bell wrote back and said yes. The second, on 31 October 1989, thanked him and enclosed a printout of the Hermes startup code — a high-school student explaining to the author of WWIV why a Macintosh forces you to write a BBS as a state machine.

The first letter was later saved over with an unrelated Apple order and survived only in the unused space of the file that replaced it. It has been reassembled from those fragments.

Read both letters
1988

Origins

Will Price is in 10th grade at boarding school. He writes Hermes BBS in Lightspeed Pascal, the compiler later renamed THINK Pascal — a multi-line bulletin board system that lets Mac users dial in via modem, chat, share files, and play games. He develops it under the name AOC Software. The text interface for callers draws directly from WWIV's command style — with Wayne Bell's blessing — while the sysop gets a full graphical Mac interface to manage the board.

This is 1988. The web does not exist, email is not yet something ordinary people have, and a bulletin board is reached by dialing a telephone number and waiting through the handshake. Two thousand four hundred bits a second, one caller at a time, mostly local because long distance cost money.

Key Detail

From the very beginning, Hermes was designed for multi-node operation — supporting up to 10 simultaneous connections. Most BBS software of the era handled only one caller at a time. Hermes turned a single Macintosh into a small online community server.

1989

First Public Release

Hermes is released publicly and starts turning up on other people's phone lines. Sysops run it on spare Macs in spare rooms, one modem at a time, then four, then ten.

Its author is at boarding school, where students are not allowed telephones. The workaround is a Telebit CellBlazer wired to an early cellular phone roughly the size of four bricks, with the antenna hung out of a dormitory window — in New England, in winter, in the snow — dialing the Olympus support board to answer users and push new builds. Dedication is not the problem.

The Shareware Model

Hermes was distributed as shareware — you could try it free, then register by dialing into the AOC Software BBS and purchasing a serial number directly through the terminal. This was e-commerce before the web existed.

1989–1992

The Rise

Hermes becomes the BBS that Mac sysops run. Not by marketing — there wasn't any — but because it was the one that behaved like Macintosh software, and because of the external program API, which let anyone else write the parts Will hadn't.

Dozens of externals follow — Blackjack, Slots, Checkers, trivia, voting booths, door games — written by people Will had never met, for boards he would never call.

Features
  • Multi-node operation (up to 10 simultaneous callers)
  • ANSI terminal with full color support
  • Fast ZModem file transfers (plus XMODEM, YMODEM)
  • Message forums with threading
  • Real-time multi-user chat
  • External program API (games and utilities)
  • Modem and AppleTalk (ADSP) networking
  • TabbyNet and FidoNet mail network support
“Thirteen systems run the Hermes BBS package, a shareware product for Macintosh that can support up to ten lines.”
Boardwatch Magazine, August 1991 — survey of BBS software in the Seattle area, which put Hermes eighth of 96 packages counted, across every platform
The Serial Number System

The Hermes copy protection used RSA-style public-key cryptography with 256-bit keys, built on a hand-rolled arbitrary-precision integer library with performance-critical inner loops written in inline Motorola 68000 assembly.

Because classic Mac OS used cooperative multitasking, the RSA computation couldn't block the event loop. So the validation ran incrementally in the background — a few iterations of square-and-multiply each time the BBS processed I/O — completing the full cryptographic proof over hundreds of event loop cycles while users stayed connected.

Anti-tamper mechanisms included code resource checksumming, a custom setjmp/longjmp stack capture mechanism in raw 68000 machine code (with its own runtime checksum), and subtle degradation rather than obvious failure — a pirated copy would appear to work but behave unreliably, making it hard for crackers to confirm they'd defeated the protection.

That incremental design is not a trick invented for the copy protection. It is the same constraint Will had described to Wayne Bell a year earlier, in the letter of 31 October 1989: on a Macintosh, every feature has to be built as stages that can be suspended and resumed, because the code must always hand control back. The cryptography simply became one more feature that had to wait its turn.

The complete system — all cryptographic source code, the BigInt library with 68K assembly, anti-tamper mechanisms, and pre-computed serial databases for every version — was open-sourced in February 2026.

1993

The Sale

Will is in college by now, and Hermes has turned into a job — support calls, serial numbers, releases. He wants it to go to someone already inside the community rather than to a company that would treat it as a product. Lloyd Woodall, a well-known sysop, takes it on.

On April 17, 1993, Will signs Hermes BBS over to Woodall's Computer Classifieds in Bellevue, Washington. Version 2.2 is the last release under his name. That spring, at CERN, the World Wide Web is being put into the public domain; Mosaic ships in the autumn. Nobody in the BBS world is especially worried about either.

Version 2.2
2.2

The final release by Will Price

1993–1994

Mercury Systems

Even as Hermes changes hands, Will isn't done with telecommunications software. He teams up with Mark Weaver, the author of NovaLink — another Mac BBS system — to form a company called Mercury Systems. Together they release MacIntercomm, a terminal program for the Macintosh.

MacIntercomm is notable for, among other things, keeping in-progress file transfers running even during interrupt time — solving the age-old problem of holding down a menu cancelling your downloads. The ambition is bigger: MacIntercomm is intended to evolve into a next-generation BBS. But both Will and Mark are in college, and the full vision doesn't materialize before the web changes everything. MacIntercomm is sold to New World Computing in 1994.

1993–1997

Hermes II

Lloyd Woodall renames the product "Hermes II" to mark the beginning of a new era. He employs developers Robert Rebbun (1993–?) and later David Woodall (?–1997) to continue the line. New features are added, the community continues to operate, and Hermes II boards stay online across the country.

And then the reason to dial a telephone number goes away. Netscape ships in 1994. AOL puts a disc in every magazine. By 1996 a trade columnist reviewing Hermes II is measuring it against the web and finding it old.

Owner

Lloyd Woodall

Computer Classifieds · Bellevue, WA

“Since acquiring the venerable Hermes Macintosh BBS program last Spring, new owner Lloyd Woodall of Computer Classifieds has developed a major upgrade package.”
Bill Gram-Reefer, “Macintosh BBS News” — Boardwatch Magazine, January 1994
“Hermes II by Computer Classifieds is a command-line interface package widely used by Macintosh sysops.”
BBS Magazine, June 1995 — three of the four Mac boards the writer dialed for the piece were running Hermes II
“I’m so used to point and click that Hermes seems almost Jurassic, exciting as that can be for some.”
Bill Gram-Reefer — Boardwatch Magazine, January 1996
1997–1998

Arachnoware

Bill Dolinar of Arachnoware, in American Fork, Utah, owns Hermes for about a year and keeps developing it. It is the shortest of the four stewardships and by far the least documented — if you have anything from this period, it is the gap worth filling.

Owner

Bill Dolinar

Arachnoware · American Fork, UT

1998–2024

The Long Stewardship

Michael Alyn Miller acquires Hermes in 1998. What follows is the longest single period of ownership — over 25 years. He maintains hermesbbs.com, continues development through version 3.5.10b3, runs the "Olympus" support BBS — from Mountain View, California for most of that time, and from Redlands by the end — and integrates FidoNet support using Massimo Senna's Formula1 mailer.

The BBS era ends. Boards go dark, one at a time, and mostly nobody notices. Miller keeps the site up and the downloads working anyway, for twenty-six years.

Owner

Michael Alyn Miller

strangeGizmo.com · Mountain View → Redlands, CA

Continued development through v3.5.10b3. Ran the "Olympus" support BBS. Maintained hermesbbs.com for over two decades.

May 2024

The Return

Thirty-one years after selling it, Will Price reacquires Hermes BBS from Michael Alyn Miller. All source code, trademarks, the hermesbbs.com domain, and all related materials return to their original creator.

The Hermes v2.2 source code — the original THINK Pascal and THINK C — is cleaned up, documented, and open-sourced on GitHub under the MIT license. After nearly 40 years, anyone can read, study, and build on the code.

2025–2026

Hermes 4

Hermes 4 is a native application for macOS and iOS, built with Apple's latest frameworks and designed for modern hardware. Real-time chat, forums, file sharing — and 68K emulation to run the original external programs on Apple Silicon.

The externals still work. A door game compiled for a 68000 in 1991 runs on Apple Silicon, unmodified, because the emulator underneath it is doing the same job the original Mac did — which is the whole point, and also the only part that was genuinely hard.

Currently in early development. Free beta available from this site.

Chain of Custody

Every owner who cared for Hermes BBS.

Years Owner
1988–1993 Will Price
1993–1997 Lloyd Woodall
1997–1998 Bill Dolinar
1998–2024 Michael Alyn Miller
2024–present Will Price
AOC Software letterhead

Two letters to Wayne Bell

Recipient’s home address withheld. Wayne Bell’s reply arrived on paper and was never on the disk.

Letter one — c. mid-October 1989 — reconstructed

Upright text is verbatim from sectors recovered out of the file that overwrote it. Greyed italic text in brackets is inference, guided by the reply of 31 October.

Dear Mr. Bell:

[My name is Frank Price, and I am the president of AOC Software and the author of a new bulletin board system for the Macintosh called Hermes.]

I once ran a WWIV Mac BBS written by Terry Teague and was extremely dismayed by what he thought was Macintosh software. I think his program is more worthy [of a DOS machine than of the Macintosh. Ter]ry Teague has claimed that there will be a [new version, but I have seen no evidence of it.]

[For that reason I have written my own BBS. Th]e user interface is nearly identical to WWIV. I did this because I felt WWIV was a standard, at least on the West coast. Myself in[cluded, users have come to expect its look and feel, and I saw no reason to force something unfamiliar on them.]

[I want to make clear that Hermes was written from the ground u]p using none of your C code which I hear that you have made available to registered users. The sysop interface is completely Macintosh oriented and one can set up a working BBS with H[ermes in a matter of minutes.]

[I am writing to ask your permission to use the look and feel of WWIV in Hermes. I would be happy to answer any questions you may have about the project, and I hope to hear from you soon.]

Very truly yours,
Frank Price
President, AOC Software

Letter two — 31 October 1989 — complete, as sent

Dear Mr. Bell:

Thank you for responding so promptly to my previous letter regarding the Hermes project. Please find enclosed a printout of the Initialize unit of Hermes. This includes all global variables, type definitions, and the code to initialize the Macintosh to run Hermes. As you look through it, you will notice a disgusting abundance of global variables. While not all of these are necessary, the general idea is.

The way your code is written, you can do normal looping and other iterative tasks nicely just by checking to see if any keys have come in through the com port or console since the last loop. This is impossible on the Macintosh the way I am programming it. My code must always return to a “home” procedure, preferably at least every sixtieth of a second or so. Every feature I implement has “stages” of operation which can be easily flipped back and forth.

While you do not have an example here of an actual feature, I am sure you can get the idea by looking at all the sets I use as global variables. Each identifier in a set represents another stage in that feature. Usually a stage represents a calculation and possibly the outputting of a prompt. Then it returns to the home procedure where it checks what has happened since it left and sets certain global variables that may be relevant to the feature currently being executed. To go any further into detail would undoubtedly be tedious, and I am sure you get the point.

I have heard on the grapevine that you were not pleased with Terry Teague’s implementation of Mac WWIV. I believe you can feel your original interface is admirably represented by Hermes. If you have any questions or comments, I would be more than happy to receive them. I will be running a Hermes support bulletin board starting November 12 for 2400–19.2k (PEP). The new user password is appropriately HERMES, and I would be honored to have you on. I must say that after repeated attempts to call your board, I gave up after redialing 999 times. Thanks, and I hope we can talk further in the future.

Very truly yours,
Frank Price
President, AOC Software

Original MacIntercomm brochure — 'The Next Generation of Interpersonal Telecommunications'

Original macINTERCOMM brochure, c. 1993