Hi,
I wanted to add support for the TotalPhase Cheetah to flashrom, but I have to use the proprietary driver library for that. I'm not aware of any free alternative to that driver, so there may be a conflict with the GPL.
If the Cheetah driver library is considered to be a system library, the GPL allows linking against that library.
If the Cheetah driver library is not considered to be a system library, I need to add an exception for that library to my Cheetah external flasher driver. However, since my driver would be part of flashrom, I have no idea if I would have to get permission from all flashrom authors for that exception. The GPL FAQ of the FSF mentions that simply adding a free software wrapper above the proprietary library is not sufficient, but having process separation (calling another program via the command line) would be OK. Since external flasher drivers have to maintain state, this essentially means I'd have to add shared memory or socket trickery, resulting in slow, buggy and unreadable code.
One of the possible solutions would be to say that driver libraries for external hardware which are already installed before installing flashrom are considered to be system libraries.
(The problem is that the Cheetah driver library has internally conflicting licenses, some of which suggest linking GPL code against it is not allowed. I (or maybe someone with more leverage) will try to address this with TotalPhase.)
Regards, Carl-Daniel