Some time ago when I did not care about freedom, I was using AMD CPUs. When I
switched to Trisquel I realized that AMD does not want users to have freedom.
AMD could easly solve the problem by burning the firmware into a ROM or
hardwiring the command processor. I think releasing the source code would not
help here in this specific case, as there is no free compiler that handles
hardware description languages and works with real hardware.
I also learned how to reverse engineer the nonfree firmware that drives the
Yamaha FB-01. In this case the nonfree program was burned into a ROM, so that
old device is not a problematic one. The CPU is a well known one, and free
disassembly tools are avialable. I also know how to design a CPU, which can
be implemented on an FPGA. I know that there is a reverse engineering project
that tries to replace the nonfree tools required to program an FPGA.
Recently I baught a refurbished OpenPandora. First I deleted all nonfree
firmwares, and installed the free firmware for the TPE-N150USB. Now I can use
the wireless network without giving up my freedom. I think the hardest part
here is GPU, as there are no free drivers and no free fireware for the GPU.
There is a reverse engineering project at[1], but this seems to be dead. But
I can play some games such as Wesnoth and Tetris without using nonfree
software. Unlike the Raspberry Pi no nonfree startup software is required,
instead a boot-ROM is used instead. I think using a ROM for the boot firmware
is the best solution as it prevents the user from accidently bricking the
computer.
Currently I do not have time to reverse engineer the GPU as I'm working on a
free software replacement for the mbrola speech synthesizer. I can do so
without reverse engineering, as the algorithms used by mbrola are well
documented. Reverse engineering would be needed if you want to use mbrola
voices with a free program. However the licence of the mbrola project does
not allow to use of the voices with a different program than mbrola itself.
[1]
https://www.fsf.org/blogs/community/new-high-priority-project-powervr-drivers