First off Justin, thank you! This is very much appreciated.
Replies are inline. One general comment: I think we should have
MAINTAINERS and a MAINTAINER file. MAINTAINERS should be in larva/ and
MAINTAINER should be in each individual egg. That way if people have a
problem, they know who to contact with questions. Thoughts?
On 2/4/16 6:50 PM, Justin Mclean wrote:
Hi,
I just looked though all of the files in the larva repo to see how everything
is licensed. I look at the other repos some time next week unless someone beats
me to it.
If you’re not interested in licensing you can skip this as it’s long but there
are a few minor issues that will need to be resolved at some point before
graduation.
Summary:
- Most of what is bundled permissive BSD, MIT or public domain compatible with
the Apache license. All good but makes for a long LICENSE file.
When we do release packaging, the way I was thinking about it (and
apologies, I was going to send a longer mail but you beat me to it) was:
- we branch the git repo at a specific version (larva & newt) --
rel_v0_0_8-b1 for example.
- newt's built in package manager knows to fetch packages from that git
branch (we make the changes to newt once we branch.)
- We build newt for all supported platforms (Linux, Mac OS X, Windows)
-- and we distribute that, along with necessary LICENSE files on our
website.
- Newt can create nests (the default nest is the contents of tadpole,
which is autogenerated from larva.)
- Newt can download eggs into that nest (newt egg install net/nimble, to
install the BLE stack, for example.)
- Those eggs then come with individual LICENSE files, which have their
license info.
Does this sound good?
- Need to double check how mbed ARM files we use are licensed. Looks to be
Apache.
They are Apache -- can you point me to the specific files you're
referencing so I can double check?
- Probably remove this file .git/hooks/pre-rebase.sample (license in unknown)
K
- Remove or replace boot-stm32f3discovery.ld and stm32f3discovery.ld (license
contains restrictions). Is this possible?
Yes
- Double check FatFS is permissive (It looks likely to me)
We haven't bundled this, this is just in elua's license file. Anyhow,
here is the FatFs license, it is liberal:
------------------------------/
/ FatFs - FAT file system module R0.11a (C)ChaN, 2015
/
/-----------------------------------------------------------------------------/
/ FatFs module is a free software that opened under license policy of
/ following conditions.
/
/ Copyright (C) 2015, ChaN, all right reserved.
/
/ 1. Redistributions of source code must retain the above copyright notice,
/ this condition and the following disclaimer.
/
/ This software is provided by the copyright holder and contributors "AS IS"
/ and any warranties related to this software are DISCLAIMED.
/ The copyright owner or contributors be NOT LIABLE for any damages caused
/ by use of this software.
/----------------------------------------------------------------------------*/
- Work how to deal with MCD-ST Liberty SW License
We could make a release without this issue being resolved if we bring attention
to them and note so in the release note, so it doesn’t have to hold up the
release plans.
The MCD-ST Liberty SW License is probably the biggest issue while it's BSD-like
but includes this clause:
4. This software, including modifications and/or derivative works of this
software, must execute solely and exclusively on microcontroller or
microprocessor devices manufactured by or for STMicroelectronics.
We will probably have to raise a legal JIRA for this but lets discuss first. I
assume the plan is for the code to run on there boards?
See below.
Also a minor thing should the NOTICE file mention Stack Inc, Runtime Inc or
both?
Runtime Inc.
In the repo is the following:
BSD licensed microjson
./libs/json/src/json_decode.c
Also BSD - Nordic Semiconductor
./hw/mcu/nordic/nrf5*
And BSD - The Regents of the University of California.
./libs/os/src/os_mbuf.c
./libs/os/include/os/queue.h
BSD - Kungliga Tekniska Högskolan
./libs/util/src/base64.c
BSD - KEIL (ARM Germany GmbH)
./libs/os/src/arch/cortex_m0/m0/HAL_CM0.s
./libs/os/src/arch/cortex_m0/m0/SVC_Table.s
./libs/os/src/arch/cortex_m4/m4/HAL_CM4.s
./libs/os/src/arch/cortex_m4/m4/SVC_Table.s
BSD-style (looks like Tcl/Tk license?)
CodeSourcery
./hw/bsp/nrf51dk/boot-nrf51dk.ld
./hw/bsp/nrf51dk/nrf51dk.ld
./hw/bsp/nrf51dk/nrf51dk_no_boot.ld
./hw/bsp/nrf52pdk/nrf52pdk.ld
Unknown from header but likely open source (see
https://developer.mbed.org/blog/entry/mbed-SDK-is-now-Open-Source/)
mbed ARM:
./hw/bsp/nrf51dk/include/bsp/cmsis_nvic.h
./hw/bsp/nrf52pdk/include/bsp/cmsis_nvic.h
./hw/bsp/olimex_stm32-e407_devboard/include/bsp/cmsis_nvic.h
./hw/bsp/stm32f3discovery/include/bsp/cmsis_nvic.h
./libs/cmsis-core/src/cmsis_nvic.c
BSD ARM Limited
./hw/bsp/olimex_stm32-e407_devboard/src/arch/cortex_m4/startup_STM32F40x.s
BSD Georges Meni
./fs/nffs/src/crc16.c
./fs/nffs/src/crc16.h
Unknown but I assume can be removed?
# Copyright (c) 2006, 2008 Junio C Hamano
./.git/hooks/pre-rebase.sample
Yes
MIT Lua
./libs/elua/elua_base/src/lua.h
ISSUE! - Copyright Atollic AB
./hw/bsp/stm32f3discovery/boot-stm32f3discovery.ld
./hw/bsp/stm32f3discovery/stm32f3discovery.ld
As the header contains:
“This file may only be built (assembled or compiled and linked)
** using the Atollic TrueSTUDIO(R) product. The use of this file together
** with other tools than Atollic TrueSTUDIO(R) is not permitted.”
These need to go. We'll replace them.
BSD cmsis core ARM LIMITED
./libs/cmsis-core/include/cmsis-core/*
BSD Baselibc Kustaa Nyholm / SpareTimeLabs
see ./libs/baselibc/LICENSE includes BSD licensed Tinyprintf and BSD files from
Regents of The University of California, rest of the files are MIT
Dual licensed BSD / GPL Tinyprintf
./libs/baselibc/src/tinyprintf.c
MIT Lua
Also includes XMODEM (BSD), lpack (public domain), bit (MIT), integer only lua
(PD), dlmalloc (PD), uIP (BSD), FatFs(?), Lua-RPC(?), linenoise (BSD)
I think the FatFS is permissive - see:
https://github.com/elua/elua/blob/master/LICENSE.fatfs (but this file is
missing form the repo)
Lua RC is BSD but the file is missing from our repo.
https://github.com/elua/elua/blob/master/LICENSE.luarpc
We need to add this. Marko, you are maintaining elua, can you add?
Apache license - stack Inc
./hw/mcu/nordic/nrf51xxx/src/hal_cputime.c
./hw/mcu/nordic/nrf51xxx/src/hal_cputime.c
This should be runtime.
ISSUE! - Licensed under MCD-ST Liberty SW License Agreement V2
./hw/bsp/stm32f3discovery/src/arch/cortex_m4/startup_stm32f303xc.s
./hw/bsp/stm32f3discovery/src/system_stm32f30x.c
./hw/mcu/stm/stm32f3xx/include/mcu/*
./hw/mcu/stm/stm32f3xx/src/*
./hw/mcu/stm/stm32f4xx/include/mcu/system_stm32f4xx.h
+ a couple of other files
We can raise this with legal, alternatively we could move the MCU & BSP
definitions to github. People would need to config newt to point at the
github URL (newt add-clutch), but it would get around ASF license issues.
Personally, I'm leaning heavily towards this option: I think code from
the default ASF repository should be pure, as otherwise people will
adopt packages thinking they are Apache licensed and find out later they
are not.
Sterling