Code copyright and freelancers
July 10, 2009 8:12 AM   Subscribe

As a freelance programmer, how do you handle code copyright?

That is, do you keep copyright to your code and license it, or transfer copyright? If you transfer it, how do you handle doing similar projects for different clients? Do you ever worry that part of your work for one client could end up being too similar to your work for another (to which they now own the copyright) even if you rewrite from scratch? Do you have a 'standard library' of original code that you use on more than one project, or rewrite each time?

(Yeah, YANL.)
posted by pengale to Work & Money (5 answers total) 9 users marked this as a favorite
 
Best answer: I always make it clear to my clients that I retain copyright to the source. The application(s) I build are the property of the client and it varies on a contract-to-contract basis as to whether they have the rights to re-sell or licence the finished product. These days, I hardly ever write anything from scratch and have built a large library that I re-use on a regular basis.
posted by HarrysDad at 8:24 AM on July 10, 2009


Best answer: Your contract should stipulate whether you are doing Work For Hire or not. It's a fairly clear legal principle.

I've been on both sides of this fence and for web applications (and the designs) when hiring outside firms I always insisted on the application being WFH. For something like a desktop app maybe not.

Where WFH gets tricky is with code components that you wish to reuse. Your best bet is to wrap these components in an included library and make sure your contract stipulates that you will be bringing some pre-built components to the table that you will continue to own.
posted by bitdamaged at 9:15 AM on July 10, 2009 [1 favorite]


Best answer: I tell my clients I won't resell the same product to other customers. I do tend to use some of my same codebase from time to time, but I tend to make specific enough products for people that I don't usually have requests for two of the same thing anyways. The work I do tends to be informal enough that there are no written contracts, just communication by email and payment by PayPal, so I tend to handle copyright the same way. I have had a number of customers ask to resell the product I made for them, and that's not something I usually consent to. Due again to the informality of the whole thing, I don't really have a way to track them down and see if they're actually reselling it, but I'm okay with that. To answer your question directly, though--no, I always retain my own rights to the code, though I'm perfectly fine with them modifying it further to their own needs.

I'm a bit afraid this casual approach to my code's copyright might come back to hurt me one day, but so far it hasn't seemed worth taking the time to do anything serious about it.
posted by jgunsch at 9:22 AM on July 10, 2009


Best answer: From the client side, I always insist that copyright in the application and the code be assigned to me, but I write terms into the contract that permit the contractor to re-use code so long as it doesn't substantially duplicate the functionality of the application. I've never had anyone try to screw me or say they felt screwed by this compromise. I usually include something permitting re-use for portfolio purposes too, unless the contractor indicates that s/he doesn't care.

The reason is that I don't want to have to worry about anything being encumbered if I need to copy, maintain, alter, or re-factor it. I want to be able to pop the hood without worrying about infringing someone's residual rights in the code.
posted by hayvac at 9:34 AM on July 10, 2009


Best answer: It depends from client to client. I prefer to retain all rights to delivered work, and my standard contract grants my client a "nonexclusive, perpetual, transferable, royalty-free license to use and/or derive other products from the delivered work(s)". Most legal departments redline this immediately... but some clients don't care or notice.

Most of my clients would prefer that anything I do be treated as a "work for hire", which has a specific definition, but essentially means that they own the intellectual property rights to anything I deliver, except for things that I don't own (i.e. if I use a LGPL'ed library, I can't transfer ownership of the library). My contracts are carefully worded to note that WFH treatment doesn't kick in until the work is DELIVERED and accepted (so undelivered work is still mine). The work that I do (as a freelancer) would not automatically fall under the WFH definition unless we agreed to that treatment in the contract.

In general, I don't reuse code from client-to-client. I have released (BSD-licensed) code, and then turned around and used it for clients, but that code was not written on their dime... and it was released as f/oss before it was "delivered" to the client.

As for one client's work being too similar to another's, that's not a concern that I have ever had. You can't copyright an idea or a technique, only an implementation. If I (re)write code from scratch, I have produced a new work, even if it's very similar to work that I've done in the past. I live and do most of my work in a state where non-compete contracts are completely unenforceable, so as long as I'm not copying code, I'm OK. (Besides, the reason you hired me is because I've been doing this sort of work for some time... you're paying for my experience with other firms, and future clients will be paying for my experience with yours).

[IANAL, I'm a freelance IT guy. I do write (and/or modify existing) code, but it is almost universally code that is run internally by other IT people to keep large networks happy. I do not write desktop applications that are resold to customers/end users. ]
posted by toxic at 9:45 AM on July 10, 2009 [1 favorite]


« Older Are there any other RTS games out there with an...   |   Berry Baked Goods Newer »
This thread is closed to new comments.