|
"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.
|
|
|
|
|
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?
|
|
|
|
|
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...
|
|
|
|
|
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 internationally.
#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
|
|
|
|
|
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[^])
modified 10-Jan-20 5:25am.
|
|
|
|
|
You'd probably need to clarify what they mean by "property". Giving someone the source files and agreements that the code was written uniquely for them, or that you won't use the same code elsewhere are different things.
|
|
|
|
|
F-ES Sitecore wrote: you won't use the same code elsewhere
Is what they mean...
|
|
|
|
|
If that's what they want then it doesn't seem like a tenable contract. If you operate within certain industries you have to respect and understand the basics of how things work, and the fact that you might include libraries etc that don't belong to you is surely the norm in almost all software development.
|
|
|
|
|
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
|
|
|
|
|
I don't think there is a problem with you re-using code, unless it is very specific and unique to that one customer. Which is probably more to do with overall end product of features, rather than the lines of code that come together to make said feature.
Imagine if you used a simple console output, such as:
Console.Write("hello");
Would that mean you can never use that again in another project? Of course not, they can't stop you using that. So what makes a 'block of code' any different? It's your intellectual property.
From the legal side of things it would really have to come down to exactly what is written in the contract, but keep in mind that just because something is written in a signed contract, it doesn't mean that it is automatically enforceable by law.
Personally I would just use common sense here. Imagine if you are the company and you found out that a particular 'bit of code' had been reused. Would you be overly bothered about that particular 'bit of code'? If yes, then perhaps the code is unique enough that you can't reuse it. But mostly I think the answer will be no.
Plus, unless you are copying some UI elements, it's pretty hard to prove code reuse.
|
|
|
|
|
musefan wrote: I don't think there is a problem with you re-using code, unless it is very specific and unique to that one customer.
Exactly.
It's much easier to enjoy the favor of both friend and foe, and not give a damn who's who. -- Lon Milo DuQuette
|
|
|
|
|
musefan wrote: Imagine if you used a simple console output, such as:
Console.Write("hello");
Would that mean you can never use that again in another project? Of course not, they can't stop you using that. So what makes a 'block of code' any different? It's your intellectual property. The question is how far does the above (sensible) example go?
Let's consider a painting. They put blue paint on a brush and rubbed it off on the canvas. Done before (prior art in patent terms) and cannot be held hostage. On the other hand, if you keep taking and smearing paint on canvas - at some point are you copying an existing work? Somewhere in that spectrum from a single brush stroke to a an art forgery is that boundary.
Neither can one demand exclusivity (patent, copyright) on something in public use for at least one year (in US) - so, even if there is no patent on the Beer Stein Lid, you cannot patent it yourself.
I do like the suggestion that if they don't want you to use existing (and thus not proprietary fro them) modules than they have to pay for you to re-develop it as legally unique for them.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
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 Twain
|
|
|
|
|
Well, 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)
|
|
|
|
|
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).
|
|
|
|
|
Sander Rossel wrote: 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).
Exactly.
It's much easier to enjoy the favor of both friend and foe, and not give a damn who's who. -- Lon Milo DuQuette
|
|
|
|
|
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?
|
|
|
|
|
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
|
|
|
|
|
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.
|
|
|
|
|
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!)
|
|
|
|
|
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...
|
|
|
|
|
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
|
|
|
|
|
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
|
|
|
|