Is it appropriate to only release the GPL-licensed part of the code as open source

gpllicensing

Is it appropriate to release incomplete open-source firmware, or in other words, to release only GPL software but not proprietary software source code?

How are non-open-source programs, in compiled firmware for a router/embedded device, allowed with the open-source, Linux-based operating system and other GPL software?

For example:

If a company releases compiled firmware and source code for a router but only releases the source code for GPL software within the firmware, is it okay, according to the GPL, that the firmware source code would be uncompilable because it is incomplete and is missing the proprietary part of the software?

Best Answer

You should contact the FSF and the copyright holders to know if you're in the clear.

For Linux non-open-source firmware code is usually shipped along the source as binary blobs - but I don't think you can link with a blob, you can only load it as if it were data. I'm not really sure of this so I can be wrong.

If I recally correctly the original NeXT Objective C compiler (derived from gcc) tried to ship only the modified gcc code and compiled object code for the ObjC parts but the FSF took that as a license violation and later NeXT released the code.

Once again, contact the FSF and the copyright holders.

Related Topic