Who owns the code?
TonyAngelo
Posts: 315
There is a discussion about this going on right now on RC: http://www.remotecentral.com/cgi-bin/mboard/rc-custom/thread.cgi?17836,1
One of the posters, Julie Jacobson, writes for CEPro and other industry rags. She is about to publish an artical basically saying if you buy AMX or C then you are asking for trouble because of the issue of code ownership and that people should instead buy C4, Lifeware, etc.
It might be worth it for a few of us to set her straight.
One of the posters, Julie Jacobson, writes for CEPro and other industry rags. She is about to publish an artical basically saying if you buy AMX or C then you are asking for trouble because of the issue of code ownership and that people should instead buy C4, Lifeware, etc.
It might be worth it for a few of us to set her straight.
0
Comments
My doctor is advising me to avoid your links in the future as my body cannot take the dramatic rise in blood pressure caused by them!
The problem over there is that they have a couple of different issues in play and some of them are not being properly addressed. I am thinking about spending some time to register there and write a reply, but I'm not sure if I want to waste an hour of my time to do it as I feel it will fall on deaf and/or dumb ears.
Jeff
I've spoken with so many people who just think its thier god-given right to download all manner of music, movies software for free; that expecting them to pay for it is the most absurd thing in the world.
I've also seen many folks who write intellectual property that do not understand how the laws work. I've seen programmers, on salary with a company, rabidly defend the idea that they, not the company, owns the rights to the code.
In all these magazine articles I've read on the subject, I find that it is extremely rare for any of the writers to actually contact a intellectual property lawyer and see what the law says.
There is nothing wrong with the client owning and having the source code. If that's what you want to do, that's fine. However, there's no legal basis for it being a right. If a programmer/company wants to give the client the code, then both parties should sign a contract granting the rights over to the client. Usually, those contracts have language in them saying that the client voids all waranty of the code working properly if they alter it in any way.
A good example of this in my life is the fact that I as an engineer/producer of music own the copyright on the recording I make. The song(s) are still copright the artists or label, but the recording is mine. In all my artists/producer agreements, there's always 2-3 paragraphs where I, as the recordist, grant permission to the artist/label to use the recording for specific purposes. I also give up the right to negate that right without third-party moderation. (I can't get mad and revoke the rights after they've mass-produced 10,000 CDs of the record)
This is standard proceedure in music law. And it makes good common sense. However, making the leap to saying the artist has some kind of granted rights to the recording is not factual.
Now, I'm rambling... I'll stop...
You make it sound as if IP law is all cut and dry. It is a very murky area of the law. In some cases the programmer does own the code they write, it depends on many factors like your employment agreement, job description, etc.
Paul
I suppose in one sense what you say is true. But the laws are pretty well established that a 'work for hire' is copyright the hirer. I've seen a lot of cases where there is an argument on what constitutes work for hire. There are a lot of factors. I can tell you that if you're employed by a company that pays you a regular salary or hourly wage, provides you with space on site, manages the schedule and books the clients, 100% of your code will be considered work-for-hire.
If you contract, work from home, develope sections of code from home, work a significant amount of time outside of work, then it gets greyer.
That entire way of thinking is very dangerous, because if they decide they do want to enforce these things, you won't have a leg to stand on in court. It's not what you "feel" should be OK, it's what the pertinent laws say, and how courts are interpreting them.
One example would be if I am hired as an IT admin for a company and I write admin scripts all day. All that code is the company's. But if I also write a small program that saves the accountants many hours of labor because I recognized a need, then in all likelihood I own that code, even if I wrote it at work on company time because it was outside the scope of my job description.
Paul
If you turn over the code to an end user - do you release all rights to use that code or parts of that code for yourself in future projects?
Or do you you turn over the code retaining usage rights for yourself? That is the way I tend to approaoch it on the few contracts I have written up.
At a recent companies master class, this question was asked and a slim majority said they have a contract with license rights granting the end user rights to use the code for that project only.
This is kind of like saying you have usage rights to the CD you purchased but can not distibute that. We all know how well that has worked...
But legallay it seems the only way to go about it. You can not prevent people from reusing stuff, just prosecute them afterward if there is the paper work to allow that.
Or you can keep all the code in your warehouse and not give it out. I've seen more than one lawsuit over that. Seem like a good way to piss off a customer.
Don't get me started on the work-for-hire thing. there is a consultant in the area that always has that in his bid-specs.
Byt the way - if you keep the code and not turn it over to the end user, you are leagally bound to keep a copy of that code protected for 7 years. This means safe redundant storage. (again this came out in a recent masters training class)
And yes Tony - I didn't sign a contract with you, and I do retain all rights to anything that I provided you.
If you use any of that advice, please send a check payable to me on a per use basis...
I like your thinkin'. I'll tell you what - I'll send you a use check for any advice I use, if you will refund me for any advice I don't use.
fair nuff!
Paul
Your home or commercial automation customer may want assurances that if you go out of business or get hit by a bus, they can still have another dealer develop their system without starting from scratch. Depending on the customer (state governments for example), access to source may be a legal requirement that they cannot or will not bend on.
The trickiest part, in my opinion, is that not ALL of the code you use for a given customer is specific to that customer, and much of it effectively represents "trade secrets" that you are not willing to share with other dealers who might work on the same system. In these cases, some kind of escrow agreement is probably best. This tells the customer that you are willing to support your code, and that if you don't keep up your end of the bargain, they can get the code from the escrow provider and take it to a new dealer.
That is the first I have heard of that arrangement. The US govt is a large purchaser of MS products, However, I doubt if MS has an arrangement to release code to them should they go out of business.
If a client wanted the code for a project (and it happens occasionally), we would refuse the job.
Paul
Some of these companies out there that install AV & Integration systems though are a totally different story. Many of them are run by a small handful of guys and fade into the woodwork when things go poorly, leaving the customer with unfinished / poorly written control systems and no way to get support - leaving a half million dollars' worth of equipment worthless. It is this kind of company that is responsible for this kind of arrangement's existence. It is a real problem that creates a black eye for our industry.
We have inherited a few of the systems you describe. I won't mention where or who.
It was a guy who was a trunk slammer from up the coast a way. He hired an AMX programmer to write the code for him and he did the install himself. It was left in about a 70% done state. The guy got out of the biz and left the owner high and dry.
We knew the guy who wrote the code and he did a fine job. We ended up rewriting and redesigning the entire system. We pulled the gear and re-burned it in and reinstalled it. So even having the full code did no good in this situation.
Good points!
My customers often ask if I plan on dying and of course I don't and tell them so but they're not really concerned so much about the code but the complexity of the entire system, the stuff they can see. All those wires and boxes are what's got them puzzled and I don't elaborate on the complexity of the programming and give them something else to worry about.
It may be selfish but If I'm dead they're on there own. Ok I don't really think that way but I'm small time resi and maybe if I had more of a coporate structure I'd think escrow accounts and the like. Who knows maybe some day I'll get that professional but right now I'm happy if I can get 6 hours of sleep a night.
DHawthorne wrote: Well that descibes me to a "T". I'm getting better though.
a-riot42 If Microsoft was contracted by the gov to ceate a custom application/program I'm sure they would require the source. But just cuz the gov uses Windows OS of course not. That's an entirely different ball of wax.
You can't possibly be serious about that. Do you think the gov't owns the voting machine code for instance?
Paul
In regard to the voting machine comment I believe the goverment did require the source code in order to perform independant 3rd party verification of integrity.
I would love to see proof of that, as it contradicts the information I have. The voting machines and code are so easy to hack and corrupt that it is impossible to think any verification was done at all. The gov't could access the source code, but not because they were given it, but because the voting machine code was leaked to the internet....twice.
http://citp.princeton.edu/pub/ts06full.pdf
You need to read the article I posted.
So if .tko file are placed in your workspace there is no way to extract and re-use .tko included modules is there? Or is there? It's only if you sell/give and send a .tko file to someone that you don't want to be re-used does hard coding use to a their master comes into play.
If there isn't and the system uses a substantial amount of .tko modules and the customer or our potential replacement is given access to the source file on the master the code is pretty much worthless since they can't be used in any manner and resent to the master since the .tko files aren't available. Is this correct?
Turn down good money because you don't want to give the customer the code? Guess it's your business.
Do you think that there's a thriving black market in ripped off Netlinx code or something? We're not talking about the secrets to the atom bomb here.
We do work for various government entities: state, local, and federal, colleges, universities, etc. We're asked to provide the code quite frequently. It's typically part of the contract.
If the customer wanted to pay for the IP then we might consider selling it, but not hand over IP for the price of a license to use. We have some code that contains trade secrets, so it would actually be against the law for a programmer to give it to a client.
Paul
Well, I'll leave the legality of releasing Netlinx code with trade secrets (!) to you lawyers. I just program the damned things and do what I'm told. Oh, I also cash my checks.
We might tell here various examples of code release pro and contra from our experience... But, finally what the law is saying about that? I suppose this is the basis for all further discussion (the law might though be different from country to country).
Anyone has obtained the info from lawyers and would like to share his opinion on that?
Offtop: MS does release code to the govt.
I have to throw some more light (or fuel) on this. The university I work for stipulates in each contract that the university will own all code, software configs, etc. Not only do we require all of the code, it is to be in uncompiled, modifiable form. This means that since AMX writes modules and compiles the COMM portions, they cannot be used. This was our defense for people using them improperly and walking away from the job blaming it on someone else. That being said there are some exceptions to the rule, most of which are RMS related.
Look at it from the perspective of a university where you have rooms spred all over campus. A DVD player goes down in one of these rooms and is replaced with a different player (change in equipment standards). Do we call the programmer back in to change it? No. We change it and save a ton of money. If we allowed the AV companies IP rights on all of the code, we would be forced to get rid of just about all of our AMX stuff and stick with Extron Media Links in 95% of our rooms. We are already in the midst of changing them over as we refresh rooms during our summer projects. To honor IP rights to any one of the many AV contractors that do business with the university, would be the equivalent of us committing financial suicide.
The commercial AV company I used to work for never played the IP game. Everyone always knew that the client got all of the files, after they paid in full of course. I have never thought of the code I wrote for customers was ever anyones but the paying client.