technical_debt_and_deprecation

The orthodox use of technical debt means "integrates with technology that I no longer like/consider outdated/find to be unpopular" but that use justifies going further into technical debt. Debt is when you make a commitment today that you will pay back with interest later. As described in Ward Cunningham's Wycash experience report, that commitment is writing software based on today's understanding of your problem. In the future, you'll have an improved understanding, but you'll still be working with software that encodes your earlier understanding.

If you understand that, then you understand that a rewrite to integrate with technology that you recently decided to like/now consider modern/find to be popular, you aren't "paying down technical debt", you're "ignoring interest payments while you blow your salary on a sports car". Your understanding of the problem you're solving, and its realization in software, both remain static while you play with your new toys.

Free Software is antithetical to deprecation. You have the source code, and you have the freedom to use, study, share, and improve the software. If some community says "we no longer want to support this technology", you're free to do it yourself. You're free to band together with other interested people to do it together. You're free to pay someone to do it.

Home