So I have been using this software for quite some time. AdvancedHMI

According to sourceforage page is is licensed under GPL v2.

At AdvancedHMI.com it states

How is AdvancedHMI licensed?

A: In summary, the freely available version can be used and distributed without fees. The project is under GPL which means projects you develop and distribute to end users must make source code available to them. The graphics are copyrighted and can only be used in AdvancedHMI projects. The DLLs can be distributed with projects, but can not be separated to be used in applications other than AdvancedHMI.

We do not allow the use of the base components to be used in any other software packages, however if you are interested in the controls, we develop custom versions to be used in your own software packages. Eventually we will also license the communication drivers to be used outside of AdvancedHMI. You may contact us for information.

The software is released as a Visual Studio Solution.

First Question, I believe the DLLs he is referring to are the 3 projects that are in the solution. (I could be wrong). My understanding of the GPL is that if you alter the license to add restriction to it then it is no long actually licensed under GPL and there for can not be used with other GPL works. So wouldn't this mean that it is not actually licensed under GPL?

This is the license file that is included with the source

AdvancedHMI is released as open source solution under the GPL License. AdvancedHMI's growth relies on continued distribution. As the user base grows so does the support and features. The GPL distriution model is intended to benefit us all.

In order to avoid the need to comb through vast amounts of legal jargon, the following is a quick summary on using the software.

1) You can use AdvancedHMI to build HMIs for in house machinery or machinery you sell 2) It is an open source project and must remain that way, which means if you build an HMI and sell the machine, the customer has the right to ALL of the source code just as much as you did. If you need to distribute under a closed source license, you may contact us about purchasing a license. 3) The graphics are copyrighted and only to be associated with AdvancedHMI. 4) You can NOT use AdvancedHMI to develop your own HMI development software and sell it under another name (re-branding) 5) AdvancedHMI must be distributed in full. You cannot remove parts or use pieces in another project 6) The included DLLs can be freely redistributed with HMI applications. NOTE: These files are not released under a GPL license.

If you wish to use AdvancedHMI outside of those basic rules, then you may contact us and see if we can come up with a written agreement.

Something heavily frowned upon is trying to keep the source code from the customer. If anyone has ever worked in a plant and must maintain machinery software, they know there is nothing more irritating then a locked out PLC and HMI that will not allow you to make something as simple as a quick change.

The recommended practice is to create a directory named "source" on the target PC and copy the complete VB project in that directory, then create a shortcut to the executable file found in the \bin directory.

Second Question, after doing some digging though the source, It appears that most of the core code is actually in closed source assemblies. It is it permissible to use closed source assemblies in a GPL project?

Edit In Addition:

According to the author of the software the base components are defined 3 projects in the solution. That come with every release. you are not allowed to remove any of them. The AdvancedHMI project dependends on the AdvancedHMIControls project, and the AdvancedHMIControls project depends on the AdvancedHMIDriver project. The other 2 projects are not dependencies of the AdvancedHMIDriver project but if you remove the AdvancedHMIControls Project you get a run time exception that you need to check the license agreement because the Controls project was removed. This exception is thrown inside the closed source assembly that that contains is inside of the driver project.

  • 1
    Points 4 and 5 certainly are against tjhe GPL and F/OSS software in general. Depending on how the DLLs actually come into play they may be GPL or not, BUT in order for any decision to be made what they claim to be GPL must really be GPL, otherwise its requirements don't kick in. – ivanivan Mar 29 '18 at 1:50
  • What are the 'the base components'? Are they a GPL licensed part? – user10225 Mar 29 '18 at 10:55
  • @Lutz Horn: Yes the case components as the author defines them are the 3 projects that come with the solution you are not allowed to remove them. – TheColonel26 Mar 30 '18 at 20:38

Your Answer


Browse other questions tagged or ask your own question.