1.2. Swarm is a Dynamic Platform

Swarm is free software [1]. The current Swarm distribution is effectively [2] released under the GNU General Public License (GPL). The free software model of software development is particularly effective for a tool like Swarm, for both theoretical and practical reasons:

The development work is being done by the Swarm Development Group, located in Santa Fe, New Mexico. (The Swarm project relocated from the SFI at the end of October 1999). Their results are periodically released on the Internet and users have access to the source code. The creators fully intended for users to take the code, experiment with it, and propose changes and enhancements. This open source strategy is designed to capture the contributions of a lively research community. When users make improvements in the libraries, they are encouraged to announce them to the community and make them available. As a result of the interaction of the community and the Swarm team, the Swarm libraries are constantly being revised.

To get an idea of how much things change, consider the brief history of the project. Swarm was originally intended for Unix operating systems that support the X Windows System. The first beta version of Swarm was released in 1995. In January 1997, version 1.0 was released to the public. It would run on Solaris and Linux operating systems. Quickly after that, minor releases followed that opened up Swarm to the DEC Alpha platform and other flavors of Unix. In April 1998, the reach of Swarm again broadened, as version 1.1 was released and, with the help of the Cygnus Win32 package, Swarm could be used on the Microsoft Windows 95/NT (and now 98) operating systems. In late 1999 the Swarm releases 2.0 and 2.0.1 introduced a Java layer for Swarm to enable Java programmers to access Swarm libraries and enabled the export of data through the HDF5 binary data format from NSCA.

Because Swarm does grow and change as a result of the complex interaction within a research community, its precise path for development is not predictable. Current priorities for the Swarm team at the SDG include the further generalization of Swarm to be useful on a broader array of platforms and in conjunction with additional computer languages. Prototype XML and Scheme layers for Swarm have been tested, for example.



sometimes referred to as "open source" source software, see the Open Source Definition


The core Swarm libraries are currently released under the LGPL, but the standard binary distributions generally include many GPLed support components, which effectively mean that Swarm is GPLed.