Spread Development

Spread Developers

The Spread Toolkit is developed by Spread Concepts LLC.

Spread also benefits from an active group of users, developers and researchers from around the world, including the Distributed Systems and Networks lab (DSN) at Johns Hopkins University and the Experimental Networked Systems Lab at George Washington University.

A list of Spread creators and contributors can be found in the Credits page.


Spread Development

If you are interested in Spread development the best thing to do is join the Spread-users mailing list and introduce yourself.

Spread SVN

The Spread source code is available through a read-only SVN repository as well as from the download page. The SVN archive tracks the current development code which may be more recent then the last released version. However, the SVN code has also not been tested, may not compile, may have known bugs or security flaws and is NOT recommended for anyone not interesteed in working with the code and testing it.

We try to release separate patches to fix any critical bugs found in released versions of Spread. These patches will usually be found on the news page or the home page.
If you are interested in SVN access please send an email to spread@spread.org stating that you would like SVN access and including your public SSH RSA or DSA key. When we receive your email, we will add an account for you on the SVN server and email you back.

Using SVN

You can access our SVN repository through ssh. The steps are:

  1. Email us your SSH RSA or DSA key. If you don't already have one, you can create one by:
    1. To create a key pair run the following command and enter a passphrase when prompted. ssh-keygen -t dsa -f spread_svn_key
    2. This will create the files spread_svn_key and spread_svn_key.pub in the current directory. We recommend you copy them both to your ~/.ssh directory.
    3. Email the spread_svn_key.pub to spread@spread.org along with your full name.
    4. Finally, edit the file ~/.ssh/config (create it if it doesn't exist) and add to it the lines:

      Host svn.spread.org
      IdentityFile ~/.ssh/spread_svn_key

      Make sure your ~/.ssh/config file has permissions rw-r--r

  2. Change to the directory you wish to use for the checkout.
  3. run svn checkout svn+ssh://spreadsvn@svn.spread.org/spread/trunk
  4. You may have to enter your ssh key passphrase several times if you are not running an ssh-agent. After that you should see a series of messages showing all of the files being checked out into the new trunk directory. If you want to use a different top level directory name, just place it at the end of the above commanad and the code will be placed in that directory.
  5. You are done! The CVS_Readme.txt file will be helpful with instructions on working with and building the checked out code.

Submitting a Bugfix, Feature, or Port

If you have a bugfix, feature, or port of Spread or the included libraries that you would like to contribute to the Spread project we are happy to take a look at it. All we ask is that you:

  • Include the following license with the patch file to make clear that you are allowing us to use your copyrighted work as part of the software we distribute.
    Copyright (C) [Year] [Your Name Here]
    
    Permission is hereby granted, free of charge, to any person obtaining
    a copy of this software and associated documentation files (the
    "Software"), to deal in the Software without restriction, including
    without limitation the rights to use, copy, modify, merge, publish,
    distribute, sublicense, and/or sell copies of the Software, and to
    permit persons to whom the Software is furnished to do so, subject to
    the following conditions:
        
    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
    NONINFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR
    ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
    CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
    WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    
  • Email it to either the spread-users list or to us directly at spread@spread.org and ask us to include it in Spread.