NetApp Ruby API Installation Location for Customers


#1

I am in the process of migrating the ManageIQ code that interacts with NetApp Filers away from the older NetApp SDK that relies on “c”-language libraries (and bindings to the same) to a newer version of the SDK that uses Ruby code.

The Ruby code ships with the latest versions of the SDK. The code is not shipped in the form of a Ruby Gem; there are (currently) just four Ruby files that must be installed someplace on the customer system. There is no installation script/program with the SDK, so it is up to the NetApp customer to decide where to place the code.

One would think that the NetApp code cannot be added into the ManageIQ source tree on github. Given this as a starting point, I believe we have the following options:

  1. Pick a (semi-) standard location for the NetApp/ruby code (something like /usr/lib/NetApp/ruby comes to mind) and inform the customer (via documentation, etc.) that the code from the SDK must be installed in that location.

  2. Start with the same location as above, but allow the customer to install the code in an alternate location if they so choose, and to indicate the new location to ManageIQ by way of a change to the application config “yml” file (via the Advanced Configuration screens in the UI) Also requires documentation to step the customer through this process.

I welcome any and all comments/questions etc.


#2

Does this mean you can’t find a license or some kind of documentation that describes what we can or cannot do?


#3

Doh. How about that. Here’s the relevant portion - which I read to mean we actually can distribute the code.
That’s probably a big fat “never mind”. There is a section about NetApp retaining rights, title, and interest in the distributed copies. Not sure if that’s an issue.

  1. SOFTWARE DEVELOPMENT KIT LICENSE GRANT. Subject to the terms and
    conditions set forth herein, NetApp grants You a license to:

(i) Internally use the documentation which may include the “Getting Started
Guide,” FAQs, API documentation, and trouble-shooting guidelines (collectively,
the “SDK Documentation”) solely for the purpose of researching, designing,
developing and testing a software application product (the “Licensee
Application”) for use with NetApp products;

(ii) Use, reproduce and distribute the Language Libraries in object code
form (for C/C++, Java, C#, VB.NET and PowerShell only) and source code form
(for Perl, Python and Ruby only) as incorporated into the Licensee Application;
provided, however, that You (A) reproduce and include the copyright notice that
appears in the Language Libraries as provided by NetApp, and (B) distribute the
Licensee Application incorporating the Language Libraries pursuant to terms no
less restrictive than those set forth herein. You shall not modify the Language
Libraries; and

(iii) Use, reproduce, modify and create derivatives of the Sample Code which
may include utilities (the “Sample Derivatives”) and reproduce and distribute
the Sample Derivatives in object code form as incorporated in the Licensee
Application; provided, however, that You (A) reproduce and include the
copyright notice that appears in the Sample Code as provided by NetApp, and (B)
distribute the Licensee Application incorporating the Sample Derivatives
pursuant to terms no less restrictive than those set forth herein. NetApp will
not provide technical support, phone support, or updates to You for the Sample
Code licensed under this License. If NetApp, at its sole option, supplies
updates to You, the updates will be considered part of the Sample Code, and
subject to the terms of this License.

You shall not combine the Language Libraries or the Sample Derivatives into
a Licensee Application such that the Language Libraries or Sample Derivatives
would be licensed under a license that requires the Language Libraries or
Sample Derivatives to be (a) disclosed or distributed in source code form, (b)
licensed for the purpose of making derivative works, or © redistributable at
no charge.