Ray, I can see you have a definite idea about this and it is pretty set. However I think I see a different angle to much if not most of the thinking you have around this. First I have to replace the cheap routers periodically as I need to increase range and get latest features. If I had one principle router, it would be a burden to have to put all my fixed IP info into it, and arguably I don’t want that in the cable router; I want to keep the two isolated, so if I have to work on the cable router it doesn’t affect the rest of my system. I actually was forced by a cable company recently to replace one of my routers because they felt that a new router would have better IPv6 compatibility. I was glad not to have to do more extensive network configuration around that.
Also, reliability theory: I don’t want a third party item to be required to make a system work for two things to talk together. I don’t want communications to depend on an outside entity when it’s completely unnecessary. It’s always more reliable to avoid adding additional elements.
Your point that it is a bad idea to set an address on a device: if I set an address that isn’t in the range of the network, it won’t work, and I’ll go do a reset on the device and do it over. That’s just a dumb mistake, and I could just as easily make the same dumb mistake by configuring the router with a wrong address attached to the device’s MAC address; this really is an argument against doing something stupid. It won’t affect one approach more than another, and it’s no more harmful with one approach compared to another. The same can be said for putting in a wrong IP address that conflicts. These things are dumb mistakes, easily caught, and no more or less troublesome with one approach compared to another. It is NOT a convincing argument against static IPs, especially since both approaches we are arguing about are static IP approaches, the only difference being one is set in the device and one is kept in the DHCP server.
I believe you have a strong feeling about this, and it just feels wrong to you, but wouldn’t it be better to put the static IP feature in and let the customer decide? That way if someone feels as you do, they can configure it in the router. If I think that’s a horrible idea, I can program in the static IP my way. Why force your way? Not in the best open system spirit I would say.
Your last point is that I am trying to recreate what routers do automatically. In fact routers don’t automatically assign static IPs, as you well know, and that feature was added (I happen to know) to routers as a workaround for devices that were too dumb to have a static IP feature where it was really needed. It was viewed at the time as an emergency fix for the few broken devices around.