Engineering Ethics and Software
Back when I started doing software work directly for customers I must admit that I didn’t pay for the programming software that I used. This was in the days of DOS based programming software, and I had a laptop with Allen-Bradley (APS and AI), Eagle Signal Micro 190 and some Omron package. Since I had installed the software while working for other companies (at their request), I felt justified in not removing it when I left. After all, who was I really hurting? I had no idea how much the software had cost originally, and piracy was really not a topic back in those days. I had taken a course in engineering ethics as part of my Electrical Engineering studies, but they didn’t even mention software.
When Windows-based programs came out I quickly recognized the advantage and greater value of RSLogix500 over the old DOS-based stuff. Since I had been in business for a couple of years at this point, I had no problem purchasing a license, but programs such as AutoCAD were still beyond my reach (and my old laptop’s capabilities!) so I settled for a less expensive Autodesk product, AutoSketch.
By this point in the mid to late ’90s, discussions about software piracy and licensing were happening, but since there was no real internet yet, most of it was either by word of mouth or possibly mentioned in some trade publications. By this time I could afford (and really needed) another laptop. I installed my software on the new laptop but found it quite easy to also keep it on the old one. I justified this by thinking “I will only be using one laptop at a time”. This was true until I hired my first programmer (hi Larry!)
As soon as I could afford another license for Logix 500 I bought one. As my company grew, I added more laptops and it became more difficult to copy licenses. The vendors and manufacturers kept us honest, though there were still back doors that a lot of people knew about. We never had a need for more than three PLC or CAD licenses, and since I wanted to be a responsible and ethical business owner I complied with what I knew was the right thing to do. By this time we were doing a bit of Siemens work (one Step7 license) and quite a bit of Automation Direct (two DirectSoft licenses, and relatively inexpensive ones). Again, the cost of the licenses were justified by the amount of business we did.
In 2006 I closed my company and kept two of the laptops. I didn’t need them anymore for work, and the revisions kept coming, making the licenses obsolete. While working at Wright, licenses and laptops were provided and software managed by others. A-B and Siemens had also made it very difficult to copy/steal licenses, so I don’t think there was much of a possibility of piracy as engineers came and went.
It was during my time at Wright that I first heard about VMWare and virtual machines. While multiple versions of RSLogix5000 can be installed on a computer at the same time, the same is not true of Allen-Bradley’s HMI software, FactoryTalk Studio. In order to install the newest version, the old version has to be uninstalled. This creates a problem when you need to support old customers while designing for new ones. A virtual machine solves this problem; an entire hard drive can be cloned along with its software installations. This allows several different operating systems to be installed on the same computer, you can simply start up VMWare, open the old version of software, and modify customer’s programs in their original version. Now I don’t know the details of how Wright managed having multiple cloned operating systems and licenses available, but since they are a large company and subject to scrutiny for software, I’m sure they were all aboveboard and did things as they should. I left and went back into business at the beginning of 2012, so I have no way of knowing how they do things now.
As I travel around the country and get to talk to a lot of different people in the controls industry I have come to realize that a lot of people use virtual machines for their programming software. Sometimes its because they can’t run old software on a 64 bit operating system, or maybe because the software doesn’t play well with other software on the same machine. I have recently installed VMWare on a Windows 7 machine so that I can run my old DVT software (Windows XP) on my laptop that has Camtasia installed on it. Since the DVT software was free, there are no licensing issues associated with that. VMWare, VirtualBox, and Windows VirtualPC are also free (for the basic versions) so no problem there either.
The operating system itself is another story. Of course Windows charges for all of their OS’s, but if you are simply duplicating one off of an existing machine that you already own you are bypassing their fee. In my case, since the laptop I am cloning is about 10 years old and I don’t use it I think I’m OK. But its very easy to simply create a new virtual machine and pass it around on a USB stick, and I know of a few cases where that is standard procedure. In this case, very expensive licensed software along with the operating system can propagate freely.
For a while now A-B and Siemens have been ahead of the license duplication issue by requiring activation of each instance online. Cloning an operating system is a different issue though, and I don’t see how they can ever prevent piracy outside of requiring users of their software to go online and validate after each power-up. This is not practical for most programmers in the field, so I don’t see that ever happening.
Whenever I watch a movie on DVD I see the add pop up threatening a $250,000 fine and emphasizing that “piracy is not a victimless crime”. I also remember all of the histrionics several years ago about Napster and file-sharing. Though not as many people use expensive programming software, operating systems and Office software are still pretty pricy. Yet when I looked online for articles about this issue relating to virtual machines, I didn’t find much at all. Lots of stuff about cracking installs of software and piracy, but nothing about cloning operating systems. Am I missing something?
In engineering and business there are always a lot of ethical decisions that need to be made. Most people try and do the best they can to be honorable about these temptations, but there are now and have always been those who will do anything for a buck. Beyond self-policing by companies and significant penalties for those who get caught, there seems to be very little that can be done by manufacturers to prevent this type of piracy in the future.
Have you seen a lot of this in your work environment? Do you use virtual machines for your programming software?