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

Reply via email to