J
Hi everyone. I've seen some discussions of this topic over the past year, but I'd like to try it again. Let me begin by telling you a little about our company.
We work primarily (although not exclusively) in the water and wastewater business. Usually when we provide control panels for a job we are bidding a job "lump sum", and we are bidding to a specification written by a consultant. Often the consultant may include verbage about warranty, as well as supplying copies of the PLC source code. We have never turned on any "code protection"
bits in the PLC, which means our code is freely accessible to anyone with the right hardware and software.
We consider ourselves an integrator, not an OEM. We don't typically provide a "canned" application, although many times the equipment and software may be very similar to another job.
Some companies like to get service calls because they can charge exorbitant amounts of money for a service trip. We don't like service calls. Most plants have technicians or electricians in charge of maintaining the plant. We would prefer NOT to get a call every time a small issue occurs. Often the call originates under the guise of a warranty issue, only later do we find the cause
to be unrelated to our code and equipment, but getting paid at that point is difficult. In addition, we are often chasing additional work with the customer, and we would prefer not to offend them or send them to our competitor.
Sometimes a warranty period can be difficult to determine, since we might be making changes to a program as part of a new project with the same customer. Customers might also be interested in making minor code changes themselves as a part of maintenance (a limit switch is out and they want to jumper around the input).
The reason for this preamble follows. A business consultant asked us if we included a license as part of our PLC source code. We do not, and have not. I think in the past our attitude has been that the customer typically owns the code (at least after the warranty period). The consultant then asked if we ever "re-use" code, meaning start with one customer's code and then modify it
for a new job we might be working on for a different customer. His assertion was that if the customer owns the code, we would be violating the law by using this code on another project.
We are now considering using a license, at least in certain cases. Having some familiarity with GPL's and open source, I have considered some type of GPL where we own the code but allow our customer the use of it - also allowing them
the right to modify it if necessary. We would retain ownership of the code, allowing us to re-use it, and also preventing others from profiting from it.
My questions are:
- Is anyone else doing this, or have you looked into it in the past?
- Has anyone had a lawyer look at it?
- What other issues have I missed that might have a bearing in this discussion?
Thanks for your comments.
Jason Greff
Instrument Control Systems
We work primarily (although not exclusively) in the water and wastewater business. Usually when we provide control panels for a job we are bidding a job "lump sum", and we are bidding to a specification written by a consultant. Often the consultant may include verbage about warranty, as well as supplying copies of the PLC source code. We have never turned on any "code protection"
bits in the PLC, which means our code is freely accessible to anyone with the right hardware and software.
We consider ourselves an integrator, not an OEM. We don't typically provide a "canned" application, although many times the equipment and software may be very similar to another job.
Some companies like to get service calls because they can charge exorbitant amounts of money for a service trip. We don't like service calls. Most plants have technicians or electricians in charge of maintaining the plant. We would prefer NOT to get a call every time a small issue occurs. Often the call originates under the guise of a warranty issue, only later do we find the cause
to be unrelated to our code and equipment, but getting paid at that point is difficult. In addition, we are often chasing additional work with the customer, and we would prefer not to offend them or send them to our competitor.
Sometimes a warranty period can be difficult to determine, since we might be making changes to a program as part of a new project with the same customer. Customers might also be interested in making minor code changes themselves as a part of maintenance (a limit switch is out and they want to jumper around the input).
The reason for this preamble follows. A business consultant asked us if we included a license as part of our PLC source code. We do not, and have not. I think in the past our attitude has been that the customer typically owns the code (at least after the warranty period). The consultant then asked if we ever "re-use" code, meaning start with one customer's code and then modify it
for a new job we might be working on for a different customer. His assertion was that if the customer owns the code, we would be violating the law by using this code on another project.
We are now considering using a license, at least in certain cases. Having some familiarity with GPL's and open source, I have considered some type of GPL where we own the code but allow our customer the use of it - also allowing them
the right to modify it if necessary. We would retain ownership of the code, allowing us to re-use it, and also preventing others from profiting from it.
My questions are:
- Is anyone else doing this, or have you looked into it in the past?
- Has anyone had a lawyer look at it?
- What other issues have I missed that might have a bearing in this discussion?
Thanks for your comments.
Jason Greff
Instrument Control Systems