Copyright distributed.net 1997 - 1999 - All Rights Reserved
For use in distributed.net projects only.
Any other distribution or use of this source violates copyright.


Notes:

* THIS SOURCE IS NOT TO BE DISTRIBUTED to any other parties under any
  circumstances. Anyone needing access to the source should arrange for
  source code access directly from the /secure/ directory on the website.
  
* This source is AVAILABLE VIA CVS or through occasional snapshot
  tar-balls that are placed on the website in the /secure/ directory. If
  you are planning on doing any significant development or porting, it is
  highly recommended that you arrange to obtain a CVS account so that you
  can always obtain the latest version of the code. This will also allow
  you to easily commit any changes that you need to make to the source.

* PUBLIC SOURCE IS AVAILABLE at http://www.distributed.net/source/. This
  code does not just include cores. Most of the client (the only 
  exceptions being buffer and proxy related) is available there.
  
* distributed.net now has a BUG TRACKING SERVICE installed at 
  http://www.distributed.net/bugs/  Please contribute towards bug 
  resolution.

* UPLOADING YOUR PORT: Read readme-UPLOAD.txt for specific instructions
  that must be followed for client uploads. When you have sufficiently 
  tested the compiled executable for your platform, you can upload it to
  the distribution site by anonymous log in to "upload.distributed.net"
  and into the /incoming/ directory. You should send a message to the
  coders mailing list <coders@lists.distributed.net> indicating that you
  have uploaded your binary. This serves to not only inform us of a new
  upload, but also to identify the origins of an upload.

* Please observe the VERSION NUMBERING scheme as documented in 
  ./common/version.h

* Avoid #if (CLIENT_OS == blah) sections wherever possible. If you find
  yourself in a position where repeated #if (CLIENT_OS == x) sections are
  required, see if you can change the client's common code to make it more
  generic.
    
* This source distribution implements a simple "configure" utility in
  an attempt to make generation of Makefile's a little easier.  However, 
  the "configure" script does not autodetect your platform as the common 
  autoconf configures do, and so you will need to specify your platform 
  type on the command line to "configure".  You can see a list of supported 
  target types by typing "sh configure list" (or just "./configure list" 
  if you've used chmod to make configure executable).
  
* When adding new code segments and/or functions, keep the size of 
  variables in mind, particularly when you use or forsee the use of clib 
  functions. The following code snippet demonstrates a very risky coding 
  practice: char *my_malloc( u32 size ) { return new char[size]; }
  That code will bomb on 16 bit systems. It could also cause a fatal 
  exit if the new fails. Conversely, declaring a variable as s16/u16 may 
  cause some platforms (future additions) that do not support 16bit integers 
  to fail to compile.

* Breaking flow: the use of exit() is strongly discouraged. The client 
  can cause rather ugly side effects on some platforms if the do not clean
  up behind themselves.

* The other issue that always comes up in C styling is the placement of
  braces. Given the religiousness with which personal style is defended,
  it isn't in distributed.net's best interests to impose some style that
  is (usually) as good as any other. After all, if you submit code, chances
  are you will be maintaining it as well. We do however insist that submitted
  code has tabs expanded to spaces and indented sections are inline with 
  other indented sections around it (this translates to a tab expansion of 
  two spaces).

* Chronologically sorted cvs log summaries are available at
  http://bruteforce.st.hmc.edu/~jlawson/cvslog/

* When you have made a naturally grouped set of changes to the client
  code, please update the ChangeLog.txt file that is in the "docs"
  directory.  This file is distributed with the client binaries and
  needs to contain an end-user summary of all significant changes since
  the last version released.


