I'm using ChibiOS for an educational project, with the intent to release both hardware and software under free licenses - GPLv3 and some (yet undecided) open hardware license. I don't intend to distribute physical hardware in any way, but all you need to build your own device will be freely available.
However, one of the sensors I'm using (Bosch BME680) comes with a proprietary library which is all but required to interpret the reading I'm interested in. I'm wondering if I can still use ChibiOS under the GPL in this case.
- Would distributing my sources violate the GPL?
- Would distributing binaries (alongside the source, but statically linked with the proprietary library) violate the GPL? Assuming, of course, that's ok from the proprietary license side.
- Does this qualify as a system library? The GPL defines it as something that is included in the normal form of packaging a Major Component, but which is not part of that Major Component, where a Major Component is a major essential component [...] of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. Since the library isn't normally included with ChibiOS, and it's neither a compiler nor an interpreter, I don't think so. But then again, there's lots of GPL software for Windows that requires e.g. the VC runtime or the .NET framework to be installed, newer versions of which obviously aren't included in older Windows releases. The whole concept also doesn't really fit the embedded case IMHO.
Most of the code isn't written yet, so I wonder if I have to limit myself to the basic feature set allowed by the GPLv3+Exception license, or switch to a different RTOS altogether (in any case, I'm keeping the ChibiOS HAL, since that's the only one I've actually been able to get I2C to work with on my STM32F103... ). Or is the licensing topic irrelevant if I don't distribute binaries, and only the user actually links the proprietary library? I'm aware that the resulting binary is non-free, and whether or not anyone could distribute pre-built devices with that binary would hinge on question 2 from above. That's a rather hypothetical issue, since the device is quite specific to my use case, so I doubt anyone would want to do that.
I don't think the Free Commercial license is really applicable in this case, since I'm only distributing source and no physical hardware, and can thus not enforce the 500 unit limit.