Pixel will be supported until October 2019, and Nexus 6P is up to September 2018.
It is understandable, since as the generation of phones aggregate, it would be too busy to support all of them and it would be nearly impossible to have bugs in it.
But at the same time, it is sad to learn that when the old phones are still usable, it will be unsupported. The hardware won't expire till 5 years, 10 years maybe. But the software is outdated within 2 or 3 years. Why? Is it really necessary to stop supporting old phones that fast?
To support so many phones with different features and hardware, one way to solve the problem is to rely on the community. Crowdsourcing is definitely a feasible solution. If one person takes care of one phone, or even 10 people, 100 people do so, then we can easily take care of thousands of phones. But the problem is there are many requirements for the person. The person has to be well trained with the system design/programming, well understood the device/hardware, and well perform coding with minimal bugs. That is too hard.
Another possible way is to control the hardware. Well, obviously this can't be a solution for the Android community. At least not yet. All the manufactures use different hardware, different design, and different firmware. There is no way they can share the information and limit themselves on the choice of the same hardware, or similar ones at least. It is good that google has Made By Google now, so they take full control of their own hardware.
Despite of doing so, the company still has to put man forces to develop and build the consistent performance for the old phones. These phones do not make more profits to the company, but rather eats up all the resources and raises the additional cost. I guess THIS is the true reason not just Google but also others have to limit the support with some life cycle.
So what can we do about this? One is to hope people are smarter and everyone can contribute to the support of the system. It needs incentives for the users to do so. Also the company has to open source everything in details.
The other I can think of is to find the potential profit of reusing the old phones. So the company can earn enough and actually pay enough developers to make support possible.
What can you really ask the users to pay with the old phones? Software. So is it possible to ask the user to pay so that the phone will be continuing to get supported? Possible, through crowd funding.
So essentially we need two strategy. One is to push the users to purchase new phones, so old phones can gradually lose support. And two, ask the user to pay some service fee so all services can be continuously supported.
Maybe Google has already thought of this. Maybe from their data, they found a majority of users/customers do not use phones that are more than 3 years. So in other words, we do feel sad, but in the end, do we really care about it? That is something worth thinking.