TL;DR: At UserLand, a company I founded a long time ago, we had a rule called Rule 1. It said simply: No breakage. It meant you couldn’t change the environment such that apps that ran in version N did not run in version N+1. It meant you took longer to release a new version because once released, you had to live with it forever. This rule came from bad experiences when we did things that broke users and developers. Since we were both the developers of the platform and users of the platform we had a realistic perspective of this.
I was once having a discussion with someone who wanted to implement a successor to Frontier, intending it to be compatible with Frontier, in some way, but right at the beginning said he was going to make it case-sensitive where Frontier is not case-sensitive.
I’d be happy to debate anyone
Original URL: http://scripting.com/2021/03/30/213101.html?title=rule1