||IRAF: Lessons for Project Longevity
||461, Astronomical Data Analysis Software and Systems XXI
||Although sometimes derided as a product of the 80's (or more
generously, as a legacy system), the fact that IRAF remains a
productive work environment for many astronomers today is a testament to one
of its core design principles, portability. This idea has meaning beyond a
survey of platforms in use at the peak of a project's active development;
for true longevity, a project must be able to weather completely unimagined
OS, hardware, data, staffing and political environments. A lack of
attention to the broader issues of portability, or the true lifespan of
a software system (e.g. archival science may extend for years beyond
a given mission, upgraded or similar instruments may be developed that
require the same reduction/analysis techniques, etc) might require costly
new software development instead of simple code re-use. Additionally,
one under-appreciated benefit to having a long history in the community is
the trust that users have established in the science results produced by
a particular system. However a software system evolves architecturally,
preserving this trust (and by implication, the applications themselves)
is the key to continued success.
In this paper, we will discuss how the system architecture has allowed IRAF
to navigate the many changes in computing since it was first released.
It is hoped that the lessons learned can be adopted by software systems
being built today so that they too can survive long enough to one day earn
the distinction of being called a legacy system.