
			SodaBot, Version 0.3a

   Copyright (c) 1994, 1995  Massachusetts Institute of Technology.
			 All rights reserved.


    This program is free software; you can redistribute it and/or modify
    it under the terms of either:
    
        a) the GNU General Public License as published by the Free
        Software Foundation; either version 2, or (at your option) any
        later version, or

        b) the "Artistic License" which comes with this Kit.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See either
    the GNU General Public License or the Artistic License for more details.

    You should have received a copy of the Artistic License with this
    Kit, in the file named "Artistic".  If not, I'll be glad to provide one.

    You should also have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

    For those of you that choose to use the GNU General Public License,
    my interpretation of the GNU General Public License is that no SodaBot
    agent (program) falls under the terms of the GPL unless you explicitly 
    put said agent under the terms of the GPL yourself.  Furthermore, any
    object code linked with SodaBot does not automatically fall under the
    terms of the GPL, provided such object code only adds definitions
    of subroutines and variables, and does not otherwise impair the
    resulting system from executing any standard SodaBot agent.  I
    consider linking in C or Perl subroutines in this manner to be the moral
    equivalent of defining subroutines in the SodaBotL language itself.  You
    may sell such an object file as proprietary provided that you provide
    or offer to provide the SodaBot source, as specified by the GNU General
    Public License.  (This is merely an alternate way of specifying input
    to the program.)  This is my interpretation of the GPL.  If you still 
    have concerns or difficulties understanding my intent, feel free to 
    contact me.  Of course, the Artistic License spells all this out
    for your protection, so you may prefer to use that.

-----------------------------------------------------------------------------

This kit contains the SodaBot software agent system.

Please read all the directions below before you proceed any further!

Thank you for paticipating in the alpha-testing of SodaBot!


Installing SodaBot:

SodaBot installation is usually quite simple and modeled on the
"Configure" method used by Perl.  SodaBot will try to figure most
things out for itself, make educated guesses, and sometimes simply ask
questions.  You will be asked to verify all decisions during
installation.

SodaBot has been successfully installed/run on:
 a) Sun Sparc Stations running Unix (4.1.3)
 b) SGI Workstations running Irix (5.2 & 5.3)
 c) A PC running Linux 1.2.x with the Slackware 2.1 distribution


SodaBot requires that your system have:

 1) The programming language Perl5.
    SodaBot has been tested with versions 5.000 and 5.001 (both
    patched and unpatched).
    (Perl5 is available via anonymous FTP from many sites around the
     world.  See the file "Getting-Perl5.")

 2) A local HTTP Web Server, preferably one with a low load.
    (Any of the common servers is fine.  For more information, see
     http://info.cern.ch/hypertext/WWW/Daemon/Overview.html)

 3) The NCSA Mosaic browser xmosaic (Netscape doesn't work yet!)
    (xmosaic is available via anonymous FTP from ftp.ncsa.uiuc.edu 
     in directory /Mosaic.)

 4) Some variant of GNU Emacs (any fairly recent version should be okay)
    These include emacs, xemacs, and lemacs.
    (If you don't have one of these, I am amazed. :-)

 5) An Internet connection.  (Firewalls are okay, but will slow down
    interaction with the outside world if you don't set up a proxy.)

-----------------------------------------------------------------------------

How to install:

1) Run Configure: If Perl5 is called perl5 on your system, type
"Configure" and hit return in this directory.  (Otherwise, see note
below.)  If your system is fairly normal, SodaBot will essentially
configure itself.  However, you will need to provide several
site-specific parameters, such as which directory will hold the
SodaBot system code.

You will also be asked to provide several Web-related pieces of
information.  These are:

	a) The URL of your CGI directory: This holds the executable
           files which process HTML forms.
	
           For example, my lab has "http://www.ai.mit.edu/cgi-bin"

	b) The corresponding pathname of the CGI directory.

           E.g., we have "/com/web/support/cgi-bin"


Also, you need to decide if your site will run a local SodaBot Server.
A SodaBot Server is simply an agent which keeps track of other agents
locations --- it's just like an electronic telephone book.  A local
server doesn't require any special permissions to run (such as being
the "super user").  It can run from anybody's account, but it should
be left running all the time.

If you want to use one, simply answer "yes," when asked during
configuration.  You don't need to decide yet exactly where the server
will run.

If you don't want to run a local server, you must supply (1) the
complete hostname and (2) the domain name of the remote SodaBot Server
your site will be using.  Feel free to use:

Host: sodabot.ai.mit.edu
Domain: ai.mit.edu

which is a public SodaBot Server running here at the MIT AI Lab.

SodaBot runs much faster if you use a local server, because accessing
a remote server can incur typical network delays.  However, if you
just want to try out the system, using a remote server is fine.

-------------------------
NB: Configure expects that Perl5 is called "perl5" on your system.
If it is, you can skip this note.  If it is not, then run the file
Configure.pl by directly invoking your Perl5 on it. E.g.,

	perl5.000 Configure.pl, or 
	perl5.001 Configure.pl,	etc.


NB: This is important:

SodaBot itself will be configured to use the name of whichever Perl is
used to execute Configure.pl.

Beware directly invoking a Perl5 executable named something like
"perl5.001d," because SodaBot will not be able to find it when it
becomes obsolete and gets deleted nor will new versions get noticed.

If you don't call your Perl5 something like "perl5" or "perl," I
highly recommend using a symbolic link which points to the most recent
stable version of Perl5 on your system.

-------------------------

2) Run Install: Simply type "Install" and hit return in this
directory. This places all the SodaBot files in their proper locations
and incorporates the information gathered when you ran Configure.

3) SodaBot is now ready to run.  If you are using a remote SodaBot
Server, skip to (3a).  If you are using a local server, start SodaBot
in server-mode (by typing "sodabot -s" and hitting return) on the
machine you want the server to run on.  When the "New User" Web page
pops up, fill out the form, clicking on "Yes" at the "Run as SodaBot
Site Server" option.  

3a) SodaBot can now be run by typing "sodabot" and hitting return.

4) After running Install, if you want to configure SodaBot for an
additional operating system, simply run the Configure program again
from a machine running that operating system.


Please send bug-reports, feature requests, and comments to
mhcoen@ai.mit.edu!  (We are particularly interested in adding new
capabilities to the system.)

Join the SodaBot mailing to receive bug-reports, patches, and updates.
(Send requests to sodabot-request@ai.mit.edu.)
Thanks!

- Michael
(mhcoen@ai.mit.edu)

