Search CE Pro






Print  |  Email  |  Comments (23)  |  Share  |  News  |  Follow on Twitter, Facebook, Google+ or RSS

Who Owns the Code: Crestron Programmer Weighs In

PanTech Designs offers tips on how to communicate code ownership and licensing status with customers (to avoid potential lawsuits). 'Exclusive' vs. 'non-exclusive' code is key.


image
As a Crestron programmer, PanTech Design Ltd. president Troy Morgan certainly understands the challenges and misunderstanding when it comes to intellectual property in the renewed debate about “Who Owns the Code?”. The Grapevine, Texas-based company is a Crestron Service Provider (CSP), which is the new name for the well known Crestron Authorized Independent Programmer (CAIP) program.

Here is Morgan’s advice to integrators based on his experience regarding code ownership and communication with clients:

Intellectual property concerns are one reason our firm works closely with an IP attorney There’s a major difference between ownership and licensing when delivering source code. The rules have to be defined up front or the “unwritten” rules will always been in the author’s favor.

There are two major problems in the industry. If the author services the client properly, rarely is there a need to understand any of this. However, in business, an exit strategy is necessary just in case. Integrators and programmers don’t have this and when there’s a problem nobody knows what to do.

Loosely communicating about “source code” ownership opens the one with the loose lips up to other lawsuits. In other words, misrepresenting or not understanding the difference between ownership and licensing is a big problem.

A common area of confusion in the industry is ownership of copyright and other intellectual property rights in software. While the “work made for hire doctrine” applies to shift ownership of copyrights in some situations like for certain works created by W2 employees or independent contractors operating under written agreements with specific provisions addressing copyright ownership, in many instances the contractor retains ownership of the copyright. For example, a company writing code without a written agreement generally retains all copyrights in the code and the customer gets a license to use the code for its intended purpose.

“Our firm has handled hundreds of copyrights and software disputes. In many instances, the dispute erupts over gray areas not addressed in writing between the parties,” explains Darin M. Klemchuk, partner and intellectual property lawyer at Dallas-based Klemchuk Kubasta LLP. “We recommend the parties should documents the key deal points in an independent contractor or services agreement at the front end to avoid these issues.”

Many software development agreements grant a limited, non-exclusive license to use the source code developed for the project. The language of the license grant is extremely important because it defines how much of the rights are provided as well as retained. If the license is exclusive, it could restrict the developer from using the code for internal purposes or other projects. If non-exclusive, the developer may retain the rights to use the code for future projects.  However, if all the copyrights are assigned to the customer and no license is granted back to the developer that could be very limiting on the developer going forward.

The nature of the license grant, assuming the copyrights are not assigned, are additionally important for legal reasons if a payment dispute arises later.

“We advise our clients to not assign any copyrights or grant a license until the project is paid in full. That way, if the customer gets the code, but does not pay, the developer may be able to sue for copyright infringement in addition to breach of contract,” explains Klemchuk. 





Subscribe to the CE Pro Newsletter

Article Topics

News · Home Automation and Control · Control Systems · Software · Legal · All topics

About the Author

Jason Knott, Editor, CE Pro
Jason has covered low-voltage electronics as an editor since 1990. He joined EH Publishing in 2000, and before that served as publisher and editor of Security Sales, a leading magazine for the security industry. He served as chairman of the Security Industry Association’s Education Committee from 2000-2004 and sat on the board of that association from 1998-2002. He is also a former board member of the Alarm Industry Research and Educational Foundation. He is currently a member of the CEDIA Education Action Team for Electronic Systems Business. Jason graduated from the University of Southern California.

23 Comments (displayed in order by date/time)

Posted by 2cents  on  02/04  at  11:26 AM

Jason,

If we are going to bring this discussion back onto the main stage I think it is time to look at this with a common sense approach.  This who owns the code thing - I think would be great to talk about for Commercial Integrator.  In the residential world this is what gives “CE Pro’s” a bad name.  If for some reason a client no longer wants to do business with a certain company - what better way to raise tempers even more but to tell them you own the code or that they will have to pay extra for it so someone doesn’t have to rewrite everything.  As a reasonable person - if you feel that you “own” the code and you need to license it or whatever - include it in the cost of your system and hand over a copy once the project is done.  The only reason we are talking about potential law suits and involving attorneys is that there still appear to be some greedy people in our industrial that only care about lining their pockets than making the client happy.

Posted by Morgan Harman  on  02/04  at  12:56 PM

2cents,

There are two different levels of “code” at least.  There are the GUI generated files that many remotes have that are often referred to as code - then there is the code… the actual compiled code like Crestron’s Simpl that individuals and company’s work on building a library of objects for.  This type of platform (control systems like AMX, Crestron, Johnson Controls) was designed with the idea of protecting the intellectual rights of the designing firm.  This code is what is usually the type of code that is in question.

When you buy a PC do you get the original code for the operating system?

I don’t see why this would give anyone a bad name unless there was poor communication or an incorrect expectation.  These types of systems are just not appropriate to sell in most situations, especially one where a homeowner has an interest in having low or no maintenance cost electronics.

They should just by a Harmony.  Oh wait, there almost out of business. wink

Posted by Total Control Remotes LLC  on  02/05  at  03:30 AM

This all goes back to how the integration company wants to conduct business.  The important thing is - INCLUDE SOFTWARE PROVISIONS IN THE CONTRACT!  There is no right or wrong answer, that is why this is a contraversy.  So my answer is “who ever owns the software is what the contract says”.  It is that simple.

However, our position is that the prorgrammer should be protected as they have developed the system.  A compromise:

There should be a third party company who is provided with the software for every customer who can provide the software under certain circumstances:  Dealer is out of business, there is a court order, and other reasons to protect the home owner.  However, a good contract will always protect both sides.

Posted by Todd Nelson  on  02/05  at  11:19 AM

Since I don’t actually write much “code” i.e.
1’s and 0’s, there isn’t much of an issue with the programming developed for the client using manufacturers own codes. Most of the programming I have done through the years has been on yachts. They tend to travel great distances and not be nearby when something goes wrong or the owner wants to make a change. This has necessitated a practice of saving a copy of the programming and giving it to the captain after all the bills have been paid in full. I have kept to that same practice on houses with only one owner wanting exclusive rights to the program, meaning I could not have a copy for my self. He had retired from Oracle and was a computer geek himself. As it turned out, he shot himself in the foot when his computer that had the program on it died, and he did not have a backup. It was 168 pages for an RTI T4 and He had to pay me to do it all over again.

Posted by An Interested Party  on  02/05  at  11:57 AM

For the average homeowner, this is an oft overlooked item. Easy to think: “Why wouldnt the code be included, I paid big bucks for ‘programming’. “

Pretty cut and dry, its spelled out in the contract or not.
Should the code go with the system? I say Yes it should.

Get real about it… the code is typically blocks of cut and paste, then assembled with some custom macros that meet the clients lifestyle… its all re-used 1’s and 0’s…

Then when the installer is unreasonable and a jerk and finally pisses off the homeowner bad enough, the homeowner just calls another installer. Should be that easy, unless the homeowner does not have the source code smile

Posted by Jesus Tossas  on  02/05  at  11:59 AM

I as a creatron freelance programmer I’ve been in the situation were the scenario is the client don’t want to deal with the company who wrote the code and offered the service, . Then the programmer won’t give the code if there’s no payment for it. So the customer needs to pay extra to get the copy of the code. It’s uncomfortable for customer to deal with this and not pleasing. Other programmer don’t actually care and give the code no charge. So there’s no rules others than taking more money due to loose the project. Who owns the code? I try my simple idea intellectually speaking the developer own and the customer also own the code since e paid some one to build him a code to control his equipment and that code it’s in his processor. Seems. I don’t know if I am in the situation to let out a code and either charge for it or give it free. I ask my self the same question when I see this article.

Posted by JerryS  on  02/05  at  03:00 PM

Jason,

You have it right.  Companies should work closely with an IP attorney.  What is “right” or “sensible” is not necessarily what the law states - and, of course, the law takes precedence.

Before getting into home automation, I spent over 30 years in IT, most of it as a programmer or consultant.  I had (and still do have) a great IP attorney.  He has written the IP portion of our standard contract, in which it states we retain ownership but provide the customer with a non-exclusive license to the code.  Code basically includes all non-hardware customization we do to the system - user interface we design, operation in response to the user pushing buttons, etc.  It is a lot more than “1’s and 0’s”.

As for when buying a PC - no, you do not get the source code for the OS.  However, you DO get a non-exclusive license to use the OS.

Granting the user the copyright to the code could place you in an awkward position.  It means the user owns ALL rights to that code, and you can’t use it on ANY other project - unless the user grants you a license to it.

The bottom line is - if you don’t have a good IP attorney, GET ONE ASAP.  Not having one could cost you your company.
As

Posted by lbaltz  on  02/05  at  04:25 PM

I think it makes a lot of sense for the manufacturers of products like Crestron/Savant/AMX to require their authorized dealers to provide them with a copy of the editable code which they can hold in escrow in the event the original dealer or programmer is unable or unwilling to modify the customer’s code.  The manufacturer needs to make this registration mandatory within a certain time frame in order for the system to remain functional.  The client should not be required to pay in full until they have received a certificate of registration from the manufacturer.  The manufacturer needs to require this in order to remain an authorized dealer.

Two negative scenarios for the client are most typical when the source code is being held hostage.

#1. Integrator hired third party programmer:  If the client can prove that they paid the integrator in full, then the code should be made available to the client by the manufacturer.  If the programmer was not paid by the integrator that is an issue between the integrator and programmer and the client should not be left to pay for the code a second time.

#2. Integrator writes the code in house:  If the client can prove they paid in full, then the code should be made available to the client by the manufacturer.

This adds a layer of protection for the client as well as the manufacturer.  The manufacturer will very quickly become known as a high risk vendor if their clients get burned more than a few times.  The manufacturers need to get serious about policing their dealers and protecting the people who spend a lot of money on their hardware.  (Lutron does a good job with this as most reputable dealers do a synchronized upload to the processor and any authorized dealer can then service the product.)

Most importantly, the dealers need to be honest about the code variables with their client in the executed contracts.  With the manufacturer backing up the dealer and guaranteeing the client’s access to code in any scenario, everyone wins.

Posted by JohnA  on  02/06  at  04:53 AM

OK, help me understand this better…I don’t do AMX or Crestron programming…but if the code is already running a system, are you not able to download the existing compiled code from the system?

John

Posted by lbaltz  on  02/06  at  06:39 AM

JohnA,

That’s correct.  The processors only contain the compiled code.  To edit anything you need the source (uncompiled) code.

Posted by paulcunningham  on  02/06  at  09:48 AM

John you can download the compiled code, but the catch is that you can’t make any changes to it, even minor ones. It’s like if you didn’t like the way the menus were arranged in Photoshop, you can’t just edit photoshop.exe (compiled code).

Posted by 2 cents  on  02/06  at  12:13 PM

Guys—I like the idea of the manufacturers getting a copy of the code. 

Here is what it comes down to in the end.  I get that we all like to get paid for all the hard work we do day in and day out.  At the end of the day you can spend money on an IP attorney and then refer back to the language in the contract when the client is unhappy - that still won’t fix the problem.  If you are going to hold the code hostage in your contract that needs to be explained up front and should be in BIG BOLD HIGHLIGHTED TEXT.  Otherwise lets stop coming up with ways to screw the client on the backside and come up with some COMMON SENSE ways to deal with this.  I did a google search for “Code Escrow” - there appear to be many companies that do this.  I think that something like that make sense - a 3rd party that has no emotional / monetary attachment to the project.  Lets all say it out loud “DO THE RIGHT THING!”

Posted by lbaltz  on  02/06  at  02:20 PM

I am in total agreement with 2 cents…

Posted by JerryS  on  02/06  at  07:05 PM

2 cents - I’m not arguing about the “right thing to do”.  However, people DO need to spend money on an IP attorney.  It’s a matter of legally protecting yourself.

There are two people in this world I would never run a company without.  An CPA and an attorney.  In this case, three attorneys - one familiar with contracts, one familiar with local building codes and one familiar with IP.  None of the last three need to be on full time payroll - my contract and IP attorney basically helped me set up our contract.  The building codes attorney I use a bit more as those regulations change more often - especially here in Maryland, where building codes are handled by local jurisdictions (cities and counties).

I also carry insurance.  All for the same reason - to keep me from making a mistake that will drive me out of business.

I really do find it amazing how many people think they know the law - and how wrong they are.  And when it comes to IP law, it seems there are more “experts” than attorneys.  From my IT experience, most “experts” are wrong.

Now don’t think I disagree with keeping the code in escrow - I do think it’s a good idea.  But that alone does not protect you (or the customer).

Posted by JerryS  on  02/06  at  07:08 PM

@JohnA - that depends on the original contract.  If the contract did not give the customer the copyright or a license to use the code, you may very well be in violation of copyright law by downloading it.

And even compiled code can be decompiled.  It’s not easy, but it can be done.

Page 1 of 2 comment pages  1 2 >
Post a comment
Name:
Email:
Choose smileys | View comment guidelines
Remember my personal information
Notify me of follow-up comments?

Sponsored Links

  About Us Customer Service Privacy Policy Contact Us Advertise With Us Dealer Services Subscribe Reprints ©2013 CE Pro
  EH Network: Electronic House CE Ideas Store Commercial Integrator ChannelPro ProSoundWeb Church Production Worship Facilities Electronic House Expo Worship Facilities Expo