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 really 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 certain 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 actually good for you and your business.
Underlying Technology has been End of Lifed or is no longer supported
Software products are built on other software and hardware technology. Software is built using specific programming languages, software development toolkits, and are 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 all together.
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.
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.
Technical Debt
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 that need to be performed 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 include the need to rewrite (refactor) code in the product that has become complex or inefficient as new features have been included in 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 are forced to either work around the limitations of the debt or invest significantly in paying it down. Your subscription or maintenance fees will be mostly used to 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.
Financial Viability
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 point”, 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 current, well maintained and supported software running your operations.
Newer Version / Next Generation Product
Software vendors often create a new “Net 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 “yesterdays” product. You’ll get more modern software, functionality and integrations than you had previously.
What do you do when faced with an EOL date for your software product?
Talk with your software vendor about their recommended migration path.
Consider Cloud subscriptions versions of your business software where upgrades, maintenance, operating systems, databases and hardware are included in the subscription.
Start creating a migration plan that backdates from the End Of Life date. Make sure your plan is set to complete at least six months prior to the EOL date in case your project slips.