As in, they are trying to reverse engineer the blob bits to make everything completely free?
Is it a legal problem rather than a technical one kind of thing?
As in, they are trying to reverse engineer the blob bits to make everything completely free?
Is it a legal problem rather than a technical one kind of thing?
The Broadcom Blob
"In common with every other ARM-based SoC, using the VideoCore IV 3d graphics core on the Pi requires a block of closed-source binary driver code (a “blob”) which talks to the hardware. In our case, this blob runs on the VPU vector processor of the BCM2835 (the SOC or System On a Chip at the heart of the Raspberry Pi); our existing open-source graphics drivers are a thin shim running on the ARM11, which talks to that blob via a communication driver in the Linux kernel. The lack of true open-source graphics drivers and documentation is widely acknowledged to be a significant problem for Linux on ARM, as it prevents users from fixing driver bugs, adding features and generally understanding what their hardware is doing.
Earlier today, Broadcom announced the release of full documentation for the VideoCore IV graphics core, and a complete source release of the graphics stack under a 3-clause BSD license."
So basically if you want to convince these companies to open source some of their components "what do you have to lose?" is not good enough, you have to give them an actual incentive. I suspect that outside of places like HN very few people really care about Broadcom's binary blob in the rpi.
The problem with this is there are unknowns. Maybe nothing, but if there is something none of us have even thought of that can be a big loss. It is really hard to get past this fear.
If they don't gain/loose anything but we gain something, I see a net positive for society.
Then I'm happy I'm not such a lawyer.
what if there's some IP they licensed from another vendor in there somewhere and it's so entangled (or foundational - eg graphics IP, etc) that they can't release it at all?
what if there's some IP that they don't realize is licensed from another vendor and they get in trouble?
what if there isn't, but someone else says there is, function X is too close to our implementation, and it starts a big legal battle? Or what if you run into some patent troll who makes a business out of digging through code to find anything they can sue over?
what if there's some copyleft code some dumbshit engineer copy/pasted and it ends up leveraging the whole codebase open?
etc etc
This is a classic situation of "Broadcom gains nothing in the next quarter or even the next 5 years from releasing the source, only potential (if unlikely) downsides, and the only people who will be outraged are a handful of nerds who are ultimately irrelevant to Broadcom's (not RPi Foundation's) business".
It is a testament to the success of copyleft that people have now embraced that as the default and view proprietary stuff with outright suspicion just as a default, but a proprietary strategy is both legitimate operationally (nobody opens everything) and as a risk-mitigation strategy.
Does this mean the Raspberry Pi might get suspend to ram support? That would make building a PDA out of eg the Raspberry Pi zero which gets decent battery life feasible.
Unless you meant to make your PDA out of a <4 RPi.
They did say Raspberry Pi zero. And the pi 3 would IMO be perfectly fine for that use case.
FWIW, the Allwinner F1C100s is ~$2, 533MHz, has 32MB RAM onboard, and can run mainline recent Linux. It's also this easy* to plonk onto a PCB: https://www.thirtythreeforty.net/posts/2019/12/my-business-c...
(* Yes, "easy" is relative. You'll need a few interesting tools and it'll be a tad deer-in-headlights. But you don't need a rocket science degree to even fathom the idea.)
I can see why they would want that to be their own - make the pi 100% open - but sounds like a mammoth task! (especially if its only 1 guy doing it?)
I think "need" implies too much. Because, for example, for 100% headless applications the open+free version is already viable. (But in practice everyone wants to debug using the HDMI from time to time, mostly because almost noone has NTSC lying around.)
Also, without looking at the docs of the VPU, I'd guess that most of the blob functionality is needed for advanced vector stuff and whatnot (so it's only needed if you want to implement OpenGL/EGL/WebGL).
Are there images without it?
EDIT: Actually, reading more carefully it looks like there might be more than one blob and it's not 100% clear to me which this replaces, so now I'm less sure that you can boot without any proprietary blobs. I'm not sure that you can't, but I can't tell.
https://en.wikipedia.org/wiki/ThreadX
https://ownyourbits.com/2019/02/02/whats-wrong-with-the-rasp...
Note that the above is specific for the Pi 3 - the Pi 4, for instance, doesn't have the issue of a ridiculously undersized power connector (2.5W minimum standard for up to 13 W demand !!)
Here's an interesting blogpost that kinda explains the multiple boot stages: https://www.furkantokac.com/rpi3-fast-boot-less-than-2-secon...