SLAMD Distributed
Load Generation Engine
Version 2.0.0-alpha1

Contributing Code to SLAMD

The SLAMD Distributed Load Generation Engine is an Open Source project. This means that the code is available for anyone to access, and it also means that anyone can make any kind of changes that they want under the conditions of the Sun Public License, which basically requires that if you distributed a modified version of the code that you also provide the source for those modifications under the same license. If the code is not redistributed (i.e., the changes are only for private use), or if you did not modify any of the core code but rather developed an additional component (e.g., a new job class) then those changes are not required to be disclosed.

However, one of the key benefits of Open Source software is that it can be updated and improved upon by its users. It is beneficial for everyone when code changes are contributed back. In this vein, if you wish to do so, then you may contribute your own code to be considered for inclusion in SLAMD.

At present, the codebase for the core SLAMD server and clients is somewhat in flux, as the addition of new features is expected to cause significant changes. Therefore, it is recommended that contributed changes be limited to external components for which there is a publicly documented API. This includes things like job classes, job scripts, resource monitors, optimization algorithms, and report generators. Anything written using a publicly-documented API should not be impacted by changes in the core server and should continue to work properly in future versions of SLAMD.

In order to submit your contributions for consideration as part of SLAMD, send an e-mail message to SLAMD-Contrib@SLAMD.com with information about the change. If there is a relatively small amount of code, then it may simply be attached to this message. Otherwise, it is recommended that the code be made available through some other means and the e-mail message sent should include instructions for retrieving it.

As part of the e-mail message, include a description of the code change, including a brief overview of how it works. It is also important that you include the following additional information along with the code:
  • Include a statement indicating that you hold the copyright on the provided code and that you have the legal right to make the contribution. You will continue to retain copyright ownership on all code changes that you contribute.

  • Include a statement indicating that you are providing the code under the terms of the Sun Public License. Code that is not licensed under the Sun Public License cannot be considered for inclusion. Note, however, that as the copyright holder you are free to provide the code under multiple licenses (including licenses that are not open or free).

  • Include a statement indicating that the contribution does not violate any patents or contain otherwise encumbered content that would not be suitable for inclusion in an Open Source environment.

  • Include a list of any external dependencies that the code might have. Dependencies on libraries already provided with SLAMD should be included in this list as well.

Once the code has been contributed, it will be evaluated, and it may be accepted, although there may need to be revisions made. If the code is accepted, then it may be either included directly in SLAMD or provided as a separate third-party add-on.