We have developed a new module for the open-source GIS GRASS. The new module, called r.viewshed, computes the viewshed of an arbitrary viewpoint on a grid terrain and is based on previous work on computing the viewshed for very large grids in external memory by Yi Zhuang. r.viewshed is much faster compared to the current viewshed module in GRASS, r.los. The output produced by r.viewshed is similar, but not identical, to the output produced by r.los; the differences are due to the different interpolation methods used, which brings up the question of quantifying the various grid interpolation models based on the accuracy of the output.
The module can be downloaded from [GRASS add-ons svn page].
Here is a link to the talk on r.viewshed given at FOSS4G 2008.