I’ve contacted Nordic. This seems like a concern shared by us, mbed and zephyr.

Question for Justin (and others too) re exceptions during beta releases. Assuming Nordic is not going to relicense this in time for our beta release, I think we have 2 options in front of us:

1- Remove Nordic drivers from our source code, and distribute Nordic separately as Runtime. We do this today, with the Arduino Zero, because of the Atmel licensed header files.

It is really _not_ ideal to do this for a few reasons:

a- As a project, in order to run on our major platforms, the ASF is relying on code that is maintained and managed by Runtime. Speaking for runtime, we’re happy to do this and be good citizens, but long term we’d really like this to be owned by the Mynewt project.

b- Another option here would be to contact Nordic and ask them to maintain the port to Mynewt. Which would be a better option for Runtime, but still as a project, probably not ideal. :-)

2- Atmel has confirmed that Runtime and/or the Mynewt project is not violating their license in the way which we redistribute these header files. My guess is we can get a similar statement from Nordic, along with a statement that they are working on re-licensing these header files. We can decide to redistribute these files with our core release, which would be ideal, and add them to an exception file, which clearly spells out that these files are _not_ an approved Apache license.

I think this would be the ideal scenario, as we work to address license issues with the various MCU vendors. These license clauses are not overly restrictive (*), but more of a nuisance. I think if we all took the perspective of a user, this would be the preferable approach, instead of making them install these header files elsewhere.

_Especially_ in the context of a beta release: we can make a different decision prior to 1.0, if we can’t address the license issue sufficiently/get Nordic to relicense these header files in time.

Sterling

(*) The header file licenses, in the case of both Atmel and Nordic, simply state that this source code can only be used in conjunction with a product that runs on their hardware platform. It is otherwise a 3-clause BSD license. The source code in question, is driver and header files for their platform: so, it wouldn’t make sense to use it any other way.

I’m not advocating these clauses, but I think from a user perspective, its not exactly going to restrict use / open them up to risk. As they will only be using this source on a nordic platform.


On 10 Nov 2016, at 2:18, Kevin Townsend wrote:

We have a similar problem with Nordic code where due to older restrictive license terms we can't release the source for some projects. The terms have gotten friendlier with time, but the earliest stuff was quite restrictive.

I'd suggest getting in touch with Nordic, though. They're probably open to making some changes in certain situations. If you need a contact there, just send me a private email but I know Sterling already knows a mutual contact that would be a good person to explain the issue to and hopefully get the ball rolling on what will ideally lead to compatible license terms(???). It seems like it would be in their interest and most of this code isn't useful on anything other than their own silicon anyway.

On 10/11/16 02:12, Christopher Collins wrote:
Hi Justin,

On Thu, Nov 10, 2016 at 08:33:54AM +1100, Justin Mclean wrote:
Hi,

The first clause, Grant of License, seems to be problematic:
Look like it "non-sub licensable” may be an issue? And "solely in
connection with a Nordic Integrated Circuit” reads like a field of use
restriction to me [1]

Section 4 of the license re distribution may also be a concern.
That was indeed my fear. Thanks for calling attention to section 4 as
well.

Their modified BSD license also may be an issue as it also looks to
includes a field of use restriction.
You are right - I hadn't noticed that.  However, the fourth clause
is missing in the actual commits that were made to address this ticket (https://github.com/ARMmbed/ble-nrf51822/commit/6d1bf116e156b870099694f0ce27076c236c4f44). Maybe there was some additional communication between the mbed team and Nordic that let to the actual changes.

I assume this is optional in that not everyone would need to use it?
Yes, these files are optional in the sense that Mynewt can still be
used without them. However, someone wishing to use Mynewt with a Nordic
MCU will probably won't get very far without them.

1. https://www.apache.org/legal/resolved#category-x
Thanks, Chris

Reply via email to