Why Paying For Code Doesn't Mean You Own It
Barence writes "Why do people think they own code just because they've paid for it? PC Pro's Kevin Partner says many of his clients believe that by paying for the work to be done, they take ownership of it. But, put simply, code is owned by its developer even once the client has paid, unless that developer is legally employed by the client or a contract exists that transfers full ownership (and even then it's far from clear-cut). He discusses the thorny issue of making clients understand that distinction and gives advice on how developers can assert their rights."
yeah, I am used to paying for an item, and software happens to be an item (especially when it is delivered on a CD)
In soviet Russia, God creates you!
If I buy a bible, I don’t own the original Lindisfarne Gospels
Yes, actually you do. At least where I live they are public domain. You might not own the particular translation or interpretation of said gospels but you do own the core concepts. All of us own them. They are a part of humanity whether it be good or bad. This is the most confusing analogy one could produce.
if I pay a plumber to fix my tap, I don’t ask him to leave his toolbox so I can fix it myself next time;
No, but if you bought a book on plumbing you might just fix it yourself next time. The results may vary but it's different from compiled code in that the person has no option to 'decompile' the code and go through it. You're right but the analogy has flaws. The plumber isn't producing a copyrighted work for you, he's performing a service. No goods are exchanged between you and the plumber like a software release.
if I buy Harry Potter and the Half Blood Prince on Blu-ray, I don’t own the movie but only a copy (whose usage is restricted by the terms of the licence); if I buy Microsoft Word, I own one copy of the compiled code, not the source.
This is it, it comes down to licensing and copyright. Why do you waste so much breath on this rant when it's a legal agreement between you and your customer that is based on commonly known and accepted copyright and licensing terms?
I will say that with the advent of the Agile Methodology in where I work, the customer is much more involved. We meet with them every two weeks. We constantly incorporate their ideas into their site or program through our own code. And at the end it's a mixture of ideas but we're still the ones that coded it. Between you and I, I'd love to give them the code. But that's the decision of the guy who runs my company, not mine. If you have switched from the previous models of "wait a long time and big bang release" to "constant customer input" then you may now be experiencing something natural--the customer feels they own the code. Because they were with you every step of the way from infantile code to adult production code. Just keep that in mind.
My work here is dung.
I subcontract to a company and on Monday morning I'm going to walk right in (actually send an email) and tell them that all that code I have developed for them over the last several years is actually mine and that if they want the source code then they need to pay me a $$$ more money.
I'll try to remember to keep my head high when I am kicked out of my home and am sitting starving on the side of the road!
In theory, practice is the same as theory. In practice, it differs.
I am Slashdot. Are you Slashdot as well?
Write a good contract and the issue is moot, for both parties.
---- Booth was a patriot ----
If someone pays you to perform work, they own all rights to that work. When I was married, we had a difficult time finding a photographer that agreed, and simply didn't do business with those that wanted to be paid for their work, and wanted to keep all rights to said photos for use in promotions and fees for reprints. I consider that a form of double jeopardy where I'm being forced to pay for something twice.
Software is no different. If you're being paid to perform a specific work, it's no different than if the person/organization paying you did the work themselves. You can't have both.
There's a practical presumption in law that if you pay for something and it is delivered, you own it. You have to have it in writing if you don't want to work that way. That, for instance, is why we have those obnoxious (and legally tenouous) "shrink-wrap" licenses. Because "licensing" is not the same as "owning." If licensing were the normal case in common law, you wouldn't need a "licensing" agreement.
It depends upon your local laws and your contract. In the U.S., the default laws tend to vary by state. The last time I checked with my attorney, he told me that here in NY, all work is considered to be work-for-hire unless specified in writing. This means that the source code is automatically the property of the client, unless I get a contract stating otherwise. Which I do sometimes, but not that often.
Things get stickier if you use other people's libraries or even open source software within your project.
I've found that it's easiest to avoid problems if you simply discuss it with your client beforehand, and be as transparent as possible in your methods and expectations.
I've had clients who think that they own the code simply because they paid for a website that uses one of our libraries. They buy the right to use the code.
When you buy software in a store or online you don't own the source code. Open source software may provide its source along with the executables but that doesn't mean you own it either.
When doing custom work we offer the client the option of full ownership at full price or 'shared' ownership for a reduced fee. With 'shared' ownership they can modify it at will but aren't allowed to ever resell it. We can't sell it to anyone who would be considered a competitor. I've yet to have someone opt for the full price/full ownership option.
You might ask why I didn't make a contract with this client in the first place. It's because I've found, over the years, that insisting on a contract before development starts will result either in a delayed start or even a project being shelved.
Not having a contract in place before you start does speed things up, but it's kind of like running a heavy industries company without insurance.
Why not have two general contracts drawn up in advance; one which points out that the client gets what is essentially first publishing rights, or whatever comes closest to emulating the copyright system, and another where you sell the code outright. Explain the difference up front and then pull out the pen. "Option A is cheap, but I can sell the same code to other clients and you can't change it, and Option B will cost you several orders of magnitude more, but it's all yours forever and you can do whatever you want with it. This is standard copyright practice. We can start work as soon as you sign!"
People like clear options and little check boxes, and this would avoid weeks of legal dickering. Yes, you may lose some work in the short term because people realize that you're not selling what they actually want for the price they can afford, but this way is more honest and your headaches will be fewer.
Just my opinion.
-FL
I deal with this frequently with sub-contractors (and firms) doing development.
It's actually very simple.
The understanding starts out as: This is a work-for-hire. All work product is property of the company.
Which eventually leads to a contract containing:
All source-code, build scripts, documentation, keys, any other materials required to use or reproduce the deliverable item are exclusive property and proprietary information of the company.
The contractor shall not release, reuse or redistribute any component of this work in any other business. This includes any custom libraries, headers or other application work-product.
This does not apply to off-the-shelf open-source tools and libraries, however such items shall be documented and approved in advance to avoid GPL contamination.
I don't see a problem here.
I expect to pay through the nose if i want exclusive rights and ownership to someone's special library, for exactly the reasons the article dictates.
Otherwise a non-exclusive source-code license that I may do with as I please is cheaper. A binary-only license might be cheaper still.
They devs have to make a living and if it wasn't cheaper/faster to use them in the first place I'd just write it myself.
Just try explaining these legal subtleties to someone who doesn't understand software.
First of all, client expects to be able to use and MODIFY code you've done for them, both physically and legally. Who owns the code - is the second question. They don't want to own your library - they just want THE LICENSE allowing them to see, modify and use that modified code. It is the same thing as open source, except that they don't get the right to redistribute your library.
Don't be a dick, just give them that license.
The arguments he's posing actually have merit - his main argument seems to be that if a customer buys something that he developed, they on occasion believe they own his self-written custom libraries - essentially his tools. The plumber analogy begins to make more sense at this point. They paid for the finished product and can do whatever they want with it (unless contractually obligated not to, but that's another can of worms) but they did NOT pay for the tools he used to develop it. Perhaps the best analogy would be to say that if a customer pays for software they should not expect to own the development platform which was used to create that software.
It is funny watching everyone on here discuss how ignorant all their users are for thinking they own the code simply for paying for it...and later today there will be a post discussing the RIAA and why they are an evil organization for trying to force their users who purchased their works to recognize that they don't now own that music.
"if I pay a plumber to fix my tap, I don’t ask him to leave his toolbox so I can fix it myself next time"
"You might ask why I didn’t make a contract with this client in the first place. It’s because I’ve found, over the years, that insisting on a contract before development starts will result either in a delayed start or even a project being shelved."
So, this developer doesn't disclose this to customers who aren't aware that they are screwed when the developer walks away? His tortured analogy of the plumber and his tools is only correct if the plumber is installing pipes, valves, etc. that are 100% proprietary to the plumber and can't be purchased anywhere else. The word slimy leaps to mind for his business ethics (and plumbing in general).
"Powers. I have them."
In California, at least, there's also some tricky sales tax issues to be aware of. If you hand that client a CD-ROM with the product, for them to keep, of your $100K worth of toil, you have made "a transfer of tangible personal property", and sales tax is due on the whole $100K. On the other hand, if you FTP it to their machine, it's just non-taxable services. Or, if they provide you with a blank CD-ROM and you burn your software onto it as a service.
This is why architects retain ownership of the drawings they produce, for instance.
But, put simply, code is owned by its developer even once the client has paid, unless that developer is legally employed by the client or a contract exists that transfers full ownership (and even then it's far from clear-cut).
Just a point of clarification: You can't write a contract that transfers ownership of a copyright that doesn't (yet) exist. Well, you can but it's unenforceable in the US. You can write a contract to the effect that you *will* transfer ownership of the code you build, but you still own the code until you sign a subsequent document transferring it.
Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
I've been coding for about 22 years. In that time, I've worked on proprietary code for customers and employers. customers usually understand that they are paying for the final product, not the inner workings to give them the final results. you can use the concept of building a house. they are paying for the house, not my workers, not my tools, not my materials. i do not leave a copy of my dev tools for the customers, nor will i leave them a copy of my proprietary code libraries which i employ regularly to make my coding job easier. if i write a a library which creates a unique object type and use this object in many of my projects, clients are not entitled to this code. although it helps make their final product work, the concept is the same. they are not paying for the code, just the finished product.
if a chef is hired to cook someone a special dish, they are paying for the finished dish, not the recipe.
I've done a significant amount of contract work over the years, "flying solo" so to speak. I've only once had a contention about copyrights, and since then, I've never done work where I don't own what I write!
My explanation goes something like this:
I have years of experience and have developed a standard set of tools that I use to solve different types of problems. I intend to use these tools to cut costs for you, and it's that time savings that makes me worth the money that I'm charging - I'll do a good job in a short time. But I'm writing the software for YOU, not for somebody else, and if I develop a new idea working on your code, I intend to use that same tool elsewhere. So I'll keep the copyrights, leaving me free to do my job elsewhere, and grant you a license letting you use the software as you see fit. You can do what you want to do, I can do what I want to do, and we can both be happy! I will grant you unlimited use license, including access to the sources, and I will make it transferrable - if you sell the business, it's no problem. The only right I won't grant is the right the resell the software, because I don't want to compete with myself!
This has never been a problem - when explained this way, nobody objects and everybody sees what I'm after.
I have no problem with your religion until you decide it's reason to deprive others of the truth.
Other posters have already said that legally it all depends on the license you work out with the customer, and they are correct.
Which is why we need to eliminate licensing and have two modes for work - either you work for someone else and they own what you produce or you work for yourself and others can come to you and buy copies from you. Then it's very simple and there's no needing to read 5,000 lines of legalese bullshit in order to try to find out who owns what.
As for the guy at hand being contracted to produce code, sorry, but if they come to him saying "Write X for us", then they own it because they paid for all of the development. If you write X own your own and then decide to sell copies of it, then you own it. However if someone else comes and pays for you to write X, they own it because they paid all the costs of producing it.
Also, does anyone else find it extremely absurd that only when it comes to software / digital content that people are allowed to sell you something and claim that they still own it? No other industry in the world would be allowed to get away with that bullshit. Sure, I understand distribution rights for a game / song / movie / software, but once you buy that copy, you OWN it.
"The tree of liberty must be refreshed from time to time with the blood of patriots and tyrants." ~Thomas Jefferson
Books don't have source code.
The "source code" for a book would be the author's imagination and creative ability. The publishing company most certainly doesn't own *that* after they buy the rights to a particular book.
In the software world, if I buy the rights to a program I'm buying the end result of a particular combination of code. I don't get the rights to the individual modules/libraries inside that code.
No sig today...
Here, are we to feel that the people who paid for the code don't own it and can't do what they want with it? Are developers acting the part of the MPAA now?
Lots of the responses are like "you own what you contractually purchased, according to said contract", which is cool 'cause that's what I think should be the case.
But the tone of the original post is Weird.