
                             CODA CREDITS

The Linux port of Coda was initiated and led by Peter Braam, starting
in early 1996.  Peter spent Fall 1996 as a visitor to the Coda group
at Carnegie Mellon, and will be returning to work as a full time
member of the project in April 1997.  Generous and crucial help for
the port was provided by Michael Callahan, Yui-Wah Lee (Clement),
Werner Frielingsdorf, and members of the Coda group at Carnegie
Mellon, particularly Josh Raiff, David Steere, Bob Baron, and Lily
Mummert.  The porting effort included a major restructuring of the
Coda source code to use a build environment based on GNU tools.

The Coda project began in 1987 with the goal of building a distributed
file system that had the location transparency, scalability and
security characteristics of AFS but offered substantially greater
resilience in the face of failures of servers or network connections.
As the project evolved, it became apparent that Coda's mechanisms for
high availability provided an excellent base for exploring the new
field of mobile computing.  Coda pioneered the concept of disconnected
operation and was the first distributed file system to provide this
capability.  Coda has been the vehicle for many other original
contributions including server replication, log-based directory
resolution, application-specific conflict resolution, exploitation of
weak connectivity, isolation-only transactions, and translucent cache
management.

Coda was originally implemented on Mach 2.6 for the IBM RT-PC.  It was
then ported to Mach 2.6 on the DEC MIPS and Intel  386  architectures.
More  recently  it has been ported to NetBSD (primarily by Brian Noble
and M. Satyanarayanan) and  FreeBSD  (by  Hiroshi  Inamura)  on  Intel
platforms,  besides  Linux.   The implementation is almost entirely in
user space, with only a small amount of kernel  modifications.    These
modifications   are   primarily   to   allow   efficient,  transparent
redirection of file requests from the  VFS  layer  to  the  user-level
cache manager.

Coda  embodies the creative energies of many people, working very hard
over many years. The main contributors are listed below  in  order  of
their  initial  involvement  with  the  project, together with a brief
description of their primary contributions.  This  list  is  certainly
incomplete:  many  people have done things for the project that aren't
easily highlighted, such as helping track down difficult bugs, dealing
with  hardware problems, helping to restore server state after a major
clobber, doing code cleanup, and so on.  With these caveats  in  mind,
here is the list:

   M. Satyanarayanan (1987-now)
                              Chief cook and bottle washer

   James J. Kistler (1987-93) Overall architecture of Coda; design and
                              implementation   of  server  replication
                              protocols;  design,  implementation  and
                              evaluation  of  support for disconnected
                              operation; extension of MultiRPC to  use
                              IP  multicast;  design  of MiniCache and
                              RVM.

   Ellen H. Siegel (1987-89)  Overall architecture  of  Coda;  design,
                              implementation,    and   evaluation   of
                              MultiRPC

   Puneet Kumar(1987-95)      Design, implementation and evaluation of
                              resolution     subsystem;    performance
                              evaluation   of   server    replication;
                              performance     evaluation    of    RVM;
                              integration  of  RVM  into   Coda;   LWP
                              emulation;        server       internals
                              documentation.

   David C. Steere (1988-96)  Design  and   implementation   of   Coda
                              MiniCache;  design and implementation of
                              Coda backup  subsystem;  RVM  extensions
                              for dynamic storage allocation.

   Maria Ebling (1989-98)     Design  and  implementation  of hoarding
                              extensions   for   weak    connectivity;
                              original author of Coda manual.

   Lily B. Mummert (1989-97)  Design, implementation and evaluation of
                              mechanisms     for      weakly-connected
                              operation.

   Hank Mashburn (1990-94)    Design and implementation of RVM.

   Brian Noble (1991-98 )     Empirical   usage  data  collection  and
                              analysis;  implementation  of  Potemkin;
                              NetBSD port.

   Masahi Kudo (1991-92)      Extensions to Venus for data collection;
                              extensions to RPC2  to  support  dynamic
                              arrays.

   Qi Lu (1992-96)            Design, implementation and evaluation of
                              IOT  mechanism;  enhancements  to  Venus
                              repair capability.

   Josh Raiff (1993-97)       Coda    system   manager;   design   and
                              implementation of norton;  restructuring
                              of Coda to use GNU build environment

   Bob Baron (1994-now)       Mach  wizardry;  x86 guru; PCMCIA driver
                              support; WaveLAN support.

   Hiroshi Inamura (1994-97)  FreeBSD port

   Peter Braam (1996-now)     Linux port including Linux minicache;
			      restructuring  to  use
                              GNU build environment, partition system,
			      numerous bug fixes. Windows NT port. New
			      directory handling.

   Yui-wah Lee (1996-now)     Linux port (rvm). Research on strong clients.
	
   Elliot Lee  (1997-98)      Sparc Linux port, glibc port.

   Michael Callahan (1996-now)Windows Client 95 port.

   Robert Watson (1998-now)   Kerberos support and portmapper (with Peter).
   
   Shafeeq Sinnamohideen (1998-now) RPC2 improvements.

   Jan Harkes (1998-now)      Improvements to weak connectivity.
			      Extensive changes and fixes throughout.

   Philip Nelson (1998-now)   Solaris kernel module.
			      Server and client improvements.
			      Completion of NT kernel module.

   Mathew Monroe,	      PDB database.
   John-Anthony Owens,
   Samuel Ieong,
   Rudi Seitz.

   
Work on Coda has been supported by many funding agencies and
corporations over its history.  The contributors include: National
Science Foundation (NSF), Defense Advanced Projects Agency (DARPA),
IBM Corporation, Digital Equipment Corporation, Sun Microsystems,
Bellcore, and Intel Corporation.  Any bugs in Coda are, of course, our
responsibility not theirs!

Coda began life as AFS-2, which is owned by IBM.  Although most parts
of the system are new or completely rewritten, there remain signicant
parts of the code that are regarded as "derived code".  Carnegie
Mellon has obtained permission from IBM to freely distribute Coda
source code under the terms mentioned in the Coda redistribution
notice.

