New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Source code? #79
Comments
No, that would be ridiculous. All the headers and example code in /opt/vc/src is under a BSD license. You're right that the license for the binary only files is roughly similar to BSD (but with references to source removed). This is chosen because it's short, easy to understand, and matches the legal requirements for distributing the binaries. Similar licenses are used for e.g. Intel wifi firmware. |
So this means the actual libs, firmware etc are closed source? Are there any plans to open source them, or is the Raspberry Pi basically a closed non-free device like any modern smartphone using a broadcom SoC? |
As it stands, yes, they are closed source. It would be correct to say that currently the GPU firmware and userspace libraries are no more open than that of other vendors. |
Wait, you say the GPU firmware and userspace libraries - does that mean there is no blob in the kernel? I have read that the GPU firmware loads the kernel - is this correct? After that, how is the GPU used? Through communication with that said firmware? What do the userspace libraries do? What I'm interested in is: Is a kernel with only open source modules able to run on the Raspberry Pi and if so, can it take advantage of the GPU? If not, which parts would need reverse engineering? I'm really missing specs on the Raspberry Pi - did I just not find them or aren't there any? Is the Linux port considered the "architecture specification" for the Raspberry Pi? Currently it looks like Linux is the only supported OS. |
There are no closed source kernel modules. The vchiq module is GPL licensed, and provides a message passing interface used by the userspace libraries (and the in-kernel ALSA implementation actually). Just don't install the /opt/vc/lib libraries and you'll have a fully working system with no closed source kernel or userspace code. You just won't be able to use GLES, OpenMAX etc. |
Ok, that's interesting. Is there some documentation available? So, basically, in /opt/vc/lib are libraries that pass messages to the firmware? Or where do they pass them? The GPU directly? Doesn't that mean that rewriting these means the OS does not need to have any closed-source components and that then only the firmware would be closed? Writing a library to pass messages doesn't sound too hard. And this would allow porting other operating systems like Haiku, which might be a much better fit as a desktop OS for the slow Raspberry Pi. |
Closing. I think a discussion like this is better handled on the forums. |
I'm quite confused: I can't find any sourcecode anywhere, but the license notice of all Broadcom stuff reads pretty similar to a BSD license. Did Broadcom release sources under a BSD-style license, which the Raspberry Pi foundation then took and adjusted for the Raspberry Pi, but did not release the changes?
The text was updated successfully, but these errors were encountered: