Skip to Content
Technical Articles
Author's profile photo Dominik Tylczynski

Open source PLC emulator: why ready to run application cannot be provided?

People inquire in the comments to the blog series on open source PLC emulator how to get a ready to run application file for the emulator, e.g. Ganesh Navale asks:

I had found below link and they have provided single executable to run PLC emulator.

Can you provide similar executable?

or Shaikh Masir comments:

Where can i find PLC SIM EMULATOR file to download ? Can you guide me.

Even though the simulator is made available open source and copyleft as the GitHub repository, it still proves difficult to deploy.

I have provided a jar file with the emulator and showed how to run it How to setup and run PLC emulator for SAP EWM MFS

Still, it needs some clarification why I have not provided self contained, ready to run application. Let me explain then.

The PLC emulator uses SAP Java Connector library to communicate with the backend SAP EWM system. The library is simply indispensable.

SAP Java Connector is licensed by SAP the same way as any other connector:

Source: SAP Connectors


In the lay terms, JCo is free of charge for SAP customers. However redistribution is prohibited.

Initially, I was not sure if providing a jar file including the JCo library is considered redistribution or not. Therefore I have addressed SAP support with the question to BC-MID-CON-JCO component:

I have developed an open source PLC emulator to facilitate SAP EWM-MFS implementation. The emulator is available free of charge under copyleft AGPL-3.0 license as a github repository:

I have also published several articles about the project:

The emulator utilizes SAP Java Connector library.

The question is if under SAP JCo license terms it is allowed to build and make available in the GitHub repository a self-contained jar file with SAP JCo included in the jar file. That would make it much easier for user to deploy and run the emulator – see the comments under the blog
Evidently users are not that familiar with running Java apps with external library. A jar file with all required libraries would make it much easier for them.

Unfortunately, the response from the product owner of Connectors is unequivocal:

the license terms are pretty clear about this: redistribution is not allowed. There are certainly pros and cons for redistribution of JCo libraries, but currently SAP is of the opinion that the pros are less important than the cons (and actually the same is true for other connectors as well, NCo, NW RFC). Therefore, SAP cannot allow you such a bundling.

By that a provision of ready to run application is expressis verbis forbidden. The best I can do is to provide a jar application that depends on external libraries, which I have already done.

Nevertheless, soon I am going to publish step by step instructions on how you can clone the project and build a ready to run application by yourself. Stay tuned!

Assigned Tags

      Be the first to leave a comment
      You must be Logged on to comment or reply to a post.