[coreboot] How to properly conform with GPLv2 for Coreboot and SeaBIOS on an embedded system

Lewis, Ian (Microstar Laboratories) ilewis at mstarlabs.com
Fri Dec 29 04:51:26 CET 2017


Hello Peter,

Peter Stuge wrote:
>If you can handle the cost then you could design a (read-only, e.g.
USB- attached flash memory appearing as a CD-ROM) medium *into* your
hardware, which stores the source code corresponding to the object code
which is in boot flash. I find that ideal.

What you suggest is very much what I was thinking when I originally
considered a microSD to house the source. My thought was to attach the
microSD permanently to our system in such a way that our OS could read
it (not the host PC OS). Then, from our Windows Control Panel
application for our device, on an About tab, say, a user could click a
button and get the source for the actual image used to boot the system,
which of course would include the license and all other content needed
to satisfy GPL. This would completely protect the microSD from write
because we would not allow any means to write to it (though, we would
probably allow removal for advanced users who really wanted to get
directly to the drive - and GPLv3 might even require us to allow this).

This is definitely doable, but, after some review of what we would need
to do to make this work, it is more engineering work that I would really
like to put into this, at least for a first-cut product. Still, this may
be the only way we can move forward. Even with this, I am a bit
concerned about whether this really meets the requirements of the
license, but it seems very close. My main concern is about whether this
kind of setup really meet the "conspicuous" requirement on presenting
the license. You seem to think it would, which is encouraging. But, I
remain a bit worried about the issue.

Your specific suggestion of a USB connected Flash drive setup is also
possible, and probably a bit less work for us - we would just need a
built-in USB to USB hub or PCIe to USB host controller to allow for our
device and the Flash drive to coexist on the same cable, but most flash
USB drives are too physically big to work for us (resolvable, but
probably not without adding more engineering effort - the USB connector
alone is almost too big, and that means we might need to go to a
board-mount drive - one more complication). And, there is a bit of a
mess here under Windows because the Flash drive, if not controlled by
our software, would just show up in Windows as a drive every time
someone plugged in our device. This is fine from the point of view of
meeting GPL requirements. 

But, at the least, this could be a real nuisance for users. And, it
seems like it could also be quite confusing (I plugged in a measurement
device and now I have a new drive. Where did that come from?). 

In any case, thank you for all of your suggestions and taking the time
to reply to my query in detail. I need to spend some time on the
technical issues of this kind of solution, and talk with some people
here to see whether we can make sense of this kind of arrangement from
the point of view of our customers. If that works, then I get to see
whether I can convince legal that, what we intend to do technically,
actually works to meet our interpretation of our legal obligations under
the license.

Ian





More information about the coreboot mailing list