A worm is a self-reproducing program that does not infect other programs as a virus will, but instead creates copies of itself, and these create even more copies.

Worms are usually seen on networks and on multi-processing operating systems, where the worm will create copies of itself that are also executed. Each new copy will create more copies quickly clogging the system.

The so-called APRANET/INTERNET "Virus" was actaully a worm. It created copies of itself through the network to its knees. It did not infect other programs as a virus would, but simply kept creating copies of itself that would then execute and try to spread to other machines.

Some newer macro viruses also send their infected documents over the internet to others who then infect their systems and spread the virus futher. Some have classed these as worms. However, because these progams require a host in order to spread (even though they send themselves and the host over a network) Computer Knowledge (and most anti-virus researches) puts these beasts into the virus categories can get blurred.

The newer script worms don't help clarify the classification issue. Many of these are sent as a VisualBasic Script (VBS) file attached to an E-mail message. If you click on the attachment to open it the script runs and will often send the script to addresses book; thus spreading itself. Technically, these would be worms but are often called viruses.