They release a new major version that changes everything so they spend years fixing and stabilizing, and then they release another major version and repeat the process.
This is inevitable when you either set your sights too low (and after a while realize that your current architecture will never get you where you need to be) or develop too slowly (so by the time something is finished the market has moved on).
Personally, I think it has more to do with the fact that very few people want to fix old bugs in an old codebase in their free time when they could be writing a brand new version with brand new bugs. "This time, we'll make better bugs!"
Comments
They release a new major version that changes everything so they spend years fixing and stabilizing, and then they release another major version and repeat the process.
This is inevitable when you either set your sights too low (and after a while realize that your current architecture will never get you where you need to be) or develop too slowly (so by the time something is finished the market has moved on).
Personally, I think it has more to do with the fact that very few people want to fix old bugs in an old codebase in their free time when they could be writing a brand new version with brand new bugs. "This time, we'll make better bugs!"
Yes, there's also that. http://www.jwz.org/doc/cadt.html