Opus Computer-Based Conversation System v 1.10 Copyright 1984, 1990. Wynn Wagner III. All rights reserved. This version written by Doug Boone, with Bob Davis, Tom Kashuba, Vince Perriello, and George Stanislav INTRODUCTION TO A NEW WORLD Dedicated to Tom Jennings and Ward Christensen Documentation By Bob Davis With A Foreword By Wynn Wagner III OPUS CBCS 1.10 INTRODUCTION TO A NEW WORLD TABLE OF CONTENTS FOREWORD BY WYNN WAGNER III . . . . . . . . . . . . . . . . . 1 CREDITS . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 LIMITED LICENSE AND WARRANTY . . . . . . . . . . . . . . . . 8 WARRANTY AND GUARANTEE . . . . . . . . . . . . . . . . . 8 OPUS: THE COPYRIGHT . . . . . . . . . . . . . . . . . . 8 USING THE SOFTWARE . . . . . . . . . . . . . . . . . . . 8 TRANSFERRING THE SOFTWARE . . . . . . . . . . . . . . 10 SAYING THANKS . . . . . . . . . . . . . . . . . . . . 10 NEW FEATURES . . . . . . . . . . . . . . . . . . . . . . . 12 OPUS CODE . . . . . . . . . . . . . . . . . . . . . . 12 SIZING . . . . . . . . . . . . . . . . . . . . . . . . 12 EVENT SYSTEM . . . . . . . . . . . . . . . . . . . . . 13 MATRIX MAIL . . . . . . . . . . . . . . . . . . . . . 14 ENHANCED ECHOMAIL SUPPORT . . . . . . . . . . . . . . 15 CALLER INTERFACE . . . . . . . . . . . . . . . . . . . 15 CONFIGURATION AND CUSTOMIZATION CONTROL . . . . . . . 16 OMAN - THE OPUS MANAGER PROGRAM . . . . . . . . . . . 17 SECURITY SYSTEM . . . . . . . . . . . . . . . . . . . 18 LANS AND MULTITASKING SUPPORT . . . . . . . . . . . . 19 i OPUS CBCS 1.10 INTRODUCTION TO A NEW WORLD Page 1 FOREWORD BY WYNN WAGNER III YooHoo! We're ba-a-ack! If you are struggling to get an Opus-CBCS system on-line and about to slam your fist into something expensive, please read this section carefully. You will NOT find any answers to your questions, but it may take your mind off things for a moment. I wrote all the versions of Opus-CBCS prior to this one, so the current development team asked me to write an introduction to the documentation. Old code jockeys don't even fade away; they just appear on pages with roman numerals. Who Did What Ever see the TV show called Doctor Who? The show is produced by the BBC and shown in the United States by some non-commercial stations. What makes Doctor Who unique is that they kill off the main character from time to time. Instead of really dying, the Doctor regenerates. When the person playing Doctor Who leaves the show, they just write a script that calls for a regeneration, and begin the next episode with a new Doctor. They've done it more than a half a dozen times since the first episode in 1963. Opus-CBCS seems to be working the same way. Instead of a Doctor, we have an LCD (lower-code dweller). I was the first LCD. Then came George Stanislav (who thought up the term LCD). Finally came Doug Boone who is most responsible for the system you now have. Old Man: Who is the Doctor? K-9: Affirmative. --- dialog from Doctor Who From the start, I knew a system as large as Opus-CBCS couldn't be a one person job. That's why you see a zillion hooks for plugging in external widgets. It's why the system's structures are always published an freely available BEFORE the actual system is released. Opus system operators (sysops) chip in and write OPUS CBCS 1.10 INTRODUCTION TO A NEW WORLD Page 2 utility applications and "front-ends" and help files and on and on. It is truly a community effort. I had no idea that this sense of community would go as far as it did! About two years ago, my hard disk was sick at about the same time my motherboard was getting flaky. During the same period, there was a particularly nasty bout of network politics rumbling around Texas. When the hard disk finally passed away, I decided to turn off my microcomputer. That's when George Stanislav raised his hand and volunteered to continue the work. Punctuality is the virtue of the bored. --- Evelyn Waugh Vince Perriello pitched in to coordinate things. Tom Kashuba helped by coordinating the test cycle, writing some utilities, and building a superb tool kit for other utility authors. Bob Davis did the documentation. Jon Sabol put together the installation tools. When George decided to do something else, Doug jumped in to finish the code. There are two points I'd like to make about this. First, Doug and the others are the ones who deserve the real credit for this version of Opus-CBCS. I thought up some of the new widgets and maybe made a half-hearted early pass at some code, but for the most part I've been an observer rather than a participant. The second point is this: neither Doug nor George earns a living writing computer code. Programming is their hobby. I don't believe Bob Davis writes documentation for a living, and I'm certain Jon Sabol doesn't do software installation aids as his primary occupation. The point is that Opus really is a community of hobbyists. As a sysop, you are encouraged (and sometimes expected) to make some sort of contribution to the community. You don't have to be a professional programmer to be a valuable member of the Opus community! Clarifications Since the last version of Opus-CBCS, a man named Dvorak published a book on computer communications. The book is very large and outside the budget of most common-sense sysops. OPUS CBCS 1.10 INTRODUCTION TO A NEW WORLD Page 3 In the book, Dvorak dedicated a few paragraphs to Opus-CBCS. I need to dedicate a paragraph or two here to clear up some of his more glaring mistakes. For one thing, Dvorak says that commercial users have to send $50 to a particular charity. That is absolutely not true. One previous version had a $50 fee for government agencies because of the paperwork they wanted us to generate, but the fee was never enforced and we always declined to do any paperwork. Sysops have never been asked to pay a penny ... even commercial and corporate sysops. Being an Opus-CBCS sysop does not cost you a penny for the software. Period. If you paid for your copy, demand your money back and threaten to sue. The $50 fee is for SELLING the software. It gives my copyright notice and user license some legal teeth. You can read the legalese for details, but the gist is this: do not sell Opus-CBCS. You can give it away freely, but do not charge money. That includes so-called "shareware clubs" and bulletin boards that have a user fee. If you are running a BBS that charges a fee, feel free to make it an Opus-CBCS system but do not put the software on-line for download because that would be selling it. Use the software and make all the money you can, but don't sell the software! I have never made a penny for Opus-CBCS, and you may not make any money from it either. This is a copyrighted system, and I protect my copyright. The copyright is enforceable and enforced. It may be that the race is not always to the swift, nor the battle to the strong -- but that is the way to bet. -- Damon Runyon OPUS CBCS 1.10 INTRODUCTION TO A NEW WORLD Page 4 The other thing Dvorak noticed (or was told) is that there's little support for Opus. This is wrong. There isn't little support, there's a total absence of it. Systems like Fido and TBBS offer you something you will never see from Opus-CBCS: an official phone number. Although Opus is used successfully by a significant percentage of the Fortune 500 and dozens of government agencies, other companies and agencies need or want some kind of official shoul- der to cry on. Instead of Opus, they need to be using some expensive commercial system that has a fancy corporate office with somebody answering the official phone. At its heart, Opus-CBCS is a community of hobbyists ... so our "service" is really informal. Your front line of support comes from the system operator where you got your copy of the system. If you have trouble, ask an Opus sysop! It is likely your question is something the sysop has first-hand experience with. Experience is the name everyone gives to their mistakes. -- Oscar Wilde Over the years, a grass-roots network of systems called OpusInfo has popped up to offer help, and there are international Echomail conferences called "The Meadow" and "NewOpus" that have tips and solutions. (Terms like Echomail will be explained later in the documentation. The phone numbers for OpusInfo are listed later, too.) In general, the Opus community offers so much help that some kind of official phone number to an "Opus Corporation" would be redundant! The community does not NEED my help. So, when Dvorak says there is poor support for Opus, he is correct in the official sense. Unfortunately, he ignores the sense of community among Opus sysops. And with Opus, if you fail to notice or mention the community, you miss the point as thoroughly as it can be missed. Finally Ward Christensen is the person who invented the file transfer protocol XModem and thought up the idea of a computer bulletin board system. OPUS CBCS 1.10 INTRODUCTION TO A NEW WORLD Page 5 Tom Jennings is the person who thought up the idea of hobbyist e-mail, and the original version of Opus-CBCS borrowed freely from his FIDO BBS architecture. Without them, you wouldn't be using Opus or any other BBS system. In recognition of that, this version of Opus-CBCS is dedicated to them with as much affection and gratitude as I can muster. Consistency is the last refuge of the unimaginative. -- Oscar Wilde OPUS CBCS 1.10 INTRODUCTION TO A NEW WORLD Page 6 CREDITS Opus CBCS was conceived and has continued as a project that is the result of team effort and team spirit. Without this concept of team, Opus would never have existed or endured for as long as it has. When a team member became tired or had other commitments, there always seemed to be a new fresh volunteer willing to step in and shoulder the load. Not all the contributors to Opus are highly skilled programmers. There are writers, managers, bankers, lawyers, skilled craftsmen, artists, and people from all walks of life. Opus CBCS 1.10 represents the epitome of cooperative effort. It seemed like this effort was doomed in the last three years, as various technical problems arose and members of the team had to drop out for assorted reasons. But the project stayed alive because of the contributions of numerous people. We have attempted to list those here that have been key to the release of OPUS CBCS 1.10. We sincerely apologize if there is anyone we have omitted. WYNN WAGNER III is the originator and copyright holder for Opus CBCS. He began the design and coding effort for this version. He had to drop out of the project in the early stages but emerged in the end to add that inimitable flare for humor and the magic glue that held the team together in their final weeks of development. GEORGE STANISLAV accepted the responsibility of coding on the OPUS main program when Wynn had to resign. He carried the effort and kept it alive for over a year and a half. Many of the mites in the program were squashed by George's meticulous attention to detail. VINCE PERRIELLO contributed in the area of communications. His expertise and experience in this area show in the robustness of Opus communications. Vince acted as project manager during some very critical times in the last months of the project. DOUG BOONE had the gumption to take over coding of the main Opus program when George had to resign. While not a professional programmer, Doug came to the project unencumbered with preconceived ideas about how things worked. He solved some of the toughest memory management problems in Opus and ultimately the product you see today reflects Doug's tenacity. TOM KASHUBA is the author of OMAN and designed several sections of the Opus code plus the new user record layout. Tom has been associated with Opus for a long time. Some people say OPUS CBCS 1.10 INTRODUCTION TO A NEW WORLD Page 7 he is persnickety. Well, the quality and attention to detail you see in this release of Opus reflects that unique quality and caring. If you ever meet Tom, tell him you're glad he's persnickety! BOB DAVIS was dumb enough to volunteer to head up the documentation efforts and also participated with the development team as resident psychiatrist and arbiter. He has been associated with Opus since 1.00 gamma testing. JON SABOL has been around Opus development forever. He and Doug worked on the installation procedures and Jon did final kit assembly. He also wrote documentation on the Matrix. DEAN LACHAN did the planning for Opus 1.10 distribution. Other contributors to the final details are: STEVE BONINE Oman section of documentation. DANNY WOFFORD Utility program section documentation. ROBERT MICHAL External Mailer section of documentation. BOB JUGE Matrix scripts documentation and Opus support files documentation. RICK EDWARDS Opus help files. The Opus beta and gamma test teams picked the program apart and lived with all of those things that one encounters in software testing -- crashed systems, corrupted files, frustration, et al. A unique aspect of this development of Opus is the international participation. We had testers linked in from Europe and Australia. They gave us an insight into the program that could have been gained in no other way. Their efforts and opinions molded Opus 1.10 into what you see today. To all of these people and the world communities that have participated, we say a hardy THANK YOU! OPUS CBCS 1.10 INTRODUCTION TO A NEW WORLD Page 8 LIMITED LICENSE AND WARRANTY There are two things you can do with Opus-CBCS: 1. run an Opus system 2. transfer the software to somebody else This section covers my legal rights and duties as the copyright holder and your rights and duties as a member of the Opus community. WARRANTY AND GUARANTEE Don't be silly. You use this software totally at your own risk. Prior versions said this: if you break the system, you own both pieces. This version is vastly enhanced. Now, if you break it, you own all FOUR pieces. Opus has as much or more anti-hacker protection as other systems, but nothing is fool-proof. If you put Opus on-line, it is possible somebody will find a way to get into your computer and cause trouble. It is also possible that the software has a bug that will damage files or equipment. This could get so bad that you will be infested with locusts and the plague. The system may also cause you to have relatives move into your home. Any number of things can go wrong! If something tragic or inconvenient happens from your use (or inability to use) Opus-CBCS, you are as thoroughly on your own as you can possibly be. OPUS: THE COPYRIGHT Opus-CBCS is NOT public domain software. It has a copyright that is enforceable and enforced. You can only use and transfer the system and its supporting materials according to the limited license found here. USING THE SOFTWARE You are hereby given permission to use Opus-CBCS as a bulletin board system as long as you use it in a lawful and friendly manner. OPUS CBCS 1.10 INTRODUCTION TO A NEW WORLD Page 9 There is no fee. The Opus system software is not sold. If you paid money for it, demand a refund in some lawful but unfriendly manner. If you work for a corporation or government agency that wants to have an Opus system, there still is no fee. Nobody ever has to pay money to have an Opus bulletin board system. If you want to charge money to callers, go ahead. There still is no fee. Just because there is no fee does NOT mean Opus is "free." Having to be lawful and friendly can be more expensive than paying money! Virtue has never been as respectable as money. --- Mark Twain OPUS CBCS 1.10 INTRODUCTION TO A NEW WORLD Page 10 TRANSFERRING THE SOFTWARE You have permission to make as many unmodified copies of the Opus software and support files as you want. You can transfer those copies to others as long as the only consideration is good will. In other words, you can give Opus away, but you should not sell it. The Opus development team has never made a penny from the system, and you must not make money from it either. If you feel you must sell Opus or any support files, then you have to pay a fee. The fee is $50.00(US) or one hundred fifty percent (150%) of the sales price, whichever is greater. All fees should be sent to AmFAR. Their address is in the next section (below). If you sell Opus for $100.00, your fee would be $150.00. If you sell Opus for $7.00, your fee would be $50.00. The fee you have to pay is always more than the amount you receive! The point is this: give Opus away, but do not sell it. This fee applies to so-called "shareware libraries" that sell diskettes for a few dollars each. The shareware library publisher is responsible for the fee. Such companies should keep careful records, because they will be visited by a lawyer. BBSs and other on-line systems that charge users a fee must NOT make Opus available for download. Such a fee-charging BBS can use Opus as its bulletin board software, but cannot put the Opus files on-line in a download section. SAYING THANKS If you use Opus as a hobbyist, you may want some way to say thank you for the system. Corporations that find Opus has saved them time or money, often want to express their gratitude in some way. Sometimes a company or government agency has a policy that requires it to pay for software. To say thanks to the Opus development team, you can send a check to the American Foundation for AIDS Research. AmFAR is a OPUS CBCS 1.10 INTRODUCTION TO A NEW WORLD Page 11 non-profit, non-political, and non-affectational organization that funds hundreds of AIDS-related projects around the world. Sending a check for $50.00 (or more) to AmFAR is the best way for you to say thanks. In the United States, it is possible that the donation is tax deductible, but you should ask your accountant about it. AmFAR is not able to answer any questions about Opus. Please do not ask them such questions! Send your $50.00 (or more, if you can) to: AmFAR 5900 Wilshire Boulevard Second Floor, East Satellite Los Angeles, California 90036-5032 U.S.A. OPUS CBCS 1.10 INTRODUCTION TO A NEW WORLD Page 12 NEW FEATURES Here it is. This is a summary list of all the features for Opus CBCS 1.10 that are new and different from previous versions of Opus. If you are an Opus sysop that used versions prior to 1.10, you will appreciate the many, many improvements in flexibility and security. Its faster, more robust, and EXCITING! OPUS CODE Extensively recoded in C and ASM for higher performance and speed. Requires less than 256k to run. Requires/uses level 5 fossil driver (the program via which Opus does its communications). Netmail and zmodem file transfer significantly improved. SIZING Now supports 255 message and file areas. Expanded user record structure. User's true name in addition to their handle. User's modem telephone number. User record remarks section. Original logon date retained Lastread pointers for all 255 message areas. OPUS CBCS 1.10 INTRODUCTION TO A NEW WORLD Page 13 Expanded record structure to provide space for future user-written support utilities. Increased to-date totals capacity (per user). Uploads ..... 4 billion kb Downloads ... 4 billion kb Calls ....... 65536 times EVENT SYSTEM Mixing of local and GMT time definitions for maximum flexibility in definitions. For example, start a behavior window at local time that always ends at zone mail hour defined in gmt. Enhanced, redefined behavior windows (known as z-events opus 1.03). Errorlevel offset adjustment for external events according to setting in behavior window. New user event for adjusting user time and file limits dynamically based on behavior window setting. "Local" call defined by cost field in behavior window definition. New "cost only" behavior window setting to make only calls that have cost. Outbound call frequency settable in behavior window. Informal event will wait until user logs off before executing - prevents rudely cutting off a user for nightly maintenance. OPUS CBCS 1.10 INTRODUCTION TO A NEW WORLD Page 14 Each event is tracked by day of the week for ease of setup and accuracy in covering midnight crossovers. Events settable by day of week, weekend only , or week only. MATRIX MAIL Many enhancements in dialing scripts. ^filename syntax to delete file after sent with file attach. "Magic" filenames for specifying single generic name to represent one or more specific files in file request list. File update request support. Trigger external programs and procedures via file request mechanism. Zmodem file recovery in netmail. Added security for in-transit message handling. Unsuccessful polls or crashes now terminate the redial sequence. Better handling of inter-zone messages (^AINTL,etc). Inter-zone re-routing now gives log entry. Limited support for wildcarding in bark requests. Msgs with inappropriate attributes will not be inter-zone routed. OPUS CBCS 1.10 INTRODUCTION TO A NEW WORLD Page 15 Alt-Q now aborts "modem doesn't respond ...". ENHANCED ECHOMAIL SUPPORT Ability to scan 14 nodes per area. Mechanism for sending mail to unlimited nodes per area with extended scan syntax in echomail control file. Echo conference names now case insensitive. Echomail logging now has more information on traffic. Econoscan - for faster processing echomail with a ramdisk. Custom origin line support per echomail area. Separate directory for tossing bad echomail. Supports creation of ECHOTOSS.LOG when user enters message in echomail area (for use with external processors). CALLER INTERFACE Quoted msg parts with " >" are now colorized. Seenby lines display in bottom window. No longer quotable with Oped. No questions on user logoff comments. Subject automatically set to "logoff comment from username". The upload time reward ratio is settable in parameter file. OPUS CBCS 1.10 INTRODUCTION TO A NEW WORLD Page 16 User-selectable ibm graphic symbol emulation using ascii text. User selectable multi-language support - works for all menus and sysop defined text files. New "=" more prompt option provides non-stop listing of current list. "Hotflash" menus - hotkeys and menu bars. ESC (in-line hot) keys allow user defined macros in terminal program to always invoke the same menu items for all opus systems, no matter what the sysop has set on his own system. For example "esc G" would always mean goodbye, even if the sysop had it programmed as "Logoff" CONFIGURATION AND CUSTOMIZATION CONTROL Enhanced menu system. Can be completely custom configured to add new text or external program commands. Multiple language sets supported for menus. Special welcome file - a new alternate welcome file that can be specified per user. Useful for selected groups of users to give your CBCS different logon appearances for different groups of users. Special announcements - five special announcements can be queued up on a per user basis with a counter to determine how many logon sessions each user will see it. OPUS CBCS 1.10 INTRODUCTION TO A NEW WORLD Page 17 External program invocation additions - new command line switches pass minutes remaining, current file area and current message area. Embedded commands - many new commands to control display of file sections based on privilege, user keys, or ansi screen control. Alternate file listing path (for cd rom support). Human readable "1-basing" - most numbered things in opus that were 0-based have been converted to 1-based for ease of understanding by most humans. OMAN - THE OPUS MANAGER PROGRAM File area path/security maintenance. Message area path/security/type maintenance. Event/behavior window maintenance, including comment tags. Outbound hold maintenance, poll generation, and file request. generation. User maintenance - elaborate sorting, viewing, and tagging capabilities for user records. Menu maintenance - add/revise/delete menu items, set security and maintain multiple sets of menus for different areas and different languages. Global data maintenance for caller count and quotes pointer. OPUS CBCS 1.10 INTRODUCTION TO A NEW WORLD Page 18 Nodelist editing and viewing. SECURITY SYSTEM User expiration control system. Expiration will delete a user or lower access level defined by configuration. Expire by elapsed time, minutes usage, or calendar date. Increased system area control. Barricade (passworded) access can be set up to any area. No longer required or limited to areas 51-100. Privilege levels expanded to twelve. A new 32 bit lock and key system that is independent of privileges. Security by lock or privilege level is settable at menu item level or by area. Message and file areas are now completely independent of each other. Independent lock set per area for Message Area Access, Message Edit, Message External Programs, File Area Access , File Upload, File Download, and File External Programs. Upon re-entry to CBCS from outside function, opus can be set to use or check information in LASTUSER.BBS file. Provides convenient mechanism for modifying user attributes based on sysop configured questionnaire. New user name profanity filter - screens for obscene names. Configurable by sysop. OPUS CBCS 1.10 INTRODUCTION TO A NEW WORLD Page 19 User listing field control - each user can define whether their name, city, and logon date will be displayed in the user list. LANS AND MULTITASKING SUPPORT New additions to make it easier to run multiple opus systems. While this area is not completely resolved, its an improvement over 1.03. Further enhancements are in the planning stages for future versions of Opus. Common task data file.