Introducing Nordic’s new software licensing schemes

We are very excited to inform you that we have introduced our new software licenses with the release of SDK v13.0. The new licenses are based on the well-known BSD license class and give more flexibility and freedom to customers while still protecting Nordic Semiconductor’s intellectual property and brand.

Software licenses are usually not the most riveting of reads and most people tend to click the ‘I Agree’ button without reading what they have agreed to. The licenses we have now introduced are very easy to read and understand, so take a few minutes to read through them. I think you will be pleasantly surprised at how clean and clear we have made them.

The three new software licenses we have introduced are:

  1. 3-Clause BSD License
  2. 4-Clause Nordic License
  3. 5-Clause Nordic License

3-Clause BSD

This is a very common permissive open source license.

As a user of 3-Clause BSD licensed software, you are allowed to use the software for commercial projects, and are allowed to redistribute and modify it.

Keep in mind that the license and copyright notice needs to be kept when redistributed in source or binary.

All Nordic mobile application examples (with the exception of nRF Connect) use this type of license agreement.

4-Clause Nordic License

This is a special Nordic software license that has many similarities to 3-Clause BSD License, but with some important changes and additions:

  • no redistribution of source code (only binaries)
  • no need to keep license text with binaries that are integrated on a Nordic Semiconductor microcontroller
  • reverse engineering, decompiling, modifying and/or disassembling of binaries is not allowed
  • you may only target Nordic Semiconductor microcontrollers with the software

nRF5 SDK for HomeKit, nRF5 SDK for Airfuel, nRF Connect for Desktop use this license agreement.

5-Clause Nordic License

This is another special Nordic software license that is also based on the to 3-Clause BSD License, with the following exceptions:

  • redistribution of source code is allowed as long as original license text is included
  • no need to keep license text with binaries that integrated on a Nordic Semiconductor microcontroller
  • reverse engineering, decompiling, modifying and/or disassembling of binaries is not allowed
  • you may only target Nordic Semiconductor microcontrollers with the software

Most software from Nordic uses this license agreement, including nRF5 SDK and nRF5 BLE SoftDevices.

Which Nordic Software will get updated licenses, and when?

All new software releases developed in-house by Nordic will be released with one of the new licenses. Previously released software with “legacy” licenses will not be updated with a new license.

Open sourcing parts of nRF5 SDK

We are aware of the great open source software initiatives that are targeting the nRF5 family. To make it easier for these initiatives to support nRF5 devices, we are in the process of open sourcing our nRF5x low level drivers to GitHub. We will keep you up-to-date on the progress of this.

I hope that you found this informative, and are as excited as we are to introduce new licenses that are very customer friendly and easy to read. Do not hesitate to comment or ask questions here or through our support channels.

Also check out our comic made for the new license texts at the Get Connected Blog. And yes, we actually had a cake with the license text printed.

Sources:

  • This seems like the perfect opportunity to express my hope that you will consider moving SDK development to github as well

    I also think this would be an excellent idea.

  • Really happy to see this change, and congratulations to the teams at Nordic for making this jump (clearly it must have taken someone a lot of convincing since it took this long).

    This seems like the perfect opportunity to express my hope that you will consider moving SDK development to github as well. The current model is frankly embarrassing... You release new SDKs with no clear changesets, and frequently code that was working before stops working on new SDKs, with no clear insight for your customers as to what changed. Even your own examples frequently stop working on new SDKs, and frankly I have a hard time understanding why you don't seem to have a test plan before releasing new versions of the SDKs to ensure that all the examples compile and produce correct output, under all supported compilers!

    Moving to github would give you a central place to collect issues with the SDK, and give your customers clear understanding about when these issues have been fixed. Currently it feels like a "black box" to be frank.