It's always amazing to see systems evolve with time. Any system is a canvas. A system is a structure which is regular in time or in space, or both. And makes it possible to predict the recurrent sequence. As soon as you create a system, you give the possibility for people to build on top of them. By this nature, they are canvases for the creation of new things.
In the mobile world, we have User Agent (UA) strings. These are strings with some patterns. Once a pattern becomes popular enough, a new UA string will try to adopt a similar convention than the popular one. We start to create a system. Because UA strings becomes similar, people try to be identical and still be slightly different for allowing specific treatment. Basically, on the canvas of UA strings they want to reintroduce diversity.
But then why it matters to respect a pattern if you want to be unique. Because people created patterns on top of the first popular UA strings. They created Web framework for detecting UA strings. These frameworks were made to help identifying the uniqueness of their browsers or of their supporting devices. UA detection frameworks became popular. They created a new system. A system that now new UA strings have to follow to be taken into account. And then, the discussion revolves around this metaphysical question:
Do I need to make the UA string compatible with the UA detection frameworks or do we push to make the UA detection frameworks compatible with this new UA string?