This changes my perspective on the Android phone support situation. I always thought it was Qualcomm's fault because they didn't update proprietary binary blobs and so it was impossible without Qualcomm's help. But according to what Fairphone is doing, Qualcomm only stops making it easy, it's still possible for others to keep it updated. So Google and Samsung and others which have massive resources could easily keep a phone supported if they wanted to.
LineageOS and custom roms have been doing this for over a decade. And those are entirely based on volunteer efforts. It actually doesn't take that much work. The reason Google etc don't do it is because then they'd get to sell fewer phones since they wouldn't be getting obsolete so quickly.
Apple supports devices for a lot longer because they get a lot of recurring and ongoing revenue from Apple services on Apple devices, so it's in their favour if devices stay usable for longer.
You can understand almost all decisions made by tech companies if you think along the lines of "how are they profiting by doing _______?"
Fingers crossed EU gets us some sneaky repair legislation that forces companies to release all code required to make a device operate if they choose to stop updating it.
The amount of waste caused by companies actively not doing this is arguably criminal.