How Can a Freelance Coder Retain Intellectual Property Rights to Code
As a new-to-independent-contracting coder, I'm interested in the best way to protect my ability to continue programming in my field.
I want to be clear, this question isn't just about the best way to maintain my copyright on a code...but information about what forms of coding contracts (I.e. work-for-hire) could lead to problems.
This is my point of concern: I'm a very niche contractor. I work almost exclusively in Python, and code almost exclusively biomedical models. There are only so many idioms and frameworks that can be used in modeling. If someone hires me to do an enzyme-on-a-platform model, it would be nearly impossible for me to code a second model for another client (even if using a completely different enzyme in different solution) WITHOUT reusing or re-creating from scratch identical or nearly identical code.
I have however discovered that entrepreneur companies (more than half my clients) won't accept the "perpetual and irrevocable licensing" I offer. They insist upon ownership of the code or a work-for-hire style agreement.
My fear (based on horror stories) is that I can code myself out of a career - inasmuch as people owning the code for the above model means I could (in theory) never do another such model again without fear of being sued for reusing or re-creating code I don't own.
I'm interested in advice, links and experiences as to whether this is a concern or a "boogieman" and what other people have found to be the best approach.
Thanks!
Mike
Re: Truth or Fiction: Freelancer Pitfalls. Can I Code Myself Out of a Career
One thought I have is to write code modules or DLLs that can be used in the master program. These modules you protect with copyright. Then you can give ownership of the program to the client. Your contract would have to point out that some copyright material is contained in the program but they own all specific-to-the-application software.
Re: Truth or Fiction: Freelancer Pitfalls. Can I Code Myself Out of a Career
I have been in the software industry for over 30 years on both sides (both as a contract programmer and also being the VP of a software publisher).
If I'm purchasing software that's been written (or that I'm paying only a part of the effort to write), then I'll take licensing consistent with the rights I need for the product it is going into. If I'm paying for the software to be written, you can damn well bet I'm going to insist on full and probably exclusive rights, either through a work-for-hire or an full assignment of rights.
What you have to realize is that your customer is the one who will ultimately call the shots. I do not believe that your python code is so precious that you can't part with the rights when you are doing essentially work for hire.
Re: Truth or Fiction: Freelancer Pitfalls. Can I Code Myself Out of a Career
Quote:
Quoting
flyingron
I have been in the software industry for over 30 years on both sides (both as a contract programmer and also being the VP of a software publisher).
If I'm purchasing software that's been written (or that I'm paying only a part of the effort to write), then I'll take licensing consistent with the rights I need for the product it is going into. If I'm paying for the software to be written, you can damn well bet I'm going to insist on full and probably exclusive rights, either through a work-for-hire or an full assignment of rights.
What you have to realize is that your customer is the one who will ultimately call the shots. I do not believe that your python code is so precious that you can't part with the rights when you are doing essentially work for hire.
Hi FlyingRon. Thanks for your response. Actually, your insights might be particularly valuable having been on the Software Publisher side.
The issue is not that my Python code is "so valuable"...it's about where the line falls as to how much of the actual code I can re-use.
Look at the example of the enzymatic reaction. In analogy: At what point is designing a Dodge Ram different enough from a Ford F-150 that Dodge can't claim they own the design for the Ford simply because they are both trucks?
As a software publisher, how similar does the code have to be between your Calculator and someone else's calculator (written by the same contractor) before you claim a copyright infringement?
Bear in mind that: the the common functions of a calculator are incredibly well defined however (even though its obvious to me) the fact that all surface enzyme models are90% common it may not be so obvious to the client. Avoiding the lawsuit (even if I would win) is the goal.
In its simplest form: If you hire me to write a calculator, what's to stop you from preventing me from ever writing another calculator for another client again?
Thanks!
Re: Truth or Fiction: Freelancer Pitfalls. Can I Code Myself Out of a Career
Your analogy makes no sense. We're not talking about similarity between code, we're talking about selling the same code to multiple people and who owns that code and controls where it can be copied to.
You start off asking about copyrights and now you're asking about whether you can recode something for someone else.
Different subject.
Re: Truth or Fiction: Freelancer Pitfalls. Can I Code Myself Out of a Career
Quote:
Quoting
flyingron
Your analogy makes no sense. We're not talking about similarity between code, we're talking about selling the same code to multiple people and who owns that code and controls where it can be copied to.
You start off asking about copyrights and now you're asking about whether you can recode something for someone else.
Different subject.
I think that he IS talking about similarity between codes. I think that he is just using wording that doesn't make that as clear as it should.
Re: Truth or Fiction: Freelancer Pitfalls. Can I Code Myself Out of a Career
I apologize for being confusing in the question. I meant to say (in the question) that this WASN'T an issue about copyrights.
What are your thoughts on the questions in my last post...since those were my intent to ask.
How do I protect myself from never being able to write another "calculator" ...and (more specifically if I use BudWad's (excellent) suggestion...how do I find the line (in the clients eyes) between common code (like the code to model ANY enzymatic reaction) and THEIR SPECIFIC enzymatic reaction. To me it's obvious. To the client it may not be so obvious. This is especially a concern when I'm writing a module that would be common to any reaction (and thus need to be reusable), but I haven't written it yet.
- - - Updated - - -
P.S To whomever changed the title...can we change it to something else? This is NOT about protecting IP rights (I think that was clear) ...its about protecting code re-usability.
- - - Updated - - -
Quote:
Quoting
budwad
One thought I have is to write code modules or DLLs that can be used in the master program. These modules you protect with copyright. Then you can give ownership of the program to the client. Your contract would have to point out that some copyright material is contained in the program but they own all specific-to-the-application software.
- - - Updated - - -
So this is a brilliant solution that was right in front of my face.
The question now becomes: how to define the modules that are "framework" from those that are specific to the client's project (using copyright and licensing legalese).
A compounding factor is: I haven't written every conceivable computational biology core module yet. many of them won't be written until I have a need for them...and I won't have a need for them until I'm writing specific code for someone else.
So how do I designate the code I haven't written yet that would be part of a re-usable framework (owned by me), and code that would be specific to a project (owned by them).
I'm presuming the framework code would be done off their clock.
Again, this question is less about pragmatics and more about the actual legal wording and descriptions to use in the copyright and licensing information. Links to sites with good legalese strongly welcomed :)
Re: Truth or Fiction: Freelancer Pitfalls. Can I Code Myself Out of a Career
Hey friend, you are the programmer not me. My programming days ended somewhere around Fortran. But from your original post, it appears that there are certain operations that are common to all the programs you write. Those would be the ones that you copyright as modules or DLLs. Then your program calls them up when needed and returns a value to the master program.
Isn't that basic programing?
Start thinking about sub-routines and as you development them you can copyright them. It doesn't mean that you have to thing about every possibility now. Develop as you go.
Your client can own the software you produce but they can't use your sub-routines in other products.
Re: Truth or Fiction: Freelancer Pitfalls. Can I Code Myself Out of a Career
Quote:
Quoting
budwad
Hey friend, you are the programmer not me. My programming days ended somewhere around Fortran. But from your original post, it appears that there are certain operations that are common to all the programs you write. Those would be the ones that you copyright as modules or DLLs. Then your program calls them up when needed and returns a value to the master program.
Isn't that basic programing?
Start thinking about sub-routines and as you development them you can copyright them. It doesn't mean that you have to thing about every possibility now. Develop as you go.
Your client can own the software you produce but they can't use your sub-routines in other products.
Actually, you're quite on the money. For your (and anyone else who finds this thread)'s edification here's an exceptional article describing just the separation you're talking about. And, yes, your suggestion was a bit of a duh face-palm for me. I thinnk I've had my head buried in code too many hours.
http://www.michbar.org/journal/pdf/pdf4article2071.pdf
- - - Updated - - -
P.S I still wouldn't mind if someone could change the title back to the original...or at least to one that's accurate for what the question's asking as I would still value input and...well... "How Can a Freelance Coder Retain Intellectual Property Rights to Code" ain't it ;-)
Thanks!