

Avoiding Abandonware
11 snips Jun 17, 2024
Explore the intriguing world of abandonware, where software systems face a cycle of death and rebirth. The hosts tackle the complexities of managing software lifecycles and the pitfalls of code dependencies. With a humorous take, they highlight the chaos of outdated libraries and the need for proactive refactoring. They also discuss the inefficiencies within project-oriented development approaches. Ultimately, the conversation emphasizes the importance of modular design and a culture of custodialism to sustain software longevity.
AI Snips
Chapters
Transcript
Episode notes
Software Project Lifecycle
- Software projects often follow a pattern of excitement, stability, ossification, and eventual abandonment.
- This is driven by systemic forces and can be difficult for individuals to avoid.
Avoid Feature Cram
- Companies should avoid cramming every feature into one system.
- Consider splitting projects or creating new ones instead of constant rewrites.
Immutable Projects
- Matt Godbolt mentions libcurl and zlib as examples of projects that are essentially immutable due to their widespread use.
- These projects are maintained, but changes are very conservative due to the risk of breaking downstream dependencies.