License problem statically linked OPC UA Server ?

Questions regarding the use of the C++ SDK for Server or Client development or integration into customer products ...

Moderator: uasdkcpp

Post Reply
Jr. Member
Jr. Member
Posts: 2
Joined: 08 Apr 2020, 10:32

License problem statically linked OPC UA Server ?

Post by RalfC »

I am building an OPC UA Server that is linked statically with LibXML, OpenSSL, Ua Server SDK.
This results in just one executable without any needed DLL's.
The executable will run only Windows 7,8,10 (not Windows CE)
Technically no problem, everything works fine.

What makes me curious is the following note in the documentation
Building the SDK and Third-Party Libraries/Compiling Third-Party Components :
It is highly recommended to build all third-party libraries in shared object mode. Especially when building for Windows CE you must link dynamically, because wcecompat is required, which is released under the GNU LGPL and requires dynamic linking.

Does anyone know what's the reason for that note ?
Do I have a license problem (SDK and or Third party components) when I distribute the server as one statically linked executable ?
As mentioned above, I am NOT building for Windows CE.

User avatar
Support Team
Hero Member
Hero Member
Posts: 2522
Joined: 18 Mar 2011, 15:09

Re: License problem statically linked OPC UA Server ?

Post by Support Team »

Hello Ralf,

there are three different views on this topic:

1) What we recommend and support:
The sample applications in our delivery of the SDK are statically linking against the SDK libraries and dynamically linking against any third party library and the uastack. That constallation is also used for our internal testing and is widely used by most customers. There are no known issues.

2) What is technically possible:
You can statically link everything and build a single executable. The downside is that you can't update libraries by just exchanging the dll without recompiling the executable. Especially for OpenSSL there are frequent security relevant updates available.

3) What is legal:
There is a legal problem if you statically link third party libraries that are released under the GPL, LGPL or similar licenses. At this point of time there is no legal issue with OpenSSL and LibXml. However this might change over time. As you already figured out there is an legal issue with WCECOMPAT if you statically link against that library.
Note that it is your responsibility to ensure that you do not violate any license with your final product.
See here (Chapter 3.
Restrictions and Appendix A)
Best regards
Unified Automation Support Team

Post Reply