[flagged]
At some point of development, the only way to progress without spiraling complexity is to break backwards compatibility. You might be interested in studying the internals of X11 and wayland to learn more. In a commercial project like windows, this sort of project is a total no-go. However in a collaborative community project like linux userspace, developers have more freedom to make design decisions in spite of short…
Sometimes it's very visible, like they are pushing a new UI framework. Other times it's under the hood, like they changed how a lot of GDI works.