I currently work at an embedded boards company as (technical) marketing, and using a lot of the boards outside of work too. I&#x27;m asking the same things myself too for a long time, and so far I figured about these comments to try to answer (at least in part).<p>Getting software right is bloody hard work! Especially with ARM where you need to redo a lot of things for every new piece of hardware.<p>Most companies (and most PMs&#x2F;engineers) I think perceive boards as the end-products themselves, and any software development after the initial release (and maybe some bug fixes) is more of a burden than value add. This attitude needs to change, because it results in very-very few boards actually being used to their full potential. What good is a great hardware if nobody can make it work? Maybe this will change, but need good thought leaders inside companies to make that happen.<p>I see that upstreaming is often not considered, or couldn&#x27;t be done. The quality of code is just awful, because that&#x27;s not a design goal. Being part of an ecosystem, helping your future self doing a better job (not needing to start from scratch every time if things are upstreamed) is not part of the thinking for many. These things are (or thought to be) outside of the PMs responsibilities.<p>Resource constraints come in a lot, many companies try to support way too many products, and end up with a level of &quot;barely&quot; making it work, which is good enough for many traditional customers. Doing a good job needs a lot more resources. I remember reading that RPi spent about $5million worth of development on just the Linux support. Can&#x27;t imagine lot of other companies putting that much into any single product.<p>And there&#x27;s a lot of the traditional &quot;trade secret&quot; thinking. Lot of places are more afraid of losing sales doe to being copied than not selling boards because of lack of interest. The main goal is never really &quot;enabling the customer&#x2F;user&quot; or giving options, but the first thing is protecting the IP because of the thinking stuck with the ways things use to work.<p>Also, the &quot;software ecosystem&quot; is highly fragmented, all projects rely a lot on volunteers, and require a lot of specialized knowledge. I don&#x27;t know if it&#x27;s even possible to bring people together, but whoever would achieve that would do a big service to both sides...<p>These are just some thoughts, I&#x27;m sure not the whole picture (and definitely, definitely do not reflect the opinion of my employer:)