Your error is trying to equivocate a subset with the set.
That is YOUR error. Every time you write firmware=software, YOU make that error.
Don't forget to tip your waitstaff.
Unless you can explain when firmware is not software (which you can't) - you are barking up you own private tree of faulty logic.
Now I understanding why you are running away.