A user may download files from Netlib by sending an email request or by clicking on the filenames from Xnetlib, GAMS, or WWW interfaces. Netlib files are organized into directories. Some directories contain a single package, such as the LAPACK directory, while others contain programs for a particular domain, such as the OPTimization directory. Each directory contains an index file containing catalog records for the files in the directory. Most directories also contain a readme file giving an overview of the directory. Some directories have subdirectories, for example for the different Fortran precisions available and for test and example programs. A user may initially do a keyword search to locate relevant directories and then browse the index files for those directories to locate relevant files which may then be downloaded.
When downloading a routine from Netlib, a user may make use of a dependency-checking mechanism that allows retrieval of the entire dependency tree for that routine. The user may specify that a subtree be omitted, however, if those routines have been retrieved previously. There is also an automatic tar facility that builds and returns a tar file of any Netlib directory or subdirectory upon user request. Binary executable files for several Netlib packages are also available - for example, for the Xnetlib and HeNCE packages.
Users may download files from the NHSE via a WWW browser. The NHSE provides a searchable catalog of HPCC software, as well as a browseable listing by category . Each entry in the catalog includes either a URL that may be clicked on to retrieve the software or more information about it. Clicking on these URLs connects the user to the software provider's home site - i.e., the NHSE provides an interface to a virtual distributed repository consisting of a large number of independently maintained physical repositories. In the near future, the NHSE will switch from using URLs to using location independent names . Use of location independent names will allow files to be moved without requires references to them to be changed and will permit transparent mirroring and reliable cacheing.
Care should always be exercised when downloading and using files obtained over a network, especially tar files and executables. Although Netlib is regarded by most users as a trusted source, it would be possible for someone to impersonate a Netlib server and make dangerous tar or executable files available, purportedly from Netlib. Because source code is unlikely to be examined closely by the user, deliberately introduced bugs or other malicious modifications might also slip past in source code form. In the near future, both Netlib and the NHSE will use public key cryptography to allow users to authenticate the source of downloaded files.