diff --git a/README b/README
index 8d18d7d..9c0fb32 100644
--- a/README
+++ b/README
@@ -10,22 +10,27 @@
 Copyright (c) 1991-1995 Stichting Mathematisch Centrum.
 All rights reserved.
 
+
 License information
 -------------------
 
-See the file "LICENSE" for information on terms & conditions for
-accessing and otherwise using this software, and for a DISCLAIMER OF
-ALL WARRANTIES.
+See the file "LICENSE" for information on the history of this
+software, terms & conditions for usage, and a DISCLAIMER OF ALL
+WARRANTIES.
 
-The Python distribution is *not* affected by the GNU Public Licence
-(GPL).  There are interfaces to some GNU code but these are entirely
-optional and no GNU code is distributed with Python.
+This Python distribution contains no GNU General Public Licensed
+(GPLed) code so it may be used in proprietary projects just like prior
+Python distributions.  There are interfaces to some GNU code but these
+are entirely optional.
+
+All trademarks referenced herein are property of their respective
+holders.
 
 
 What's new in this release?
 ---------------------------
 
-See the file Misc/NEWS; see also this URL:
+See the file "Misc/NEWS"; see also this URL:
 http://www.pythonlabs.com/tech/python2.html
 
 
@@ -36,17 +41,22 @@
 
 To start building right away (on UNIX): type "./configure" in the
 current directory and when it finishes, type "make".  The section
-Build Instructions below is still recommended reading, especially the
-part on customizing Modules/Setup.
+`Build Instructions' below is still recommended reading, especially
+the part on customizing Modules/Setup.
 
 
 What is Python anyway?
 ----------------------
 
-Python is an interpreted object-oriented programming language.  It is
-often compared to Tcl, Perl, Java, JavaScript, Visual Basic or Scheme.
-To find out more about what Python can do for you, point your browser
-to http://www.pythonlabs.com/.
+Python is an interpreted object-oriented programming language suitable
+(amongst other uses) for distributed application development,
+scripting, numeric computing and system testing.  Python is often
+compared to Tcl, Perl, Java, JavaScript, Visual Basic or Scheme.  To
+find out more about what Python can do for you, point your browser to
+http://www.pythonlabs.com/.
+
+BeOpen Python releases include pre-built Python executables for major
+platforms and are available from PythonLabs.
 
 
 How do I learn Python?
@@ -65,62 +75,63 @@
 
 All documentation is provided online in a variety of formats.  In
 order of importance for new users: Tutorial, Library Reference,
-Language Reference, Extending & Embedding, and the Python/C API.
-Especially the Library Reference is of immense value since much of
-Python's power (including the built-in data types and functions!) is
-described there.
+Language Reference, Extending & Embedding, and the Python/C API.  The
+Library Reference is especially of immense value since much of
+Python's power is described there, including the built-in data types
+and functions!
 
-All documentation is also available online via the Python web site
+All documentation is also available online at the Python web site
 (http://www.python.org/doc/, see below).  It is available online for
-occaissional reference, or can be downloaded in many formats for
-faster access.  The documents are available in HTML, PostScript, PDF,
-HTML Help, and LaTeX; the LaTeX version is primarily for documentation
-authors or people with special formatting requirements.
+occasional reference, or can be downloaded in many formats for faster
+access.  The documentation is available in HTML, PostScript, PDF, HTML
+Help, and LaTeX formats; the LaTeX version is primarily for
+documentation authors or people with special formatting requirements.
 
 
-Web site
---------
+Web sites
+---------
 
-Python's web site is at http://www.python.org/.  The Python core
-development team at BeOpen has its own website at
+New Python releases and related technologies are published at
 http://www.pythonlabs.com/.  Come visit us!
 
+The present Python community web site is http://www.python.org/.
+BeOpen.com is developing a next-generation community site for Python
+and is looking for volunteers to help make this an even better
+resource than the existing community site.  If you know Python well
+and would like to volunteer to work with us on this project, please
+contact <volunteer@pythonlabs.com> with a summary of your skills.
 
-Newsgroups
-----------
+
+Newsgroups and Mailing Lists
+----------------------------
 
 Read comp.lang.python, a high-volume discussion newsgroup about
 Python, or comp.lang.python.announce, a low-volume moderated newsgroup
 for Python-related announcements.  These are also accessible as
-mailing lists, see the next item.
+mailing lists: see http://www.python.org/psa/MailingLists.html for an
+overview of the many Python-related mailing lists.
 
-Archives are accessible via Deja News; the Python website has a
-query form for the archives at http://www.python.org/search/.
-
-
-Mailing lists
--------------
-
-See http://www.python.org/psa/MailingLists.html for an overview of the
-many Python related mailing lists.
+Archives are accessible via Deja.com Usenet News: see
+http://www.deja.com/usenet.  The mailing lists are also archived, see
+http://www.python.org/psa/MailingLists.html for details.
 
 
 Bug reports
 -----------
 
-To report or search for bugs, please use the SourceForge Bugs
-Tracker at http://sourceforge.net/bugs/?group_id=5470 .
+To report or search for bugs, please use the Python Bug
+Tracker at http://sourceforge.net/bugs/?group_id=5470.
 
 
 Patches and contributions
 -------------------------
 
-To submit a patch or other contribution, please use the SourceForge
-Patch Manager at http://sourceforge.net/patch/?group_id=5470 .
+To submit a patch or other contribution, please use the Python
+Patch Manager at http://sourceforge.net/patch/?group_id=5470.
 
 If you have a proposal to change Python, it's best to submit a Python
 Enhancement Proposal (PEP) first.  All current PEPs, as well as
-guidelines for submitting a new PEP, are here:
+guidelines for submitting a new PEP, are list at
 http://python.sourceforge.net/peps/.
 
 
@@ -131,24 +142,22 @@
 best to post to the comp.lang.python or the Python mailing list (see
 above).  If you specifically don't want to involve the newsgroup or
 mailing list, send questions to <help@python.org> (a group of
-volunteers which does *not* include me).  Because of my work and email
-volume, I'm often be slow in answering questions sent to me directly;
-I prefer to answer questions posted to the newsgroup.
-
+volunteers who answer questions as they can).  The newsgroup is the
+most efficient way to ask public questions.
 
 
 Build instructions
 ==================
 
-Before you can build Python, you must first configure it.
-Fortunately, the configuration and build process has been streamlined
-for most Unix installations, so all you have to do is type a few
-commands, optionally edit one file, and sit back.  There are some
-platforms where things are not quite as smooth; see the platform
-specific notes below.  If you want to build for multiple platforms
-sharing the same source tree, see the section on VPATH below.
+Before you can build Python, you must first configure it.  Fortunately,
+the configuration and build process has been streamlined for most Unix
+installations, so all you have to do is type a few commands,
+optionally edit one file, and sit back.  There are some platforms
+where things are not quite as smooth; see the platform specific notes
+below.  If you want to build for multiple platforms sharing the same
+source tree, see the section on VPATH below.
 
-You start by running the script "./configure", which figures out your
+You start by running the script "./configure", which determines your
 system configuration and creates several Makefiles.  (It takes a
 minute or two -- please be patient!)  When it's done, you are ready to
 run make.  You may want to pass options to the configure script, or
@@ -156,16 +165,17 @@
 and variables.
 
 To build Python, you normally type "make" in the toplevel directory.
-This will recursively run make in each of the subdirectories Parser,
-Objects, Python and Modules, creating a library file in each one.  The
-executable of the interpreter is built in the Modules subdirectory and
-moved up here when it is built.  If you want or need to, you can also
-chdir into each subdirectory in turn and run make there manually (do
-the Modules subdirectory last!).
+This will recursively run make in each of the subdirectories: Grammar,
+Parser, Objects, Python and Modules, creating a library file in each
+one (except Grammar).  The interpreter executable is built in the top
+level directory.  If you want or need to, you can also chdir into each
+subdirectory in turn and run make there manually (do the Modules
+subdirectory last; you must use "make all sharedmods" to build the
+dynamically loadable modules, if you have any).
 
-Once you have built an interpreter, see the subsections below on
+Once you have built a Python interpreter, see the subsections below on
 testing, configuring additional modules, and installation.  If you run
-in trouble, see the next section.
+into trouble, see the next section.
 
 
 Troubleshooting
@@ -191,7 +201,7 @@
 
 If you get a warning for every file about the -Olimit option being no
 longer supported, you can ignore it.  There's no foolproof way to know
-whether this option is needed; all I can do is test whether it is
+whether this option is needed; all we can do is test whether it is
 accepted without error.  On some systems, e.g. older SGI compilers, it
 is essential for performance (specifically when compiling ceval.c,
 which has more basic blocks than the default limit of 1000).  If the
@@ -214,13 +224,13 @@
 -----------------------
 
 (Some of these may no longer apply.  If you find you can build Python
-on these platforms without the special directions mentioned here, let
-me know so I can remove them!)
+on these platforms without the special directions mentioned here, mail
+to <python@pythonlabs.com> so we can remove them!)
 
 64-bit platforms: The modules audioop, imageop and rgbimg don't work.
 	Don't try to enable them in the Modules/Setup file.  They
 	contain code that is quite wordsize sensitive.  (If you have a
-	fix, let me know!)
+	fix, let us know!)
 
 Solaris: When using Sun's C compiler with threads, at least on Solaris
 	2.5.1, you need to add the "-mt" compiler option (the simplest
@@ -273,14 +283,14 @@
 
 HP-UX:	Please read the file Misc/HPUX-NOTES for shared libraries.
 	When using threading, you may have to add -D_REENTRANT to the
-	OPT variable in the top-level Makefile; reported by Pat Knight
+	OPT variable in the top-level Makefile; reported by Pat Knight,
 	this seems to make a difference (at least for HP-UX 10.20)
 	even though config.h defines it.
 
 Minix:  When using ack, use "CC=cc AR=aal RANLIB=: ./configure"!
 
-SCO:	The following only apply to SCO 3; Python builds out of the box
-	on SCO 5 (or so I've heard).
+SCO:	The following apply to SCO 3 only; Python builds out of the box
+	on SCO 5 (or so we've heard).
 
 	1) Everything works much better if you add -U__STDC__ to the
 	defs.  This is because all the SCO header files are broken.
@@ -369,9 +379,9 @@
 Monterey (64-bit AIX):
     The current Monterey C compiler (Visual Age) uses the OBJECT_MODE={32|64}
     environment variable to set the compilation mode to either 32-bit or
-    64-bit (32-bit mode is the default). Presumably you want 64-bit
-    compilation mode for this 64-bit OS. As a result you must first set
-    OBJECT_MODE=64 in you environment before configuring (./configure) or
+    64-bit (32-bit mode is the default).  Presumably you want 64-bit
+    compilation mode for this 64-bit OS.  As a result you must first set
+    OBJECT_MODE=64 in your environment before configuring (./configure) or
     building (make) Python on Monterey.
 
 
@@ -383,11 +393,11 @@
 --with-threads=no switch to configure.  Unfortunately, on some
 platforms, additional compiler and/or linker options are required for
 threads to work properly.  Below is a table of those options,
-collected by Bill Janssen.  I would love to automate this process
+collected by Bill Janssen.  We would love to automate this process
 more, but the information below is not enough to write a patch for the
 configure.in file, so manual intervention is required.  If you patch
 the configure.in file and are confident that the patch works, please
-send me the patch.  (Don't bother patching the configure script itself
+send in the patch.  (Don't bother patching the configure script itself
 -- it is regenerated each the configure.in file changes.)
 
 Compiler switches for threads
@@ -435,15 +445,15 @@
 ---------------------------------------
 
 You can configure the interpreter to contain fewer or more built-in
-modules by editing the file Modules/Setup.  This file is initially
+modules by editing the Modules/Setup file.  This file is initially
 copied (when the toplevel Makefile makes Modules/Makefile for the
 first time) from Setup.in; if it does not exist yet, make a copy
 yourself.  Never edit Setup.in -- always edit Setup.  Read the
-comments in the file for information on what kind of edits you can
-make.  When you have edited Setup, Makefile and config.c in Modules
-will automatically be rebuilt the next time you run make in the
-toplevel directory.  (When working inside the Modules directory, use
-"make Makefile; make".)
+comments in the file for information on what kind of edits are
+allowed.  When you have edited Setup, Makefile and config.c in the
+Modules directory, the interpreter will automatically be rebuilt the
+next time you run make in the toplevel directory.  (When working
+inside the Modules directory, use "make Makefile; make".)
 
 The default collection of modules should build on any Unix system, but
 many optional modules should work on all modern Unices (e.g. try dbm,
@@ -480,21 +490,21 @@
 Testing
 -------
 
-To test the interpreter that you have just built, type "make test".
+To test the interpreter, type "make test" in the top-level directory.
 This runs the test set twice (once with no compiled files, once with
 the compiled files left by the previous test run).  The test set
 produces some output.  You can generally ignore the messages about
-skipped tests due to an optional feature that can't be imported (if
-you want to test those modules, edit Modules/Setup to configure them).
-If a messages is printed about a failed test or a traceback or core
-dump is produced, something's wrong.  On some Linux systems (those
+skipped tests due to optional features which can't be imported.  (If
+you want to test those modules, edit Modules/Setup to configure them.)
+If a message is printed about a failed test or a traceback or core
+dump is produced, something is wrong.  On some Linux systems (those
 that are not yet using glibc 6), test_strftime fails due to a
-non-standard-compliant implementation of strftime() in the C library.
-Please ignore this, or upgrade to glibc version 6.
+non-standard implementation of strftime() in the C library. Please
+ignore this, or upgrade to glibc version 6.
 
 IMPORTANT: If the tests fail and you decide to mail a bug report,
 *don't* include the output of "make test".  It is useless.  Run the
-test that fails manually, as follows:
+failing test manually, as follows:
 
 	python ../Lib/test/test_whatever.py
 
@@ -511,12 +521,12 @@
 
 	make install
 
-This will install all platform-independent files in subdirectories the
-directory given with the --prefix option to configure or the 'prefix'
-Make variable (default /usr/local), and all binary and other
-platform-specific files in subdirectories if the directory given by
---exec-prefix or the 'exec_prefix' Make variable (defaults to the
---prefix directory).
+This will install all platform-independent files in subdirectories of
+the directory given with the --prefix option to configure or to the
+`prefix' Make variable (default /usr/local).  All binary and other
+platform-specific files will be installed in subdirectories if the
+directory given by --exec-prefix or the `exec_prefix' Make variable
+(defaults to the --prefix directory) is given.
 
 All subdirectories created will have Python's version number in their
 name, e.g. the library modules are installed in
@@ -535,10 +545,9 @@
 doesn't install the manual page at all.
 
 The only thing you may have to install manually is the Python mode for
-Emacs.  (But then again, more recent versions of Emacs may already
-have it!)  This is the file Misc/python-mode.el; follow the
-instructions that came with Emacs for installation of site specific
-files.
+Emacs found in Misc/python-mode.el.  (But then again, more recent
+versions of Emacs may already have it.)  Follow the instructions that
+came with Emacs for installation of site-specific files.
 
 
 Configuration options and variables
@@ -574,7 +583,7 @@
 	prefix=DIRECTORY (and/or exec_prefix=DIRECTORY) overrides the
 	prefix set at configuration time; this may be more convenient
 	than re-running the configure script if you change your mind
-	about the install prefix...
+	about the install prefix.
 
 --with-readline: This option is no longer supported.  To use GNU
 	readline, enable module "readline" in the Modules/Setup file.
@@ -592,12 +601,12 @@
 	supported by the "dl" library by Jack Jansen, which is
 	ftp'able from ftp://ftp.cwi.nl/pub/dynload/dl-1.6.tar.Z.
 	This is enabled (after you've ftp'ed and compiled the dl
-	library!) by passing --with-sgi-dl=DIRECTORY where DIRECTORY
+	library) by passing --with-sgi-dl=DIRECTORY where DIRECTORY
 	is the absolute pathname of the dl library.  (Don't bother on
 	IRIX 5, it already has dynamic linking using SunOS style
 	shared libraries.)  Support for this feature is deprecated.
 
---with-dl-dld: Dynamic loading of modules is rumoured to be supported
+--with-dl-dld: Dynamic loading of modules is rumored to be supported
 	on some other systems: VAX (Ultrix), Sun3 (SunOS 3.4), Sequent
 	Symmetry (Dynix), and Atari ST.  This is done using a
 	combination of the GNU dynamic loading package
@@ -605,8 +614,8 @@
 	emulation of the SGI dl library mentioned above (the emulation
 	can be found at
 	ftp://ftp.cwi.nl/pub/dynload/dld-3.2.3.tar.Z).  To
-	enable this, ftp and compile both libraries, then call the
-	configure passing it the option
+	enable this, ftp and compile both libraries, then call 
+	configure, passing it the option
 	--with-dl-dld=DL_DIRECTORY,DLD_DIRECTORY where DL_DIRECTORY is
 	the absolute pathname of the dl emulation library and
 	DLD_DIRECTORY is the absolute pathname of the GNU dld library.
@@ -617,19 +626,19 @@
 --with-libm, --with-libc: It is possible to specify alternative
 	versions for the Math library (default -lm) and the C library
 	(default the empty string) using the options
-	--with-libm=STRING and --with-libc=STRING, respectively.  E.g.
-	if your system requires that you pass -lc_s to the C compiler
-	to use the shared C library, you can pass --with-libc=-lc_s.
-	These libraries are passed after all other libraries, the C
-	library last.
+	--with-libm=STRING and --with-libc=STRING, respectively.  For
+	example, if your system requires that you pass -lc_s to the C
+	compiler to use the shared C library, you can pass
+	--with-libc=-lc_s. These libraries are passed after all other
+	libraries, the C library last.
 	
 --with-next-archs='arch1 arch2': Under NEXTSTEP, this will build
-	all compiled binaries with the architectures listed.  Includes
-	correctly setting the target architecture specific resource
+	all compiled binaries with the architectures listed.  This will
+	also correctly set the target architecture-specific resource
 	directory.  (This option is not supported on other platforms.)
 
---with-libs='libs': Add 'libs' to the LIBS that the python
-	linked against.
+--with-libs='libs': Add 'libs' to the LIBS that the python interpreter
+	is linked against.
 
 
 Building for multiple architectures (using the VPATH feature)
@@ -642,7 +651,7 @@
 architecture, and in each directory run the configure script (on the
 appropriate machine with the appropriate options).  This creates the
 necessary subdirectories and the Makefiles therein.  The Makefiles
-contain a line VPATH=... which points to directory containing the
+contain a line VPATH=... which points to a directory containing the
 actual sources.  (On SGI systems, use "smake -J1" instead of "make" if
 you use VPATH -- don't try gnumake.)
 
@@ -688,7 +697,7 @@
 pythonmac-sig-request@python.org).
 
 Of course, there are also binary distributions available for these
-platforms -- see http://www.pythonlabs.com/downloads.html
+platforms -- see http://www.pythonlabs.com/downloads.html.
 
 To port Python to a new non-UNIX system, you will have to fake the
 effect of running the configure script manually (for Mac and PC, this
@@ -709,7 +718,8 @@
 
 There's an excellent Emacs editing mode for Python code; see the file
 Misc/python-mode.el.  Originally written by the famous Tim Peters, it
-is now maintained by the equally famous Barry Warsaw.  The latest
+is now maintained by the equally famous Barry Warsaw (it's no
+coincidence that they now both work at PythonLabs).  The latest
 version, along with various other contributed Python-related Emacs
 goodies, is online at <http://www.python.org/emacs/python-mode>.  And
 if you are planning to edit the Python C code, please pick up the
@@ -725,17 +735,17 @@
 Tk (the user interface component of John Ousterhout's Tcl language) is
 also usable from Python.  Since this requires that you first build and
 install Tcl/Tk, the Tk interface is not enabled by default.  Python
-supports Tcl/Tk starting with version 8.0.
+supports Tcl/Tk version 8.0 and higher.
 
 See http://dev.ajubasolutions.com/ for more info on Tcl/Tk, including
 the on-line manual pages.
 
 
 To enable the Python/Tk interface, once you've built and installed
-Tcl/Tk, load the file Modules/Setup in your favorite text editor and
+Tcl/Tk, load the file Modules/Setup into your favorite text editor and
 search for the string "_tkinter".  Then follow the instructions found
 there.  If you have installed Tcl/Tk or X11 in unusual places, you
-will have to edit the first line to fix or add -I and -L options.
+will have to edit the first line to fix or add the -I and -L options.
 (Also see the general instructions at the top of that file.)
 
 For more Tkinter information, see the Tkinter Resource page:
@@ -748,8 +758,8 @@
 Note that there's a Python module called "Tkinter" (capital T) which
 lives in Lib/lib-tk/Tkinter.py, and a C module called "_tkinter"
 (lower case t and leading underscore) which lives in
-Modules/_tkinter.c.  Demos and normal Tk applications only import the
-Python Tkinter module -- only the latter uses the C _tkinter module
+Modules/_tkinter.c.  Demos and normal Tk applications import only the
+Python Tkinter module -- the latter uses the C _tkinter module
 directly.  In order to find the C _tkinter module, it must be compiled
 and linked into the Python interpreter -- the _tkinter line in the
 Setup file does this.  In order to find the Python Tkinter module,
@@ -763,7 +773,7 @@
 Distribution structure
 ----------------------
 
-Most subdirectories have their own README file.  Most files have
+Most subdirectories have their own README files.  Most files have
 comments.
 
 .cvsignore	Additional filename matching patterns for CVS to ignore
@@ -774,14 +784,14 @@
 Include/        Public header files
 LICENSE		Licensing information
 Lib/            Python library modules
-Makefile.in     Source from which config.status creates Makefile
+Makefile.in     Source from which config.status creates the Makefile
 Misc/           Miscellaneous useful files
 Modules/        Implementation of most built-in modules
 Objects/        Implementation of most built-in object types
 PC/             Files specific to PC ports (DOS, Windows, OS/2)
 PCbuild/	Build directory for Microsoft Visual C++
 Parser/         The parser and tokenizer and their input handling
-Python/         The "compiler" and interpreter
+Python/         The byte-compiler and interpreter
 README          The file you're reading now
 Tools/          Some useful programs written in Python
 acconfig.h      Additional input for the GNU autoheader program
@@ -798,7 +808,7 @@
 config.cache    Cache of configuration variables
 config.h        Configuration header
 config.log      Log from last configure run
-config.status   Status from last run of configure script
+config.status   Status from last run of the configure script
 getbuildinfo.o	Object file from Modules/getbuildinfo.c
 libpython2.0.a	The library archive
 python          The executable interpreter
