Home > Blog
Read Time — 5 minutes
What is "End of Life" for software? You may have heard the term "End of Life" or EOL used with some of your favorite business or personal software. Let's talk a little bit about what that means.
From our friends at Wikipedia: "End-of-life" (EOL) is a term used with respect to a product supplied to customers, indicating that the product is in the end of its useful life (from the vendor's point of view), and a vendor stops marketing, selling, or rework sustaining it."
More simply put, the software vendor has made a decision not to continue to sell or maintain the product past a specific date that they have published. Software vendors take a variety of criteria into account when deciding to EOL a product, and we will discuss a few of them and why they are good for you and your business."
Software products build on other software and hardware technology. Software is produced using specific programming languages, software development toolkits, and delivered on specific operating systems and database servers.
The manufacturers of these underlying tools also make decisions on EOL timeframes for them. For example, Microsoft recently EOL'd Windows XP, SQL Server 2008, and Windows Server 2008. Some of these manufacturers may also go out of business and stop offering the tool altogether.
Some technologies and tools may still be viable, but it may be hard or impossible to find developers that know and are willing to work on it.
Your software product vendor may not be able to efficiently or reasonably make the product work well on the latest versions of the tools, if there are new versions and decide to EOL the product.
Why is this good? Underlying tools must be maintained to continue to work and be secure. When these tools are EOLed, they rapidly become security and stability liabilities in your enterprise. Without critical security updates, hackers may take advantage of the unpatched vulnerabilities to attack your business.
The moment we are born, we being to age. The same is true of a software product. As it ages, it accumulates "technical debt." Technical debt is a collection of maintenance tasks to keep the product up to date. Examples include updating tools, upgrading the programming language tools/version, updates to software development kits, applying code patches. It also may consist of the need to rewrite (refactor) code in the product that has become complex or inefficient as new features are added to the product.
Technical debt is often unseen by users, and the effort to "pay down" often brings little value to users as well. Technical debt has a way of growing in favor of applying resources to features and functionality that users want to see in the product. Technical debt does slow programmers, increase effort to maintain and enhance software, and sometimes block the ability to advance the software to meet the current needs of customers.
Why is this good? Software with high technical debt is hard to maintain and enhance. Developers either work around the limitations of the debt or invest significantly in paying it down. Your subscription or maintenance fees will maintain the software and not enhance it. Over time, it may be more advantageous and viable to rewrite the product or to migrate customers to a newer one in the portfolio that can deliver greater value and be enhanced more quickly.
When a product is past the prime of its life, and new generations are available in a vendor's portfolio, the customer base migrates away from the product over time. At certain "tipping points," the number of paying customers dwindles to below the level where it supports the costs of maintaining the product.
At this tipping point, the vendor may elect to set an EOL date for the product and incentivize customers to migrate to a new offering before that date.
Why is this good? Your business benefits from having a current, well maintained, and supported software running your operations.
Software vendors often create a new "Next Generation" product to replace older products in their portfolios. These products make use of the latest technology, tools, and innovations. These new products do not carry as much technical debt and often make use of technologies that allow developers to build enhancements faster for customers.
Why is this good? Software vendors want you to take advantage of this investment and invest less in "yesterday's" product. You'll get more modern software, functionality, and integrations than you had previously.
So, what do you do when faced with an EOL date for your software product?