I have a question/suggestion about the OpenWRT upgrade procedure. On devices with larger storage capacity (not embedded devices), why not create a possibility of having two partitions and install the upgrade to the other partition as well as copy all the installed packages and settings from the previous version to the new version of OpenWRT? This way, the upgrade will not destroy the previous version, and there should be a mechanism for switching back to the previous version by simply rebooting from the active partition to the inactive partition.
If the upgrade results in degraded capabilities, it would be easy to switch to the previous version to minimize downtime and then figure out the problem with the upgrade later.
Cisco does something similar with their Unified Communications systems (which run on CentOS Linux), whereby if the upgrade goes awry, you can simply switch to the working version by rebooting into the inactive partition. Storage is cheap nowadays, so for non-embedded devices, it would be well worth one's while to install storage that is twice the amount needed to run OpenWRT and all the packages to be able to keep two partitions with full installations on the storage medium.
I think one of the obstacles to a better OpenWRT adoption is the difficulty of the upgrade process if any non-standard packages are been installed. The upgrade procedure in pfSense is completely seamless compared to the complicated OpenWRT upgrade procedure.