The firmware for an embedded device (e.g., a toaster) is modified significantly. Algorithms are rewritten from scratch, the code is made compatible with different hardware, etc. The end (hardware) product is sold, but the binary of the firmware is not provided separately, and there is no way to extract it from the device.
What parts of the code and device (if any) should be made publicly available?
- Only the original, unchanged code?
- The original code while marking the changed places to relieve the liability from the original distributor?
- The entire changed codebase? The electrical schematics for the device?
- The CAD drawings for the enclosure?
I am interested in minimizing the source code's exposure as much as possible.