I see how it's frustrating to you that people get GPL source and declare "victory" and give up, leaving BSD in the dust. I'm definitely someone who does this, and you made me think about how much nicer it would be if people continued to advocate for documentation instead.
What I want from my "open" hardware is the ability to access the full source code for what is being executed on my device, to ensure there are not unexpected background tasks and to be able to debug issues end to end without having to do as much reverse engineering. So for me, the giant supervisor blob on the Pi is obnoxious - it does random things I don't know about, and I can't look into it to see what's going on.
What you want from "open" hardware is the ability to write driver code under a very specific software license (BSD).
So for my needs, I'll take GPL drivers against hardware all day versus documentation against a black-box HAL. For your needs, maybe the black-box HAL is OK since it lets you run BSD.
Also, "the drivers work as intended" could just as easily be moved to "the blackbox HAL works as intended" and you have the same problem in your "Broadcom is fine because the HAL interface is documented" scenario. If you make a HAL call and it doesn't do what you expect, you're back to RE again anyway.
Anyway, I think we can all agree that full documentation is the ideal state, but sans that ideal state, I'll take GPL source over documentation and a HAL blob, and you'll take the HAL blob and documentation over GPL source. I think everyone wins if we all keep pushing for the ideal state of unencumbered documentation where we can, instead of sitting back when we have one thing or the other!
>If it weren't for the GPL you would just get a binary blob for a proprietary Linux fork and then you would have to reverse engineer the undocumented features from raw machine code.
Just because they could be doing significantly worse does not mean that they're actually good. Yes, they could do this. It would not be an open hardware platform. They could also upstream software support in such a way that it is a pain in the ass to figure out how the hardware works, which I also contend is not open hardware platform.
And, anyways, it's a rather bold assumption of yours to assume that the drivers actually work as intended lol. I'm sure many in the Linux kernel community would deeply appreciate being able to just write the damn drivers themselves instead of being left with broken and incomplete drivers with little recourse outside of reverse engineering the hardware or begging random vendors to fix it. This is not indicative of open hardware, this is literally just the same problem except now you've blessed the platform as open.