Freelancers: How do you cope with that?
-
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
-
That would be it: I'm the owner of the code that was done before the project. They have a license to use it in any circumstance.
www.robotecnik.com[^] - robots, CNC and PLC programming
not just a "license", but a "free, perpetual, transferable" license - it never expires, never attracts an additional fee, and can be transferred to a new owner if the company is taken over. That last bit's important! Without it, software the company relies on might not be available to any new owner of the company, resulting in expense and potentially significant downtime. That in turn drastically reduces the company's value, so your client will need to see this sort of clause (if they have a half-decent lawyer!)
-
Yes, that would be easy if the code is linked into a library... But when you program robots or PLC's usually you can't do this as the code must be copied into the project as is...
www.robotecnik.com[^] - robots, CNC and PLC programming
I wouldn't take the term "library" too literally. You have an existing range of code "snippets" that you have either developed yourself or taken from the public domain, that's your library. Some of the "library" may even just be in your head, like how to open a file. But software development is about how you put those pieces together to achieve a specific result. If you try and get into much more detail than that, you can argue that the word "public" has been take from prior copyrighted works; ultimately, someone could copyright the values 1 and 0 and we'd all be stuffed. I come across this issue quite frequently. At one stage I'd developed a market-specific application for a client, and staff members from that company left and started up (several different) competing companies and all came to me asking to write them the same application. Once non-competition clauses in my original contract expired I was able to provide very similar applications quite quickly because they were composed of basic generic building blocks that I use in virtually all my apps (a framework, effectively) - things like error logging, data access, configuration options; but also stuff like postcode validation/formatting, google address validation etc. I already had the domain "knowledge" so bolting these together was relatively simple. At times I couldn't quite remember how to do certain stuff so I might refer back to other code I'd written, but wouldn't say I "copied" it as such. At one stage I also translated the code from one .Net language to another, which was a trivial process but resulted in different source code. If concerned about legal redress, you might want to refer to the process you're undertaking as "building" an application, rather than "developing" it. The size of your building blocks varies, and some might be used elsewhere; but you're putting them together in a unique, bespoke way for this client to achieve their specific goals. (See Playing all the right notes[^])
-
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
I'm not a freelancer, nor do I understand the robotics angle, so huge chunk of salt here... Discuss with client, getting them to understand that you create/reuse libraries for common operations like logging (for example). Those things are not custom, thus not proprietary to their project, and they cannot have the source. Once that meeting is over and you've established an understanding, consider whether the client is worth it. Remember that it's o.k. to turn down business for a number of reasons, the client being too much of a PITA is one. Good luck!
-
F-ES Sitecore wrote:
you won't use the same code elsewhere
Is what they mean...
www.robotecnik.com[^] - robots, CNC and PLC programming
A problem, If you want the job, ( I'm still "oozing" from one I took a while ago. ) try to explain the problem to them. - For me, something related would start with the prints for a job ( that started with prints for a job ) and code for a job ... You have "inherited" knowledge from past jobs, that's why you have value to them. It is possible to build something for them while NOT copying any or your old files. But not possible to not use your old experience. I can see trying to declare "this section is yours alone, I create it for this job, I don't take it away" but even that is tricky, you may hold the files separate, but they are still in your head. If they can't understand the problem, and help with a solution, maybe you don't need the trouble. ( like I said, "oozing". ) Good luck, dave
-
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
Personally, I would move on to another client. My old contracts stated that the client's intellectual property belonged to them and the consultant's intellectual property belonged to the consultant. When I would not provide the software, the attorneys argued over what this meant. My attorney, of course said the source code belonged to me. We settled, but they never got the source code. The next time this came up, I was clear with the client what the IP clause meant. I explained that they would have the right to sell the end product and I would be available to customize the software for their needs under a separate contract. They tried to sell the software, but the prospective buyer demanded the source code, so my client sued me. I hired an IP attorney to handle the situation, but costs mounted. It was looking like it would cost me $40K to settle the case in mediation, so I took another friend's advice: He had been in a similar situation and when he made the final payment on his $50K attorney fees, his attorney told him that he should have just walked away. This is what I did. They didn't get the source code and the next year they filed for bankruptcy. The last situation was a lot easier to resolve. I provided the client a contract that specifically said they would not get the source code. They thought that they were smarter than me, so they didn't sign the contract. At the end of the project, they owed me a couple thousand dollars, but demanded that I provide the source code before they would make the final payment. I suggested that they contact an attorney. In case you don't know it, the contractor owns the source code unless the right is specifically stated in a contract (if you are an employee, the source code belongs to the company). Their attorney advised them to pay or I would own their company. They paid up with no attorney cost for me. Easy-peasy! Never saw the client again. Everything I developed was on my own equipment using commercial software, which I paid for. If the clients had gotten the source code, it would have been useless for them because they didn't have any of the commercial software packages. Again, I recommend walking away from the contract. If you need to talk to an attorney, you need an Intellectual Property (IP) Attorney. Mike
-
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
You could place a copyright notice in the header of any pre-existing code files that you plan to use, and provide a license file pertaining to that code. Perhaps you could persuade them to accept something licensed under The MIT License[^] Handling code snippets might be tricky, but if they are trivial, you could just rewrite them slightly for this customer. This Stack Exchange post may be helpful: copyright - How does fair use apply to code snippets? - Software Engineering Stack Exchange[^] Caveat: I am not a lawyer, but this is the type of approach I would use.
-
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
Could you grant the customer an appropriate non-exclusive licence to the code? One that satisfies their desire to have a copy of the source that they can keep and modify, but they are not the sole owners of that code? Probably most important to you is that you don't want them to be able to restrict you from using it elsewhere, even on a competitor's project. That's the same kind of license they'd be getting from any open source code you used in their project. If you're developing the code you're claiming ownership of at the same time as working on their project, then you might have difficulty proving you didn't charge them for developing that code, thereby making them the owner of it instead of you. So don't do that.
I live in Oregon, and I'm an engineer.
-
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
1. Explain that there are some code sections in the form of existing source code which are *already part of your own IP* and therefore you are unwilling to allow the customer to "own" these. However you are willing to provide a free license for the customer to use and redistribute said functions as part of the final binary. Or let them take the code and develop based on it freely without owing you anything else. 1a. Side-option here is to very quickly open-source that code, now the customer literally cannot own it, downside is, neither do you. But at least it's pretty easy to explain - "some parts of this code cannot comply with the contract as they are open-sourced under the 'Do whatever you want' license" If you are OK with that then this probably a good option as it forces the customer to compromise on the contract text. 2. If #1/1a doesn't fly and the customer refuses to modify the agreement - then your price just went up by a factor of 10-50. I'm not joking - the customer is essentially asking you to hand over something that is *already your IP*, and for that they need to pay, since you could get into legal issues later on if you ever re-use that code so you must be compensated for the loss of that IP. If a client refused to budge on this I'd fire them, I know that might not be an option for you but I would encourage you to dig your heels in a little bit on this. Chances are this is not the customer trying to own all your stuff out of greed, just a case of a standard contract where the customer wants to make sure you don't screw them later on by claiming ownership of the final codebase in its entirety, of do a bait and switch by forcing them to "licen$e these functions I own" later on.
-
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
-
1. Explain that there are some code sections in the form of existing source code which are *already part of your own IP* and therefore you are unwilling to allow the customer to "own" these. However you are willing to provide a free license for the customer to use and redistribute said functions as part of the final binary. Or let them take the code and develop based on it freely without owing you anything else. 1a. Side-option here is to very quickly open-source that code, now the customer literally cannot own it, downside is, neither do you. But at least it's pretty easy to explain - "some parts of this code cannot comply with the contract as they are open-sourced under the 'Do whatever you want' license" If you are OK with that then this probably a good option as it forces the customer to compromise on the contract text. 2. If #1/1a doesn't fly and the customer refuses to modify the agreement - then your price just went up by a factor of 10-50. I'm not joking - the customer is essentially asking you to hand over something that is *already your IP*, and for that they need to pay, since you could get into legal issues later on if you ever re-use that code so you must be compensated for the loss of that IP. If a client refused to budge on this I'd fire them, I know that might not be an option for you but I would encourage you to dig your heels in a little bit on this. Chances are this is not the customer trying to own all your stuff out of greed, just a case of a standard contract where the customer wants to make sure you don't screw them later on by claiming ownership of the final codebase in its entirety, of do a bait and switch by forcing them to "licen$e these functions I own" later on.
Member 10346655 wrote:
Side-option here is to very quickly open-source that code, now the customer literally cannot own it, downside is, neither do you
Open sourcing doesn't affect ownership. At least in the US, the copyright holder owns the code and distributes the code with a license. The license states what is required to use or extend the software. Most open source software uses one of a few well-known licenses such as the GPL, LGPL, MIT, BSD, or Apache.
-
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
Joan M wrote:
- The customer wants you to sign down a confidentiality contract in which it states that the source code is customer's property.
Confidentiality is not ownership. Things that you explicitelly develope for them, OK. Snippets that you own before working for them, should not be affected. Things that are everyday functions is just not possible... they don't own "hello world", "foo", "boo", the .Net Framework or the windows API.
M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.
-
Joan M wrote:
- The customer wants you to sign down a confidentiality contract in which it states that the source code is customer's property.
Confidentiality is not ownership. Things that you explicitelly develope for them, OK. Snippets that you own before working for them, should not be affected. Things that are everyday functions is just not possible... they don't own "hello world", "foo", "boo", the .Net Framework or the windows API.
M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.
-
yes... those should be 2 separate documents, but their lawyer made a strange mix there... ^^¡ and I'm not worried about confidentiality... but for being able to reuse code in the future...
www.robotecnik.com[^] - robots, CNC and PLC programming
Joan M wrote:
but for being able to reuse code in the future...
As others said... Before pasting your functions to their project... CTRL+H (find and replace) and use var1, var2 and so on... ;P :laugh:
M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.
-
Joan M wrote:
but for being able to reuse code in the future...
As others said... Before pasting your functions to their project... CTRL+H (find and replace) and use var1, var2 and so on... ;P :laugh:
M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.