Nuts and Bytes

Hardware and Software Issues at Edmonton FreeNet:
The First 18 Months.

Abstract:

This session is for those looking at setting up a freenet, or in the early stag es of freenet operation. The aim is to give an idea of the technical questions we have faced and the ans wers we came up with, so that others can learn the lessons we have learned without all the inte rvening agonization.

Introduction

When the Edmonton FreeNet started operations in the fall of 1994, the aim was to start things simple. Once we mastered the simple things, then we could progress to the more complicated things. Of course, the demand for new features quickly outstripped the ability to supply them, despite considerable effort from our (then) full-time system manager and our gr oup of eager volunteers with varied skills.

I'll cover some of the technical decisions we made on startup, and then some mo re decisions we faced in the first year and half of operation. Your situation may be different . However, I hope that what I'm going to say will give you some insight into the problems you may face and give you some ideas of how to approach them.

Initial Simplifying Decisions:

We made some simplifying technical decisions right off the bat that even in ret rospect were not manifestly bad, even if they came in for considerable questioning later. I won 't discuss the detailed design of Edmonton FreeNet; if you wish to find how things are set up, sign on and take a look. I'll hit the high points that did generate some technical discussion, though.

Hardware and software

- We chose IBM hardware (RS-6000) and the IBM flavour of Unix as our platform. This was for two reasons. Firstly, the Univeristy of Alberta with whom our system manager h ad recently worked, had considerable experience with this type of hardware and software. Some of the hard initial questions had already been answered and we felt we wouldn't have to sta rt from scratch. Secondly, IBM is one of our founding sponsors and gave us a good price break on hardware and software.

VT-100, text-only

- We decided to offer only VT-100 terminal emulation, text only, no graphics. We felt that VT-100 emulation was within the grasp of everyone -- every terminal emulator pa ckage can do VT-100 -- and the text only interface would reduce need for simplify trouble sh ooting and connect time. Part of our mandate was to provide an means of public access. Since we had a number of old IBM PCs donated, we were able to provide public access quite cost -effectively from them with a VT-100 text only interface.

LYNX, no shell

- Since we had decided to use text only, we then needed a program to handle th e interface. Lynx was the interface we chose, since it is handles most of the functions we wanted reasonably well. For members and guests, lynx runs directly on login, not from a shell. We did this for security reasons; even if someone found a way to exit from lynx (some did), he wouldn't drop into a shell and play around.

Gopher

- in 1994, when these decisions were made, gopher was commonly used, particular ly in Universities and community networks.

Modem Pool

- We had heard of FreeNets starting out with standard cheap external modems for their modem pool. This worked fine for a few lines. However as the modem pool grew, this quickly became impractical. The sea of flashing red lights on the piles of modems held togeth er by Velcro, the birds nests of wiring, and the problems of power distribution were recipes for a nightmare. We opted to go for rack mounted 28.8 kbs modems that could be centrally controlled . This greatly reduced, but did not eliminate, trouble-shooting problems. It also simplified wiring, space allocation and power distribution. These type of modems DO cost more than stan dard home-PC type modems, but we considered them a good investment.

Issues since the startup

I'll now cover some of the technical questions we faced once we had actually go tten going, and how we approached them.

Mail and offline news

A number of our members cut their on-line teeth on the computer bulletin world. Because of the low modem speeds and long distance charges that often existed there, there was quite a cry for offline mail and news on FreeNet just like in many BBSs. The theory was that pe ople would spend much less time online if they could download all their news and mail in a batch, read and reply offline without taking up FreeNet connect time, and then upload in a batc h. The reduction in connect times would make best use of the modem pool.

After careful consideration, we decided that yes, offline mail could be an adva ntage. For mail the "signal to noise ratio" (proportion of useful to non-useful traffic) is hig h since most people read most, if not all, the mail they receive. However for Internet news, there are many, many articles that people never even read after a cursory examination of the title. Downloading all this would be a waste of time.

We therefore put the implementation of offline mail on our list of things to do .

Unfortunately, this never rose high enough on the priority list for the right p eople with the right expertise and the right time to do it. Also FreeNet HelpDesk was still struggl ing with users trying to set up VT-100 emulators. Nobody could really face the thought of try ing to guide people through anything more complicated.

Within the last couple of months, we made a SLIP access arrangement with SAS, o ne of our founding sponsors. At this point offline mail was removed from the list of thi ngs to do.

Slip emulators

Because FreeNet offered only VT-100 text-only access, there was some small dem and for SLIP emulators like SlipKnot. We investigated them but decided not to implement any . They were not trival for the uninitiated to set up (remember, many FreeNet members were s till struggling to make VT-100 work properly and overloading the HelpDesk with this level of prob lem). Also, there were some concerns about security -- these emulators required a shell acc ount which we wanted to avoid so as to keep users fairly well-controlled in what they could a nd couldn't do, accidentally and on purpose.

In short, SLIP emulators would have caused some amount of initial and ongoing w ork to satisfy a small group of users. SLIP emulators were not left very long on our list of th ings to do. When our real SLIP access arrangement with SAS came into force, SLIP emulators disap peared forever from consideration.

Z-modem

We had considerable problems making Z-modem file transfer protocols work. The problems were due individually or collectively to a number of possible factors:

With the consistent problems with z-modem, we put up the Kermit protocol as a l ong-term interim measure. This worked very reliably under all conditions, but was slow and the target of much bitter complaint.

The problems with z-modem were greatly reduced by changing to a "rlogin" protoc ol instead of "telnet" between the terminal servers and the FreeNet computers. There are sti ll z-modem problems with some terminal emulators on the user end, however, and we still ha ven't worked out all the bugs.

PUBLIC ACCESS TERMINALS

As I have already mentioned, one of our goals with Edmonton FreeNet was to prov ide access to on-line community information for those that may otherwise not have it. This m eant public access terminals.

We had a number of offers of old dumb VT-100 terminals. To make these into pub lic access terminals, we would have had to add external modems and cables (attractive item s to thieves if left in a public place like we wanted), and rely on a certain level of expertis e by the user to connect, or at least his ability to read and follow written instructions (rarel y realistic expectations). We wanted something a bit more foolproof, so we turned down the offers of dumb terminals.

We also got offers of a considerable number of old PCs and XTs with monochrome screens, some with only a single floppy and no hard disk. We accepted these and turned them into our public access terminals, what we call "PATs".

Nobody wants to steal an old PC or XT, and even if they could, they would have a hard time actually carrying it off. We bought the cheapest internal 14.4 kbs modems we c ould find to make them harder to steal and to minimize our loss even if somebody did. Internal m odems also simplified the cabling and power distribution problems. None of these PATs ha s been stolen so far.

We wanted naive users to be able to access FreeNet from the PATs without some a rcane connect ritual -- we wanted the PATs to be idiot-proof and simple to use. We tried to customize some freely-distributable emulation software but couldn't get this to work in a "bul let-proof" manner. There was always some way a user could by accident or on purpose leave the term inal in some indeterminate state.

We finally wrote our own PAT software. This does not upload or download files, and is set so that when the PAT powers on, the only thing it does is display a scrolling bann er announcement for FreeNet. This also acts as a screensaver to avoid the mono screens having a single image burned on them. Any keystroke dials up FreeNet (and only FreeNet) with error d etection and feedback, and emulates the VT-100 that FreeNet expects on connection. If the c onnection is broken (timeout, hangup or problem), the scrolling banner returns. The softwar e has proven to be very reliable for the last year and a half, and runs off a single diskette ( which only occasionally gets stolen) or the hard disk. This software is freely available to anyone who wants it.

[Tech notes: PAT software written in Turbo C V2.0; works at 7200-9600 baud wit h cheap modem in 4.77MHz PC; available by request from t.green@ieee.org; includes setup and configuration documentation]

MODEM POOL COSTS

Our biggest expense is phone lines for our modem pool, about $60 each per month . We looked at many different ways to reduce this, including moving the modem pool to anoth er phone company territory (i.e. AGT in St Albert with high speed data link to Edmonton) , becoming our own phone company (selling service to ourself), getting our lines through some big organization (e.g. university or government agency), and pretending we were a very large res idence. None of these proved to be both cost effective and legal so we were stymied on this one .

MODEM POOL TESTING AND CONTROL

In the beginning, with a small number of modems and little user traffic, we wer e able to test modems individually by calling their individual numbers during quiet hours. As traffic and number of modem lines increased, this became impossible.

Edmonton FreeNet now has over 100 modem lines on a call forward rotary. A goo d number of these are busy even during the quietest hours. Without centrally managed modem s and management software to collect statistics, we would never even come close to kn owing what was going on. This is important since modem lines represent our most expensive ong oing cost.

With the modem management software we have, we can tell if a modem isn't handli ng any traffic. That's an indication that the modem has a problem, so we check it. Some modems for whatever reason, will only connect at less than the maximum rate (28.8 kbps) un der some conditions. Finding out which ones these are is problematic, since the modem m anagement software we have doesn't reflect actual connect speeds for each session.

The PC that controls the modem pool is accessible via its own dedicated modem l ine. This lets the system manager or a specially-chosen volunteer call in to check the modem p ool status on a regular basis to detect and solve problems.

EQUITABLE ACCESS TO MODEM POOL

We are in a constant state of user demand outstripping our available modem pool resources during busy times. We agonized for a long time on ways of giving everyone a r easonable chance at reasonable access. Some things that we have implemented:

ACCESS TO NEWS

One of our goals was to make news available to guests on a read-only basis. Th ere was a feeling that this would show them what they were missing so that they would pay to beco me members. We didn't want guests to be posting news articles, though. We never came up wi th an easy way of making this happen.

Another concern by parents was with their children having access to news groups that the parents did not wish them to see. A project underway makes the function to add or dele te newsgroups for any given account to be password-controlled. The parent would enter the pa ssword (not the same as the login password), set up only those news groups he wanted the kids t o participate in, and then lock in that selection. If the kids wanted other newsgroups, the pare nt would then have to use his password to add them.

DIRECT ACCESS TO ARBITRARY URL

At first, for security reasons, we didn't permit access to any arbitrary URL. Users could only go to links pre-established in FreeNet menus. However, the Internet world changed from the time we first set things up, and going to any URL is now considered to be essential.

We opened this up and did run into some problems of a small number of users of bogging down the system by ftp-ing massive files. We control this problem in ways other tha n restricting URL access. Opening up URLs mean that users can use ftp and telnet as well as have access to the World Wide Web.

USER LIMITS AND CONTROLS

When we opened up general access to arbitrary URLs, a small number of users bog ged the system down by doing massive ftp file downloads. We had a bit of problem with our service provider for whom this was causing problems too. The solution selected at the time was to put a limit of 2M on the size of temporary disk space a user could use.

Since in downloading a file in our system entails the use of temporary disk spa ce, this effectively limited downloads to less than 2M in any one session. This inconvenienced a sm all number of members, but has resulted in much better service for everyone overall.

We have also tried to educate our users on not keeping large files in their Fre eNet file areas. In general, people have been most cooperative with this "good net citizen" approac h. This has avoided the imposition of disk quotas. Of course, we gave each user a means o f seeing how much space each file was taking so he would appreciate just how big a big file was. The system manager does periodic checks on file usage and zaps blatant offenders by making big longtime files disappear.

Another means we used to reduce the effect of massive ftp-ing was to restrict f tp to periods when the system was not otherwise busy We have gradually relaxed this as other cont rol methods (e.g. temporary file space limits, education, bumping) have proven effective.

SOFTWARE UTILITY DOWNLOAD

One series of questions we get quite often is "Where do I get common utility so ftware such as unzip or uudecode?" To answer this, we set an easily accessible area from whic h anyone can download freely-distributable software utilities. We deliberately kept the num ber of utilities in this small (restricted to the most commonly requested software for PC and Mac), and avoided shareware.

BACKUPS

Every so often, some member erases a file (on purpose or by accident) and then wishes he hadn't. He would really like us to dig into our backups and restore his file for him. If we did this, it could turn into a full time business, for which we do not have the resources.

Edmonton FreeNet _does_ do regular backups of all system files and the informat ion held by our official information providers. We _do_not_ backup user files. We make it cl ear to users that they, and only they, are responsible for their own files. The system manager w ill, however, intervene to fix up any inadvertent erasure of key files in a user's directory (e.g. mail or news configuration files), but he cannot restore the original content since these ar en't backed up.

WHITE PAGES

There was originally great pressure on us to provide a user "white pages" or di rectory for Edmonton FreeNet. The idea was to permit someone inside or outside of FreeNet to look up someone's real name X and find his e-mail address Y. Or, alternatively, he cou ld look up e-mail address Y and find real name X. Technically, this is relatively simple to set up. The biggest block was the phi losophical one of how much info to list for each user. Some users don't want their first names l isted, but have no objection to their last names. Others didn't want to be listed at all. The an swer was to put under user control, changeable at any time, the option:

The names and initials that are listed come from the membership data base; they are not changeable by the user.

VT-100 ONLY

A very small but vocal minority insisted that we support other types of termina ls than VT-100, making the case that this would increase the number of people who would be inte rested in FreeNet. After some consideration of this, we decided that most people are usi ng computers and terminal emulation programs to access FreeNet; these all support VT-100. Very few people are actually accessing FreeNet via dumb terminal and modem. Therefore, the payoff versus the investment to support anything else than VT-100 was considered too low to imple ment.

COMMITTEE USE OF FREENET

In the Hardware/Software Committee and in some others, we tried to use FreeNet as much as possible for committee intercommunication. We considered the following:

Some committees started out keeping rigorous minutes of who moved, who seconded etc, and then distributing formal minutes on paper at the next meeting. At least for th e Hardware/Software Committee, this quickly became clearly impractical. Instead of minutes, other things worked well:

The HW/SW committee chaiman maintained a list that showed by email address who had what expertise. Members could add themselves to any category or make up a new categ ory depending on their interests or skills. By specific design it was easy to get your name OFF the list. At each update, the chairman sent a copy (by email, of course) to all members of the HW /SW committee, to other comittee chairs, to FreeNet staff and to HelpDesk. This list was NOT available to the general user population. When a problem came up, the FreeNet staff, HelpDesk or HW/SW chairman contacted the appropriate HW/SW committee member directly by email for help.

Considerations for changes

Before you make a technical change to your system, consider the following facto rs all together:

  • What percentage of the membership will this effect? If it only involves a couple of members it's probably not worthwhile. If it affects a large number, consider it carefu lly. We've had a lot of requests from a very vocal, but very small, group of members for technical c hanges that nobody else cared about, e.g. implementing emulation for other than VT-100 term inals.

  • What benefit will it give? Decide if this is really important, or if it's a "nice to have". Just because it's technically possible, it doesn't mean that you should do it.

  • How much trouble will it be to implement the change? Our system manager's time is very valuable and in short supply. Volunteers' time is free, but does not always pr oduce good results. Often 10 minute changes get done even if they aren't very important -- this is good. The really important but complicated problems are the stumbling blocks.

  • How much trouble will it be to maintain the change? Some new complicated wrinkle may cause considerable anguish for the HelpDesk that is already overworked solving much simpler problems. You should also try to avoid implementing things that will take a l ot of human intervention (e.g. manually maintaining access lists, or manually forwarding lo g files on a regular basis).

  • How does it affect the work of other committees? Discuss with them. Ensur e that the technical changes are in line with the overall aims and policies of your commun ity network. Censorship issues come to mind here -- there are lots of things possible from a technical point of view, but are they in fact desirable?

    Priorities

    We found that our resources were always limited. Since there is never enough, it's extremely important to prioritize projects and review the priorities regularly. Some low prioirity projects get done because either they are quite quick to do, or there is some volunteer really keen to do them. Some low priority projects never get done. Some high priority projects take a long time because it's the same limited number of people working on their implementation . Some projects may seem important but as time passes with them not being done, it becomes clea r that they are not really all that important after all.

    Credits

    This paper was prepared by Tim Green, recent chairman of the Hardware/Software Committee at Edmonton FreeNet. Any errors or omissions are the responsibility of Phil Kemp, who adapted the paper for presentation at TC96, 17-August-96.


    Addenda

    From Gopher to Web Server

    TC96 session, Sunday at 1330 hr.

    Title: Coping with Progress, or The Great Web Server Changeover of '96

    Introduction: This paper explores the impact of technological change on the volunteers, information providers, and users of the Edmonton FreeNet. What lessons were learned from the Edmonton FreeNet's move from a gopher server to a web server as the primary method of information provision?

    For Contrast to EFN:

    ANNOUNCEMENT:

    After one and a half years struggle to raise startup funding, the Brant FreeNet, based in Brantford Ontario, will officially go on-line June 8th 1996. The Brant FreeNet is a community based information system serving the needs of the people of Brantford and Brant County.

    The Brant FreeNet is offering FULL PPP access to the Internet for its users through 32 lines. Access is provided to all Internet services including WWW, full news feed, gopher, FTP, and E-mail. Our system is running on 4 dual pentium 133s networked using Windows NT.

    Our beta web site may be visited at http://www.bfree.on.ca.

    Back to List of Presentations