In addition, phone manufacturers write bad code, that would need to go through many review iterations until the open source community is happy with their changes. Often their changes to the kernel break things for other hardware, for instance.
Review and writing good software takes time, and phone manufactorers don’t care about long term support, they want to sell you a new phone every year, or even more often. So they fork the kernel and hack together with lots of string and duct tape, a frankenstein kernel that just works on their hardware, but is broken for anything else.
In addition, phone manufacturers write bad code, that would need to go through many review iterations until the open source community is happy with their changes. Often their changes to the kernel break things for other hardware, for instance.
Review and writing good software takes time, and phone manufactorers don’t care about long term support, they want to sell you a new phone every year, or even more often. So they fork the kernel and hack together with lots of string and duct tape, a frankenstein kernel that just works on their hardware, but is broken for anything else.