I would also like to establish a classification. Thank you for making a concrete suggestion.
Julius Werner wrote:
So as a quick brainstorming, I'd rather suggest a ranking roughly like this to fairly reflect the risk the user is exposed to:
A. Everything free. B. Non-essential component (e.g. GPS sensor) requiring proprietary firmware. C. Network component (e.g. WiFi) requiring proprietary firmware if it can be bypassed (e.g. USB, expansion card). D. Input/output-sniffing component (pointing device, keyboard, display, audio) requiring proprietary firmware if it can be bypassed, or CPU requiring microcode if it can be bypassed (e.g. just using factory ROM code). E. CPU or equivalently privileged processor requiring non-resident proprietary boot firmware. F. Network component requiring proprietary firmware that cannot be bypassed (e.g. no USB ports). G. Input/output-sniffing component requiring proprietary firmware that cannot be bypassed, or CPU requiring microcode that cannot be bypassed. H. CPU or equivalently privileged processor requiring resident proprietary firmware (e.g. Intel ME, Qualcomm TrustZone).
I like this a lot.
A few points:
The name should communicate "end-user ownership".
Well-established software terminology (like "open", "free" and "libre") is too niche to be helpful in a store.
Higher score meaning lower "end-user ownership" seems counter-intuitive.
It's important to keep classification simple.
The EU has an energy consumption label. They started with {A,B,C,D} in 1992 and had to introduce A{+,++,+++} later, as technology improved.
https://en.wikipedia.org/wiki/European_Union_energy_label
We should re-use those classes, and learn from that project.
I think the malus-contributing components in a system could be broken down into a small number, and could also be displayed using pictograms. (Here, even a distinction between Wi-Fi and Ethernet is problematic.)
Finally, please consider how successful a classification will be if every single product on the market except one gets a failing grade.
//Peter