The variables “firmware” and “software” have two different definitions, but return the same value.
* My raw files nef, orf and rw2 return the firmware value.
* Developed jpg’s return the software I use except files from rw2, which still return a firmware value.
Suggestion is to have one variable and let that variable read the same value irrespective of camera make for jpg's.
We have a lot of variables that return the same results and are essentially aliases. Rather than eliminating those variables, we're going to focus on making it easier to find the variable you need.