GPL and proprietary 3rd party library

Open forum about everything concerning the ChibiOS commercial options. This forum is NOT for support.
leromarinvit
Posts: 3
Joined: Wed Nov 06, 2019 9:16 am

GPL and proprietary 3rd party library

Postby leromarinvit » Wed Nov 06, 2019 10:43 am

Hi,

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.

  1. Would distributing my sources violate the GPL?
  2. 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.
  3. 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.

Regards,
Oliver

User avatar
Giovanni
Site Admin
Posts: 14444
Joined: Wed May 27, 2009 8:48 am
Location: Salerno, Italy
Has thanked: 1074 times
Been thanked: 921 times
Contact:

Re: GPL and proprietary 3rd party library

Postby Giovanni » Wed Nov 06, 2019 11:06 am

Hi,

The library would form a single image with ChibiOS so it needs to be licensed in a way compatible with GPL. I don't think the system library thing would work.

ChibiOS is GPL in order to protect sales to big customers so I don't really care about small users, consider it OK on our side, however, it could be a problem with the library copyright owner.

You may consider one of our free commercial licenses, it removes GPL and is free of charge, the only obligation is that you need to advertise that your product uses ChibiOS and renew the license after 500 units delivered (you can renew indefinitely). Another RTOS is also an option but we cannot guarantee compatibility with our HAL.

How is licensed this library anyway?

Giovanni

leromarinvit
Posts: 3
Joined: Wed Nov 06, 2019 9:16 am

Re: GPL and proprietary 3rd party library

Postby leromarinvit » Wed Nov 06, 2019 11:47 am

Thanks for the quick reply!

The library in question is BSEC, its license is here. It doesn't seem to explicitly allow distributing binary copies without hardware containing the sensor, but IANAL so maybe that's implied if the binary is intended to be used with such hardware. Forbidding distribution of software updates without new hardware doesn't make much sense to me. And it has a military use restriction, which is obviously not GPL-compatible (but not relevant for the device in question).

How would the free commercial license work if I publish the source code under the GPL? Can I just add a note saying that in order to distribute binaries linked with this library, one needs a commercial ChibiOS license?

User avatar
Giovanni
Site Admin
Posts: 14444
Joined: Wed May 27, 2009 8:48 am
Location: Salerno, Italy
Has thanked: 1074 times
Been thanked: 921 times
Contact:

Re: GPL and proprietary 3rd party library

Postby Giovanni » Wed Nov 06, 2019 11:53 am

Hi,

If your code is GPL then it is not compatible with that library regardless ChibiOS. GPL is also not compatible with commercial ChibiOS.

You cannot mix GPL with proprietary code, you can mix GPL with other compatible FOSS licenses (there is a list on the FSF web site).

Giovanni

leromarinvit
Posts: 3
Joined: Wed Nov 06, 2019 9:16 am

Re: GPL and proprietary 3rd party library

Postby leromarinvit » Wed Nov 06, 2019 12:25 pm

GPL for my own code isn't a hard requirement, it was just an obvious choice because of ChibiOS. But AFAIU, the GPL only limits distribution and not use, so I think it should be ok to release my code under the GPL - the code itself doesn't include anything proprietary, only the resulting binary. This could still be used by whoever produced it, but would not be distributable without a commercial ChibiOS license, and some provisions in the license for my own code - e.g. dual-licensing or a linking exception. So yeah, plain GPL doesn't seem like a good choice for my code, but I think it can only be a problem for people distributing binaries. I'll keep that in mind when choosing a license, since I obviously don't want to make using it harder than necessary.

But IANAL and that's just my understanding.

User avatar
Giovanni
Site Admin
Posts: 14444
Joined: Wed May 27, 2009 8:48 am
Location: Salerno, Italy
Has thanked: 1074 times
Been thanked: 921 times
Contact:

Re: GPL and proprietary 3rd party library

Postby Giovanni » Wed Nov 06, 2019 1:15 pm

You could consider Apache 2.0 for your code then include the commercial versions.

Giovanni


Return to “Open Discussion about the Commercial Options”

Who is online

Users browsing this forum: Google [Bot] and 5 guests