Freelancers: How do you cope with that?
-
They can have the compiled program. Just put a high enough price tag on the source code. Seriously, I couldn't give a flying hoot. How will they EVER be able to prove you have used the same code in a program for another client?
Anything that is unrelated to elephants is irrelephant
Anonymous
-----
The problem with quotes on the internet is that you can never tell if they're genuine
Winston Churchill, 1944
-----
Never argue with a fool. Onlookers may not be able to tell the difference.
Mark TwainWell, let's take an extreme example. Someone who worked for Google now works for Bing and Bing suddenly becomes a decent search engine that just so happens to show the exact same results as Google... ;) I agree it'll be hard to impossible to discover, let alone prove, that code is intentionally duplicated. I would copy and paste generic bits of code if they didn't have any specific customer logic in it. That said, I consider it professional courtesy to not sell a customer's secrets or processes to other customers (whether I've signed a contract or not) ;)
Best, Sander sanderrossel.com Migrating Applications to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly
-
Pixelfish wrote:
So talk to the client. Let them know you have these functions and code snippets that you've used prior and plan to use in the future. That will help clear up the root issue they're trying to protect against.
Although I don't disagree with what you have said, I just want to make a point that you should be careful what you talk to a client about. If this client is paranoid (maybe they have been burnt before) then this could get their tails up and cause more problems than it's worth. This is even more so if the client is 'uneducated' in the world of programming - it might be nigh impossible to convince them that code by nature will always be 'similar', and they could easily just assume you are trying to scam them. Maybe even enough for them to decide to cut their loses and find someone else.
"This code helps me develop faster, and therefore more cost effectively" "I can do it without it, but the project will cost more and require more testing"
hack everything.
-
Hi all, - Customer asks you to make a program. - To do that program you may need functions, code snippets... that you already created time ago. - The customer wants you to sign down a confidentiality contract in which it states that the source code is customer's property. - The problem with this is that you must sign down the confidentiality contract before starting working: you make the program design afterwards so you don't know what you will reuse at the end. - Working in the industrial sector programming, libraries usually are not encrypted/linked therefore it's not possible to specify that all the code in certain library or file is left out of the contract, and in some systems you can't separate the code in files as you'd like... - I can't give the source code at the end as some of my customers ask me to store the repositories in their servers so the code is directly there since the beginning. I need to get legal advice but the lawyers I've contacted doesn't understand a thing about my questions... Have you solved this kind of situation? And if you have... How? Thank you all! :beeR:
www.robotecnik.com[^] - robots, CNC and PLC programming
Here also an interesting read: intellectual property - If you transfer all IP rights to client, can you still reuse parts of source code? - Law Stack Exchange[^] To be pragmatical: - You are not allowed to reuse. - There is no way to change this. - If limited to generic concept (string handling lists, parsers, file handlers, ... ), I doubt anything is ever going to happen if you reuse it despite above statements. - The limit is your own ethic. To reuse examples stated above, if I worked for Google on the PageRank algorithm, and after being hired by microsoft Bing starts to act as a real search engine because of me reusing source code, I would say the red line has been crossed. If I reuse a hex to decimal string converter, it is illegal, but I have no problem with it, and most probably nothing is going to happen anyway.
-
Here also an interesting read: intellectual property - If you transfer all IP rights to client, can you still reuse parts of source code? - Law Stack Exchange[^] To be pragmatical: - You are not allowed to reuse. - There is no way to change this. - If limited to generic concept (string handling lists, parsers, file handlers, ... ), I doubt anything is ever going to happen if you reuse it despite above statements. - The limit is your own ethic. To reuse examples stated above, if I worked for Google on the PageRank algorithm, and after being hired by microsoft Bing starts to act as a real search engine because of me reusing source code, I would say the red line has been crossed. If I reuse a hex to decimal string converter, it is illegal, but I have no problem with it, and most probably nothing is going to happen anyway.
I have portions of code that I reuse all the time in other projects (including freelance commercial work), and I am ethically not obligated to sign over this code because I package it as a library on GitHub with an MIT license (which anyone can then also use, too), and then use it in my other work from that source. If the client has any issues with this, all they need to do is review the code and they will see that it is sourced appropriately, and the MIT license is open enough that it won't interfere with any other license they want to slap on it.
-
Hi all, - Customer asks you to make a program. - To do that program you may need functions, code snippets... that you already created time ago. - The customer wants you to sign down a confidentiality contract in which it states that the source code is customer's property. - The problem with this is that you must sign down the confidentiality contract before starting working: you make the program design afterwards so you don't know what you will reuse at the end. - Working in the industrial sector programming, libraries usually are not encrypted/linked therefore it's not possible to specify that all the code in certain library or file is left out of the contract, and in some systems you can't separate the code in files as you'd like... - I can't give the source code at the end as some of my customers ask me to store the repositories in their servers so the code is directly there since the beginning. I need to get legal advice but the lawyers I've contacted doesn't understand a thing about my questions... Have you solved this kind of situation? And if you have... How? Thank you all! :beeR:
www.robotecnik.com[^] - robots, CNC and PLC programming
The problem exists in Permanent employment as well. I had a contract that changed wording to (something like) 'all inventions, writings, creations etc done during the time that you are employed by the company become the property of the company'. I challenged by progressively weakening their responses. I queried if that meant that if I made a rocking horse (a creation) on a weekend whether they owned it (it was not a creation relevant to their business and whilst still employed by the company I was not 'on the clock'). Then challenged if ideas I've had for personal projects (by the previous response owned by me) could be used in their projects (they agreed that that was acceptable; otherwise I'd have to delete huge chunks of code written for them that included 'my' stuff). And then I asked about generic routines / utilities designed 'off the clock' but modified for their use 'on the clock'. At this stage, the management handed the problem to the Lawyers. Over a year later, I got a reply - read out over the phone and told that I would not see the written version. This, pragmatically, said they understood that you cannot carve up 'own' and 'company' work and they were happy for me to reuse anything that did not include company owned products or services and that I must remove any references to the company in the code (this was to remove any liability for them if anything untowards happen as a consequence someone using code that could be traced back to them). No, I cannot tell you who the company was (even though it does not exist any more). I suppose that I was fortunate. As a Freelancer, if you run as a limited company (or whatever the equivalent is where you live), then you work for yourself and you can make the same rules as they have. Namely, all code written as an employee of the company (you) belongs to the company (you). If they want access to your code, you can provide a perpetual one-off license for it at the cost equal to the cost of your contract with them. That means you get paid for it, they have the code, you have the copyright. (Actually, copyright has its own bonus. If you put a copyright for yourself in the code and they remove it then the code they have is not whatg you wrote for them and, if they get stroppy about it, you could bluff them for a breach of your copyright).
-
"This code helps me develop faster, and therefore more cost effectively" "I can do it without it, but the project will cost more and require more testing"
hack everything.
-
The source code you write is owned by the company, meaning you can't deploy that exact code or package at other customers. That doesn't mean you can't recreate (parts of) the code from memory. Of course it depends on the code. When you make some smart use of some code pattern, you can reuse that all you like (because that's literally your job). If your customer has some calculation they use to run their business, you can't use that for other customers (unless they use the same calculation, in which case you'll need to rewrite it from memory). Reusing what you know is called knowledge and experience and it's exactly why this customer is paying you and also why the next customer will be paying you. Just don't share anything that's specific to your current contract with others (which could also be specific code, but more often is about ideas, formulas and processes).
Best, Sander sanderrossel.com Migrating Applications to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly
And what about the code I already had before starting in the project but that I've used in the project? Who is the owner of that? How can I be sure I'll be able to reuse it as many times as I want without legal issues?
www.robotecnik.com[^] - robots, CNC and PLC programming
-
Here also an interesting read: intellectual property - If you transfer all IP rights to client, can you still reuse parts of source code? - Law Stack Exchange[^] To be pragmatical: - You are not allowed to reuse. - There is no way to change this. - If limited to generic concept (string handling lists, parsers, file handlers, ... ), I doubt anything is ever going to happen if you reuse it despite above statements. - The limit is your own ethic. To reuse examples stated above, if I worked for Google on the PageRank algorithm, and after being hired by microsoft Bing starts to act as a real search engine because of me reusing source code, I would say the red line has been crossed. If I reuse a hex to decimal string converter, it is illegal, but I have no problem with it, and most probably nothing is going to happen anyway.
SIEMENS make a drive, they offer some basic libraries to interact with it. I do a "class" to interact with that drive... Is that considered a "string handling list"? Or once I've done that for one customer I won't be able to control a SIEMENS drive anymore? The problem with ethic is that is not usable in a trial.
www.robotecnik.com[^] - robots, CNC and PLC programming
-
This is easily understood by the customer... but will it be understood by a judge if a contract says the opposite? and which would be the legal way to write that down in a contract?
www.robotecnik.com[^] - robots, CNC and PLC programming
If the contract is already in play, I don't know what say. This obv would only work if it was ironed out before anything was signed. Sorry, I don't know what to tell you. :(
hack everything.
-
If the contract is already in play, I don't know what say. This obv would only work if it was ironed out before anything was signed. Sorry, I don't know what to tell you. :(
hack everything.
-
Still not signed down... :) But I need to find the right way to write this stuff... Searching for software specialized lawyers in my area and I'm not lucky at all... :sigh:
www.robotecnik.com[^] - robots, CNC and PLC programming
I'm sorry to hear that. Best of luck to you. Maybe you can find one that could consult long distance. My hubby works with some immigration lawyers in seattle that way sometimes (he's one of the few people in the world that is a non-native mixtec speaker) Since it's mostly paperwork, it seems realistic, and it might widen your net when you search if you look nationally.
hack everything.
-
I'm sorry to hear that. Best of luck to you. Maybe you can find one that could consult long distance. My hubby works with some immigration lawyers in seattle that way sometimes (he's one of the few people in the world that is a non-native mixtec speaker) Since it's mostly paperwork, it seems realistic, and it might widen your net when you search if you look nationally.
hack everything.
Or in Joan's case _inter_nationally. :)
#SupportHeForShe Government can give you nothing but what it takes from somebody else. A government big enough to give you everything you want is big enough to take everything you've got, including your freedom.-Ezra Taft Benson You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
-
And what about the code I already had before starting in the project but that I've used in the project? Who is the owner of that? How can I be sure I'll be able to reuse it as many times as I want without legal issues?
www.robotecnik.com[^] - robots, CNC and PLC programming
Just specify in the contract what code that is and that you own it and you are giving them a free non-exclusive license to it, but that they don't own the code that you are bringing to the project that was written before the contract was signed.
#SupportHeForShe Government can give you nothing but what it takes from somebody else. A government big enough to give you everything you want is big enough to take everything you've got, including your freedom.-Ezra Taft Benson You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
-
SIEMENS make a drive, they offer some basic libraries to interact with it. I do a "class" to interact with that drive... Is that considered a "string handling list"? Or once I've done that for one customer I won't be able to control a SIEMENS drive anymore? The problem with ethic is that is not usable in a trial.
www.robotecnik.com[^] - robots, CNC and PLC programming
Joan M wrote:
The problem with ethic is that is not usable in a trial.
You missed my point : My statement was, as soon as you reuse, you are breaking the IP law. Even if you rewrite it from memory, it is illegal. This does not necessarily mean that you risk something in a trial, since there is the part where interpretation kicks in. In more situations than not, you do not risk anything. But under this assumption, it is up to you to choose where you set the border line for you, hence the ethic limit.
Joan M wrote:
once I've done that for one customer I won't be able to control a SIEMENS drive anymore
Yes you can, but not using the same code that the one you used for the first customer. Again, practically, this does not make sense, however, it is how IP works.
-
Joan M wrote:
The problem with ethic is that is not usable in a trial.
You missed my point : My statement was, as soon as you reuse, you are breaking the IP law. Even if you rewrite it from memory, it is illegal. This does not necessarily mean that you risk something in a trial, since there is the part where interpretation kicks in. In more situations than not, you do not risk anything. But under this assumption, it is up to you to choose where you set the border line for you, hence the ethic limit.
Joan M wrote:
once I've done that for one customer I won't be able to control a SIEMENS drive anymore
Yes you can, but not using the same code that the one you used for the first customer. Again, practically, this does not make sense, however, it is how IP works.
then the only REAL way to do it is: I'm the owner of it (IP). And I license the code to be used in all possible circumstances by my customer. Then I can reuse what is mine, and they also can.
www.robotecnik.com[^] - robots, CNC and PLC programming
-
Just specify in the contract what code that is and that you own it and you are giving them a free non-exclusive license to it, but that they don't own the code that you are bringing to the project that was written before the contract was signed.
#SupportHeForShe Government can give you nothing but what it takes from somebody else. A government big enough to give you everything you want is big enough to take everything you've got, including your freedom.-Ezra Taft Benson You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
-
Just specify in the contract what code that is and that you own it and you are giving them a free non-exclusive license to it, but that they don't own the code that you are bringing to the project that was written before the contract was signed.
#SupportHeForShe Government can give you nothing but what it takes from somebody else. A government big enough to give you everything you want is big enough to take everything you've got, including your freedom.-Ezra Taft Benson You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
-
The only problem is that when I sign down the contract, I still have not started working on the project, therefore I still don't know what I could reuse...
www.robotecnik.com[^] - robots, CNC and PLC programming
Just list it all. Not the source code itself, but module A, module B, library A, library B, or project A, project B... You could also list filenames containing the source code. You would state if the code doesn't appear in the final project, then they have no license to it, just if it's included in the final.
#SupportHeForShe Government can give you nothing but what it takes from somebody else. A government big enough to give you everything you want is big enough to take everything you've got, including your freedom.-Ezra Taft Benson You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
-
Hi all, - Customer asks you to make a program. - To do that program you may need functions, code snippets... that you already created time ago. - The customer wants you to sign down a confidentiality contract in which it states that the source code is customer's property. - The problem with this is that you must sign down the confidentiality contract before starting working: you make the program design afterwards so you don't know what you will reuse at the end. - Working in the industrial sector programming, libraries usually are not encrypted/linked therefore it's not possible to specify that all the code in certain library or file is left out of the contract, and in some systems you can't separate the code in files as you'd like... - I can't give the source code at the end as some of my customers ask me to store the repositories in their servers so the code is directly there since the beginning. I need to get legal advice but the lawyers I've contacted doesn't understand a thing about my questions... Have you solved this kind of situation? And if you have... How? Thank you all! :beeR:
www.robotecnik.com[^] - robots, CNC and PLC programming
Anything you wrote before the contract is fair game. They don't own it, they own the way you combined it to make what they wrote
-
The only problem is that when I sign down the contract, I still have not started working on the project, therefore I still don't know what I could reuse...
www.robotecnik.com[^] - robots, CNC and PLC programming
Joan M wrote:
therefore I still don't know what I could reuse
Therefore the contract is meaningless except to a lawyer (who will laugh with glee as they padd the account). I would go with that they have the ownership of the IP of the application you create for them but the code itself remains your property. Any industry specific IP they can identify and claim.
Never underestimate the power of human stupidity - RAH I'm old. I know stuff - JSOP