What Makes Software Legacy?
What makes software legacy? Two most popular answers are the age of the software, or the technology it was built upon. Looking at this question more critically, neither of these answers make any sense. For instance, some of the internet technologies are over 10 years old - does it make those legacy? Is Apache web server legacy? How about mainframes or Unix? Apparently these are not called legacy either - although each of these are quite old - way older than the latest buzz technology. How about software built using C or Perl? In fact, EJB 1.0, which is younger than, let’s say, C language, is considered legacy now. So, it is neither the age of the software nor the age of the underlying technology that make software legacy.
So, what makes software legacy? IMO, what makes software legacy is the change in assumptions. Most software is built around some assumptions (or use cases, in some cases) about its usage, its environment and so on. For instance, take my once-favorite editor Emacs. There may be still a large number of users vouching for Emacs, but I consider it legacy. In my view, it was designed for a different era for a different kind of software development with a different set of technologies in mind. For now, I think that is what makes software legacy.



No comments yet.