Well, for years the Free Software Foundation was only caring about software. They said it was ok to run free software on a computer you don’t have the schematics for. It doesn’t matter, as long as you get some documentation on how to program it. As a software engineer, you wouldn’t want to fix it anyway.
The existence of UNIX means you rarely needed to look below that level of abstraction. If your OS is a well-behaving UNIX, then you can stick to the POSIX API and you don’t need to care about what is happening at the lower levels.
Now, hardware is getting more intelligent. From the simple BIOS that ran computers in the 90s, we have now moved to firmwares, that run on the devices around your computer. There is one in your WiFi card, there is one in your video card, there likely is one on any USB device you plug to your computer. And this is still not a problem for the FSF. Now, the Pi video card firmware is made so its API is OpenGL. That’s a rather good idea : they know you are going to use the device for OpenGL stuff anyway. They don’t have to write much documentation since the API is already well defined. And as a driver writer, we have very little work to do to plug an OpenGL talking app to an OpenGL listening hardware.
All the code that run on the ARM CPU is open sourced. The closed part only runs on the GPU side. the FSF says this should also be open source, only because it is loaded from the SD card. For them, this makes it “software” instead of “firmware”.
the GPU side of the chip will likely stay hidden from the users. It’s Broadcom secret and they don’t want to share it. They are still working on the firmware and will fix OpenGL bugs if you report them. The architecture is likely something very specific, and programmed in hand optimized assembler. I’m not sure even with the source available, anyone outside Broadcom could make anything very useful with it. You’d also need the hardware design files, and the toolchain they used, and…
Seriously, Broadcom was very kind to allow releasing ALL the code on the ARM side of the chip. There are many other manufacturers that don’t do so. Why not go and ask them to follow Broadcom example, before asking Broadcom to do even more ?