FrontPanel SDK Licensing

The FrontPanel License Agreement (FPLA) are included with each FPGA module shipment that supports FrontPanel. The license agreement is also available online here: https://opalkelly.com/about-us/frontpanel-license/

The most common deployment scenarios for FrontPanel are:

  1. Non-Distribution – You’re an engineer working with one of our modules and plan to deploy the “product” in-house… or just to yourself.
  2. End-User Binary Distribution – You’re building a product that incorporates the module and writing software that relies on the FrontPanel SDK. You plan to deploy this to end-users (customers) but they will not require access to the FrontPanel SDK themselves.
  3. End-User SDK Distribution – You’re building a product that incorporates the module. This product is an evaluation product for your device and it would be beneficial if your customers could also use the FrontPanel SDK.

All three of these scenarios are supported by Opal Kelly and the FPLA.

Non-Distribution

This one is the easiest.  You’re already licensed for the use of FrontPanel and have no need to distribute the SDK or the FrontPanel binary outside your organization.

End-User Binary Distribution

In this case, you will need to share some of the FrontPanel SDK with your customers. In particular, your software application will be built on top of the FrontPanel DLL (shared object) and may include one of the wrapped APIs. These required files need to be part of your software installation. How you share these files with your customers depends on the target platform:

You will need the items in the “Shared” row for all installations. Then, depending on the operating system target and the software language, you will also share the corresponding items in the associated row(s).

ComponentWindowsLinuxmacOS
SharedokFrontPanel.dlllibokFrontPanel.solibokFrontPanel.dylib
FPoIPokimpl_fpoip.dllokimpl_fpoip.sookimpl_fpoip.bundle
C#libFrontPanel-csharp.dll
libFrontPanel-pinv.dll
N/AN/A
Python_ok.so
ok.py
_ok.so
ok.py
_ok.so
ok.py
JavaokjFrontPanel.dll
okjFrontPanel.jar
libokjFrontPanel.so
okjFrontPanel.jar
libokjFrontPanel.jnilib
okjFrontPanel.jar
  • macOS – None of the other SDK components are required.
  • Linux – None of the other SDK components are required. You may also want your customers to run an installer script that allows udev to change the mode to 666 for any Opal Kelly VID. Include 60-opalkelly.rules to your software distribution and ensure Opal Kelly devices are accessible to user-mode applications. For more information, please see the install.sh and 60-opalkelly.rules files in the FrontPanel SDK installation.
  • Windows – You will also need your customers to install a Windows driver that recognizes our USB device. You can download the Driver-Only installation of FrontPanel from Pins Downloads. This installer should be distributed by you with your application. Your installer would then run our installer as part of the installation process.

End-User SDK Distribution

If you would like your customers to be able to build applications and gateware based on the FrontPanel SDK, we’d like to encourage that!  For experienced developers with FPGA experience, we feel this can be a great user experience.  However, the terms of the FPLA prohibit redistribution of the full SDK.  Instead, please ask your customers to visit Pins, sign up for an account, and request FrontPanel SDK access directly.  If your system has any specific compatibility requirements, it’s best to let them know these as well.

For us to grant access, they will need to know a couple things and share this information with us:

  • The Opal Kelly full product name (e.g. XEM7310-A75)
  • Your product name (e.g. Robot Monkey Development Platform)
  • The Opal Kelly product serial number (e.g. 1622000123).  Your software can report this to them or you can tell them where the serial number is located on the product (only the last three numerals are shown on our product labels).

Finally, please let our support team ([email protected]) know that you’d like your customers to have access.  We have no issues with this in most cases, but we generally do not provide end-user access to the SDK because many of our other customers do not want this.  It can create support issues for them (and us) if they use a different version of FrontPanel than their product is designed to support.

Open Source Software Licenses

Like most software these days, FrontPanel and the FrontPanel SDK are built using software that has been designed, developed, maintained, and supported by thousands of extremely talented software developers around the world. We’re privileged and grateful to be able to use their software in ours.

It is our intent to respect the mention and distribution requests of these packages per their licensing. If anything is inconsistent with these software package licenses please contact us!

Open Source Dependencies

FrontPanel wouldn’t be possible without the following dependencies:

Open Source Licenses

The packages above are each distributed with one of the following licenses.