From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

DIAdem NILIBDDC C# wrapper library; Questions about Licence

Dear National Instruments DIAdem Team,

 

I am currently working on using the NILIBDDC library to access TDM DIAdem files from a C# .NET application.

I was considering releasing my work as an open source, free to use, c# library on github.

This c# library would therefore contain:

- C# classes that provide object oriented access to the c++ library provided by National Instruments

- The national instruments nilibddc libraries (as available from http://www.ni.com/example/30957/en/)

- The full national instruments licence rtf file (as included in http://www.ni.com/example/30957/en/)
- a reference to the national instruments link http://www.ni.com/example/30957/en/ in the readme

 

I am writing this community post because i am not quite sure about the following part of the licence.rtf file:

3.: 3.	Restrictions. You may not: (i) reverse engineer, decompile, or disassemble the TDM DLL (except to the extent such foregoing restriction is expressly prohibited by applicable law); (ii) sub-license, lease, or rent the TDM DLL; (iii) modify, or create derivatives of the TDM DLL; and (iv) directly or indirectly, export, re-export, download, or ship the TDM DLL in violation of the laws and regulations of the U.S.A. and the laws and regulations of the applicable jurisdiction in which you use or are downloading the TDM DLL. Under no circumstance is “floating” or shared use permitted under this Agreement.   You agree not to use the TDM DLL to make or distribute your own or a third party's application, a principal purpose of which, as reasonably determined by NI, is to perform (by itself or in combination with other products) the same or similar functions as (or are otherwise intended to replace or supplant any component of) the TDM DLL or any other software of NI.

In more details i am worried that i am in conflict with the restriction: "You agree not to use the TDM DLL to make or distribute your own or a third party's application, a principal purpose of which, as reasonably determined by NI, is to perform (by itself or in combination with other products) the same or similar functions as (or are otherwise intended to replace or supplant any component of) the TDM DLL or any other software of NI."

As the porpuse of my proposed library is a wrapper for the nilibddc library and therefore inheritly provides the same functionality.
Since I do not intend to replase the nilibddc library and do not intend to make any profit of this work (as it is open source) i thought you might still consider is as a valid interpretation of the licence.


Additionally i want to add that currently i am only supporting read acccess to the files. Which might also be in contradiction to the licence as §2 states "If your application reads TDM files using the TDM DLL, you must support writing TDM files as well.".
Since i am building a library and not a fully fletched application you might also consider me as in complience with the library.

I want to release the resulting library with the MIT Licence.

Please get in touch with me if you approve of this project.
Sincerely
Florian Bachinger

 

 

 

Message 1 of 2
(2,109 Views)

Hi florianBachinger,

 

I have checked with R&D, and they agree that it would be permissible for you to post your own C# wrapper code to github and merely link from there back to existing NI web pages that host the NILIBDDC library.  Since you are posting your code as freeware, you are not bound by the read-write restriction in the license agreement.

 

Thanks for checking with us,

Brad Turpin

DIAdem Product Support Engineer

National Instruments

Message 2 of 2
(2,037 Views)