Developer Center Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

NI Sample Code License and our toolkits

Another contributing author and I have created our own custom-developed code in LabVIEW, which we intend to release as free and open-source code, along with its source code, under a GNU General Public License (GPLv3).  Currently, our code includes a library call to the "NI SmartBalloon Library for LabVIEW".  According to this website, use of the SmartBalloon Library is subject to the NI Sample Code License (NI-SCL).

 

Since our own code is a LabVIEW toolkit, for use within the LabVIEWdevelopment environment, it is therefore required that our toolkit be distributed as source code; which the terms of GPL also stipulate.  However, paragraph 2 of the NI-SCL restricts use of this NI library from becoming subject to a license that requires the NI code be distributed in source code form -- so the NI-SCL and GPL licenses appear to be incompatible with each other.

 

Does the NI legal department agree that the NI-SCL and GPL are incompatible?  If so, does NI have a path for granting exceptions upon request?


~Tim
Message 1 of 4
(6,469 Views)

Hello Tim,

 

You are correct the NI Sample Code License is not compatible with the GPL. When we created the Sample Code License and defined the licensing model for NI reuse code, as well as our open source efforts on GitHub, we reviewed the common and popular open source licences used by various groups and evaluated their different pros and cons. Based on the needs of our customers and the most common use cases we anticipate for these various reference designs, we determined that the GPL and LGPL would place a significant restriction on where and how this code could be used. We therefore decided not to use GPL and to also limit the downstream requirements placed on the reference and reuse code we distribute, to allow the free use of this code in both open source projects and commercial endeavors.

 

For our GitHib projects (https://github.com/NISystemsEngineering) we commonly use the Apache 2 license to simplify the adoption of this code in other projects and encourage more community contributions.

 

 

authored by
Christian L, CLA
Systems Engineering Manager - Automotive and Transportation
NI - Austin, TX


  
Message 2 of 4
(6,447 Views)

Thank you Christian for your prompt reply.  So, what choices does this leave me with?  I'm unsure about a part of your explanation -- you seem to imply that the NI-SCL is LESS restrictive than GPL, yet my GPL code is unable to include NI-SCL libraries; or did I interpret that wrong?

 

Is there a license other than GPL that I should be considering instead, which WOULD allow for what I need?  If this is unsolvable, I will have to write my own code to perform the SmartBalloon functions, which I REALLY don't want to do (I'm quite lazy when it comes to unnecessarily re-writing existing and working code).  😄


~Tim
0 Kudos
Message 3 of 4
(6,442 Views)

SCL is less restrictive in that it doesn't require derivative works to be distributed in source code, which GPL does. My suggestion is that you distribute your code under different license such as MIT or Apache 2.

 

There are several sites out there that provide good comparisons of different open source licenses.

 

http://choosealicense.com/     This one is created by Github

 

This site lists the different conditions required by each license, of which, 'Disclose Source' is the one we are concerned about.

 

authored by
Christian L, CLA
Systems Engineering Manager - Automotive and Transportation
NI - Austin, TX


  
0 Kudos
Message 4 of 4
(6,439 Views)