How to compile RIOT for third-party boards?

Hi Mark,

the license incompatibilty issues with STs standard peripheral library are based on some uncommon license headers they are using in the lib. As RIOT is licensed under LGPLv2, we try to make sure, that all code included in the github repository is also LGPLv2 or at least compatible to it.

The CMSIS files provided by ARM are using a license, that in our opinion is compatible with RIOT, so we have no worry to include these files. ST uses for most of their stuff a license that can be found in [1]. I am not too much an expert when it comes to these questions, but to our understanding it should be fine to ship files with this license with RIOT. When using the ST lib, there are however some files included, that use a quite different license. An example would be the following:

** (c)Copyright Atollic AB. ** You may use this file as-is or modify it according to the needs of your ** project. Distribution of this file (unmodified or modified) is not ** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the ** rights to distribute the assembled, compiled & linked contents of this ** file as part of an application binary file, provided that it is built ** using the Atollic TrueSTUDIO(R) toolchain.

We do not feel comfortable to include this kind of licensed files into RIOT, that is the main reason for the third-party repository...

Cheers, Hauke


Attached Message Part (143 Bytes)

Hello Hauke,

Thank you for your clarification. BTW, is LGPLv3 allowed to be added to the main repo?

@Martine: Thanks to you too. :slight_smile:


Hi Mark,

BTW, is LGPLv3 allowed to be added to the main repo?

as far as I understand it, there are some compatibility issues with LGPLv2 and LGPLv3, but I'm not a license specialist. Do you have anything particular in mind?

Cheers, Oleg

consider paragraph three:

PS: RIOT is LGPLv2.1

Best Christian


consider paragraph three:

But is this true for LGPL, too?

Cheers, Oleg

I assume that.

To be more restrictive in RIOTs import strategy is never false!

Just to speak for myself: I'm going to ACK only code which is LGPLv2 or more open...(MIT, BSD)


Hello Oleg,

Sorry for entering in pretty lately. No, I didn't have anything in particular. Just wanted to know about the RIOT-OS community's standpoint.

From the thread, I presume no LGPLv3 should be mixed with the existing LGPLv2.

Thanks, Mark

Hi Mark!

From the thread, I presume no LGPLv3 should be mixed with the existing LGPLv2.

Actually, we discussed this topic in the developer meeting (minutes from the meeting will follow on the devel mailing list) and we will re-consider this issue. But for now, it is indeed intended not to mix any LGPLv3 code with IOT.

Cheers, Oleg

I'll have an eye on the devel list. Thanks :slight_smile: