-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
All,
I've been working on a new way to classify boards supported by coreboot based on their freedom level. I uploaded the classification criteria to the Wiki here
https://www.coreboot.org/Board_freedom_levels
and some initial values for common boards here
https://review.coreboot.org/#/c/18168
Comments and suggestions are welcome!
- -- Timothy Pearson Raptor Engineering +1 (415) 727-8645 (direct line) +1 (512) 690-0200 (switchboard) https://www.raptorengineering.com
Sounds like a good idea in general, but I think the categories might need some more tweaking. I guess we all have different favorites that we care about here (e.g. I'm partial to most ARM platforms), we should have a balanced discussion about what should be weighted more than what and why to make sure the categories end up fair to all platforms.
For example, it seems like you're trying to slot RK3288 as "bronze", which I'd say is argueably the most free platform coreboot supports right now. I assume your rating comes from the external board components requiring proprietary firmware in this case. So a few points to start discussion:
- Is it fair to make external board components weigh more heavily than processor internals? I think at least external board components that are not essential (e.g. anything but keyboard, pointing device, display, network, maybe audio) or can be replaced with other components (e.g. USB can replace almost everything) should have the least impact on freedom level. In particular, it's not really fair to punish a board for including an optional non-free component that other boards don't have at all (like a laptop with a WiFi chip which essentially always require proprietary firmware vs. a desktop board that has nothing but empty PCIe slots).
- Anything required on the processor (e.g. microcode) should always weigh more heavily than external components. Disabling an external component (even something like keyboard/display) still leaves the system somewhat functional, whereas you can never disable the processor. Since microcode can essentially do anything I think it should always give a harsh rating unless it's feasible to run the board with the ROM-internal version.
- Why are you making an exception for the EC, of all things? The EC is usually the keyboard controller which is one of the most highly sensitive things there are. I think a proprietary keyboard controller should definitely be counted worse than a proprietary WiFi chip, for example (because they WiFi chip cannot sniff into your HTTPS stream, but the keyboard controller can totally read the password you typed).
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).
2017-01-18 23:39 GMT+01:00 Timothy Pearson tpearson@raptorengineering.com:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
All,
I've been working on a new way to classify boards supported by coreboot based on their freedom level.
Very good idea.
I uploaded the classification criteria to the Wiki here
There are a few things that I don't like about your categories, specially the "scary red Pwned": Don't you think that people reading the coreboot web page, will think that the "Pwned" are worse than buying any random board not supported by coreboot, with the same freedom issues? I would use not colored not named for the last category. Gold, Silver and Bronze sound good to me, you could always add Platinum and Iridium if more free boards appear and + or - for every category that needs subcategories.
I also agree with Julius about the ARM platforms that have not supported GPU or WIFI. For many use cases GPU is not needed, and WIFI can be replaced by PCIe or USB one.
Andrés