Can Software Live for 50 Years or More?
summary
OpenEXR reaches 25 years and the TSC commits to another 25 by applying concrete measures: fuzz testing and code-coverage targets, splitting out imath so libraries evolve independently, adding symbol versioning for ELF to preserve old APIs, and adopting a stateless failable malloc test harness to find leaks and reduce allocations. The project maintains forward/backward file compatibility, supports at least three VFX platform releases, and even contributed a patch to the deflate dependency to remove a global singleton.
AI-written summary · about
chapters (11)
- 0:00Introduction to long-lived software
- 2:09Software longevity challenges
- 5:19Standards and gradual change
- 7:07Community and design philosophy
- 9:14Security and testing practices
- 12:35Simplification and code cleanup
- 14:02Backwards compatibility strategies
- 16:10Balancing new features and stability
- 17:55Performance optimization lessons
- 19:59Summary and call to action
- 20:20Q&A session
related talks
41mSoftware environmentalism
41mArchitecting for the Long Haul: Technical Strategies for Sustainable Open-Source Support Models
07mTechnologies That Last
50mLessons from X
44mReflections around SW obsolescence
51mApproaches to Ultra-Long Software Maintenance
05mLong Live Sustainability
01h 03mLong-lived software architectures that survive decades without debt
