A tool for distributed software development maintains a pool of software
modules. A module manager manages submissions to and downloads from the
pool. The module manager can be a computer system with programming and
resources suited for managing the pool. Developers and users can access
the module manager via a computer network such as the internet, or via
other transmission mechanisms. A developer intending to submit a module
to the pool can specify access conditions associated with the module, and
transmit information needed to access the module. The module manager can
add the access information and access conditions to the pool. A developer
or user intending to access a module from the pool can identify a desired
module. The module manager can then determine if the intended access
complies with the access conditions associated with the desired module.
If it does, then the module manager can transmit the access information.