At the moment I feel like closed source firmwares are one of the biggest issues for open source operating systems (especially with regard to mobile operating systems).
At the moment I feel like closed source firmwares are one of the biggest issues for open source operating systems (especially with regard to mobile operating systems).
Consider: * direct IP & IP on sub-systems, * possibility to reverse firmware-added tweaks (used to make/justify market segmentation).
From the commons point of view, we'd all benefit from open source firmwares. From each and every one manufacturer POV, the associated risk and cost look way bigger than the hypothetical business benefit.
Theoretically, it is possible to untangle a big ball of string. Theoretically, it is not possible to untangle a big ball of mud.
The hardware across a family with different prices and features is identical. Features are then enabled/disabled by firmware alone.
This is frequently done to save on silicon manufacturing costs, but still allows marketing/sales to negotiate on features.
I mean if the firmware would be released with its source everybody could buy the cheap version and load the full-featured firmware version to their hardware. Even if the manufacturer would place some kind of memory on the hardware which holds the feature-level, someone could patch the firmware to ignore that value.
I think that order to be a primary motivating behavior, it would have to also be the case that none of the licensing/tooling issues apply. This suggests that logically it may be less likely as a primary cause due to the dependency.
In addition, all silicon have bugs that you don't always want your competitors to know about by seeing the workarounds in SW. They will use that against you when trying to replace your chip in a product.
- Customer support and liability
With limited customer support resources, you don't want to debug your product for a customer without knowing exactly what code is running. This applies both for the end product and the silicon vendor. As an example - what happens if a modified driver bricks the product?
Competitors will have the resources to reverse engineer; it's not an effective means of hiding implementation details. It _is_ an effective means of wasting free software and security communities' time by forcing them to reverse engineer if they want to use hardware.