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...
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?
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.