General Category > Open Discussion

The How and Why of AdvancedHMI Licensing

(1/3) > >>

Archie:
The AdvancedHMI software carries a unique licensing model and I wanted to make a post to explain how to comply and why the license in the way it is. A majority of the license model is motivated to keeping the software free.

The usage and deployment licensing is based on a slightly modified version GPL. This is an open source license that does not allow the use of the software in closed source applications. The "modified" part is because there are some compiled DLLs that are required to be part of the solution. These DLLs can only be re-distributed along with the AdvancedHMI solution.

Why is it based on the open source model? For several reasons:

1) Software reputation protection. Controls engineers heavily frown on hardware or software they are unable to modify to suit their needs. If AdvancedHMI solutions were deployed as closed source, the next developer would become very frustrated because they could not make even minor changes. This in turn would mean they would heavily discourage the use of AdvancedHMI. Our goal is to make AdvancedHMI use encouraged by all of those who use it. Think of it as the likes of a PanelView which you can upload the program and freely make your own modifications.

2) Let's be fair. The software was free to you, so it should be free to the next guy.

3) Our protection. Once in a while we come upon machines with an AdvancedHMI application and are asked to make modifications. If we did not have access to the full source, then we would have to tell our customers that we cannot even work with our own software. Imagine you deployed a machine with a PLC, then was called back to make a modification, but discovered someone password locked your own program.

4) Self-proliferating Marketing Model. The development of AdvancedHMI has taken thousands of hours to develop. Since the software is free, we do not make any immediate income from the sale of the software, so we rely on other means such as support and development. In order for this to work, it is important to have a very large user base. Once again since the software is free, there is no marketing budget. This is where we rely on the software to market itself. Our hopes is that once a solution is deployed, another person will come along to study or modify that application. In the process, they will discover the power of AdvancedHMI, then hopefully become yet another user.

Archie:
To comply with the license, you must either supply the full source solution to the end user or make it known that it is available on request. This full source must contain all of the original components that came with the original download.

The technique I recommend to fully comply is to copy the complete source directly to the machine it will be deployed on or copy it to a memory stick that stays in the machine. Then create a shortcut to \AdvancedHMI\bin\debug\AdvancedHMI.exe

This deployment technique has several advantages. The first is that it creates a backup copy of your solution. Secondly it makes it very easy for the next person to be able to get the solution and make modifications. Thirdly is guarantees full compliance with the license.

Archie:
It is often asked about separating the drivers from the main solution to be used in a custom project. This does NOT comply with the license. The license requires the full original solution remain in tact.

If you are only using the drivers, you can add another project to the solution and use the drivers from that project. All of the main projects and components MUST remain with the solution.

This often raises the question of why do I want all of  these extra parts in my project that I am not using. Remember the software is free and we rely on "self-proliferating marketing". If the solution is broken apart, then the next person in the solution will never see the full extent of AdvancedHMI.

If you absolutely need to only have drivers or a closed source solution, we have some of the drivers available for use in stand-alone and closed source applications. They can be purchased from the main web site..

bachphi:
Great licensing model!

I would like to add a requirement to leave PictureBox1 alone, the one that contains the absolutely beautiful AHMI logo. Otherwise your app would crash and virus will destroy your PC.

DanieLoche:
Hello,

Running an app on çy Raspberry Pi with Mono, when I open a form with a ChartBySampling control, the app immediately closed (crashed, I suppose)...

Trying to find a solution, I found this topic. TLDR : due to Licensing, it is not allowed to use Chart forms in something else than Microsoft OS.

And I constat that the ChartBySampling control inherits from the Chart control ! Do I have to say goodbye to my project ? :'(

Navigation

[0] Message Index

[#] Next page

Go to full version