---------------------- Understanding FreePort
---------------------- Andrew Patrick National Capital
Freenet August 18 1993 History of FreePort Software -
developed at CWRU by a variety of people - design objectives
- use standard Unix software where possible - use network
environment & multiple servers - easily configurable and
expandable - portable to different environments (BSD Unix) -
various "flavours" now available (contact NPTN) - NCF has
made extensive local changes, and will continue to diverge
Overview of Software Components Themes - software not
complicated (shell scripts and C) - small modules for special
functions (Unix tradition) - 8 inter-related "systems" for
different functions Initialization System - BBmenu -
BBguestmenu Menu System - menu (main interface, calls other
modules) - pager (view files) Mail System - m2mbox (put
incoming mail in user's home directory) - mr (mail reader) -
addr (try to confirm addresses) - BBmail (send the mail via
sendmail) - forward (create "legal" .forward files) - mexpire
(expire mail older than 30 days) - mquota (implement mail box
quotas) Bulletin Board System - Usenet C News with local
changes (e.g., moderators) - BBpost (posting front-end) -
newspost (posting) - nr / mgnr (news reader - single or
multiple groups) Editing System - ce (a version of Emacs) -
pico (simple editor) - ispell (interactive spell checker)
Work Directory System - dired (full-screen directory tool) -
ups (deliver files between users) - kermit & xyz-modem
(transfer between user & FreeNet) Internet Access System
- telnet (login to other hosts) - gopher (library services) -
IRC (real time conversations) Administration System - msglib
(server/clients log usage and error messages) - bbinfod
(server/client to monitor who is logged in) - who (report who
is logged in) - pmdb (database of users with interests,
locations, etc.) - fullname (report users name given ID) -
umatch (find a user by pattern) - su (take on alternate
identity) Lessons Learned - explore various "flavours"
available - explore alternative packages - message and info
daemons problematic - ease of use and success determined by
specialized services (e.g., BBS, file transfer, editors) -
get automatic registration service early - be prepared for
heavy load early (e.g., psuedo-terminals) - news readers
assume network configuration (NNTP), inefficient with local
spool - requires expertise in number of areas - be careful of
trade-offs between functionality and ease-of-use, power users
and novices - operating a modem & communications software
a very difficult step for many new users (terminal
configuration) Criteria for Developing Other Modules - must
be VERY easy to use & have good user documentation - no
unauthorized shell access (including pipes and filters) - all
reads and writes to $HOME/work - all files in $HOME/work
visible (no .newsrc) - all errors trapped, all temporary
files cleaned Future Directions - multilingual support -
client/server model - more power at users' end, but what is
standard? - could work for mail & BBS systems - will not
work for Internet services - broadcast systems (1.5 way
interaction)