This is one of the reason consulting clients are paranoid about IP assignment clauses. I've signed MSAs where the language about the IP assignment was as long as all other contractual terms and the NDA combined.
That was historically one of the points of highest friction at my consultancy during contract negotiation, because every lawyer had a different idea of how to totally derisk the IP assignment for the client, many of which were not compatible with me signing them and then continuing to run a consultancy or software company. (Hypothetical example: If I'm doing A/B testing for you, I am of course amenable to giving you copyright to code/copy/reports delivered to you, but I'm not going to give you exclusive rights over "all procedures and knowhow used in the production of the deliverables.")
Word to the wise: when you have your lawyer draft your standard contract, ask them "Hey can we have IP assignment happen only after SoW's associated invoices have been paid in full?" That's a valuable lever to have to encourage clients operating in good faith to prioritize getting your invoices paid expeditiously.
I once had a client present me with an NDA which stated that their Intellectual Property included "all knowhow related to the project", and then a few paragraphs later that they had "the right to seize all Intellectual Property" upon termination of the contract.
When I asked if they intended this to include brain surgery, they agreed to amend it to only seizing documents.
It seems like the needed change there was not to alter the scope of what they would seize, but the scope of their definition of Intellectual Property. It's a little unclear from your post - is that what you got modified?
Well run companies would not allow for IP assignment to happen only after invoices were paid. A minor payment dispute could then hold up an investment round or M&A transaction, and that's completely out of proportion to the issue you're trying to address. The diligence lawyers /really do/ read every contract they have in the file.
I've never in my life had trouble collecting an invoice. Once I resorted to a collections lawyer[1], and the company paid by wire within two days (it was a six figure invoice). Knowing your rights and leverage is more important than demanding unusual clauses in contracts (and Patrick, I say that with all due respect as a friend).
Another point: Reputable companies have a lot to lose by shafting contractors. This is the real reason it pays to work with reputable customers.
[1] For the curious, the lawyer threatened to put a lien against the company, and they suddenly realized that they really did owe me the money. Feel free to email me with any questions.
> Well run companies would not allow for IP assignment to happen only after invoices were paid. A minor payment dispute could then hold up an investment round or M&A transaction, and that's completely out of proportion to the issue you're trying to address. The diligence lawyers /really do/ read every contract they have in the file.
On the other hand, that's exactly the reason you want to have IP assignment clauses in contracts with startups - it gives a lot of incentive to the client to fully pay the invoice in case of a firesale.
I have seen cases where a company went bankrupt, but at the same time sold the software to another company held by the same people, cheating freelancers out of their money. That cannot happen in this case, as the IP assignment blocks the sale unless the buyer agrees on paying out the contractors.
As a contractor, that's your only lever in that case.
Your case only works if the client is actually solvent.
A minor payment dispute could then hold up an investment round or M&A transaction, and that's completely out of proportion to the issue you're trying to address.
If it's minor payment dispute, they they can just pay the invoice and get on with the M+A transaction.
Personally, I can't see why the client should expect to own work done at their request if they haven't paid.
> A minor payment dispute could then hold up an investment round or M&A transaction, and that's completely out of proportion to the issue you're trying to address.
For any good client, an investment round or M&A transaction is to them what my fee is to me, and my fee is to them what the late charge on my waterbill is to me—easier to just pay the $1.20 than to give any fuss about it.
In other words, if they're that worried about it, they can always just pay the dispute and sort it out later. My business, however, might be significantly hindered by them not paying.
From my own experience, I would also suggest in actual negotiations with clients to bring up the example of Wordpress and blogs. By making a blog for you using Wordpress, you don't come to own the Wordpress platform. This underscores the economics to a client based on a real life example.
The consultancy should have its own reusable "platform" (which it refers to in its standard contracts) which can include the knowhow, software and whatever else. The client is offered a worldwide, royalty-free, unlimited license to the platform, app and all its source code. If they balk, then you do copyright assignment, but of the app only, never the platform.
That way it's presented cleanly to the client in terms they can hang their hat on -- platform and app.
all procedures and knowhow used in the production of the deliverables.
Can this possibly be enforceable? I've seen two extremes from prior employers: "Sign everything away because nobody will sue a consulting employee" and "Be belligerent in the contract process to point of risking not getting the deal done."
For better or worse, the more "well run" firm overall was the most lenient in agreements around what consultants could and couldn't do. Somehow people still wound up spending 10 years servicing clients in the same industry despite non-competes. I think they just assumed it wasn't worth chasing folks over.
> "Hey can we have IP assignment happen only after SoW's associated invoices have been paid in full?"
Normally: yes. For more explanation on this, see Mike Monteiro's great presentation during a CreativeMornings event: http://vimeo.com/22053820. Most of us will recognize the talk by the title alone: "F*ck You. Pay Me."
The best thing about this "assign after payment in full" clause: It makes potential disputes about unpaid invoices a copyright infringement issue. And crucially, legal costs for copyright cases in the US are paid by the infringing party.
(IANA lawyer, but I learned this from one while contracting.)
The most important part is that it avoids many cases where the client tries to "ship off" the software. (e.g. by selling it to another party for a penny and going bankrupt itself)
This is in some cases fraudulent in itself, but being able to block the sale is a much clearer case.
This is exactly what I was going to post, it's an excellent talk. As Mike says a good contract is good for both the client and the worker, as it ensure everyone is on the same page. It only takes being burned for trusting people once to realize a good contract can be a lifesaver.
As with anything legal, whether this applies to you depends on where you are. The article appears to be quoting from laws based on the State of California. If you're not under their jurisdiction, it probably doesn't apply to you.
At the least, you should look up the work-for-hire laws in your jurisdiction. Or, you know, work with a lawyer to learn your rights.
The copyright law aspects of the article apply everywhere in the United States. The gist of the article is that you should use an assignment clause instead of a work for hire clause. The work for hire clause is unnecessary.
The California law example was to illustrate that trying to be clever and including both an assignment clause and a work for hire clause could actually hurt you in some jurisdictions.
ah, thanks, that clarifies things a bit more for me.
That said, I'm writing from a Canadian perspective. And it's likely that our laws are different in this regard. I'll be looking it up within the next day or so.
states that unlike the US, Canada doesn't have a work-for-hire provision, so copyright remains with the employee or contractor. Which is similar in effect to what's written in the OP. I'd want to corroborate that more before staking my business on it, but at the very least my point about checking the laws in your jurisdiction is important.
But isn't it always worth being clear and explicit about who will own what copyrights and and have what licenses to use/modify/distribute the material?
And it might not be uniform for everything in the project. There could be build tools that are developed that the client doesn't own but has a very liberal license to use while the actual product and source code copyright could be transferred to the client.
Your questions are reasonable. I'll add more: What if you're in Canada? England? France?
I suppose my comment was inane, but I hope that any freelancer not working in the States, should they come across this, will stop and do their homework. I'd hate for them to get screwed over. Freelancing is tough enough without factoring in bad contracts.
I'm actually in England. Copyright is pretty international by treaty (although in some countries like France you can't give away your moral rights but you can still grant licenses I think).
Employment (and what sorts of contracts imply employment) probably do vary much more by jurisdiction and may have tax, holiday, and other legal implications so I do agree homework is required.
From my experience freelancing in Germany, the standard approach there is to grant an exclusive, perpetual etc. license to your client for whatever you made under the contract, of which you as the author continue to own the copyright (Urheberrecht).
One of the things that always amazes me is how intensely people pursue this stuff. Which presumably means they are taking the position that you are going to screw them the first chance you get. And the thing that amazes me is that many employees don't take an equivalent stance regarding the company. Wouldn't you think that if a company was that worried perhaps should worry you too?
Love patio11's advice about having the payout be dependent on the transfer of IP, very nice and very appropriate.
If you see code that checks for every possible type of exception or input error, do you think that code is secretly hoping that an exception occurs? Or do you just think the programmer is trying to cover all the bases so he/she can decide what happens when an error occurs?
Contracts are just the 'source code' that define agreements. There's nothing wrong with very specific and precise language. Granted, since contracts are tied to negotiation, some people can be over-aggressive, but mostly long contracts just come from people who have gotten burned before, and have no desire to be burned again.
Malice is not the only way problems occur between contractor and company. Ignorance, misunderstanding, confusion, stress, poor planning, unforeseen circumstances are other very common reasons.
Contracts aren't written and signed just so you can sue each other. Contracts are written and signed as an evidence for both sides about what both sides agreed at the time, because no one's memory is that good. Contracts are written so when the proverbial s--t hits the fan, both sides are aware of what happens and are fine with the consequences.
And in all of those cases it pays to use the correct, specific, unambiguous language to express the intent of both sides. Expressing intent isn't easy. You can't go back and fix a contract easily the way you can say "Oh no, I mean X, not Y" in a casual conversation.
Lots of people, resources and time are about to be spent fulfilling a contract. A lot of problems will occur on the way to it being fulfilled.
If you think it's an option to take contracts lightly and you think it's an option to just trust fate & the goodwill of people you didn't know yesterday to sacrifice themselves in order to save your money, time, property and business, it's a sign you've not been burned enough times to learn to think otherwise.
Remember, that when stress gets high, and both sides paint themselves in a corner, even the most moral, loyal and honest of people may find themselves bending their morality, loyalty and honesty in order to survive in an impossible situation.
Can anyone explain why written code couldn't be considered "a compilation (an original manner of selecting or arranging preexisting works)?" I would think common sense would define most software as an arrangement of preexisting works.
e.g. If I'm contracted to develop a web app it's an original arrangement of an existing programming language.
The language is tricky, but writing (a book, a program) (or drawing a picture) isn't considered "arranging" words (or paint drops). The entirety of existence is just a series of rearranging molecules, atoms, and quarks!
The attempted distinction is intuitive to me, but I for one can't think of the words for it.
Jane was hired as a contractor to deliver a business process application in C#. The contract to hire Jane was a work-for-hire contract without the explicit copyright transferring language... /end of example.
I would presume that Jane's final work product is an arrangement of previous work by Anders Hejlsberg (who lead the original C# development team) and other employees of Microsoft. Is this not a sound line of reasoning?
Nah. If I build a bridge using Caterpillar equipment I haven't re-arranged Caterpillar equipment into a bridge, I've just used tools.
Similarly, just because you write code in C# and then send it to code I wrote, which translates it to CIL, that doesn't mean that any of your code is actually an arrangement of my code. Your code just conformed to the required input of my tool (the C# compiler).
If anything, I'd say unless the contractor is delivering a complete end-to-end piece of work, it'll almost certainly count as "a contribution to a collective work". Some types of work you might outsource (say, hiring a technical writer to write your documentation for you) might also count as "supplementary material".
Compilations are things like phone books, or a street directory.
If we took your logic, then all books are merely compilations of the alphabet, or dictionary. Judges would look at that and think "wait no, that breaks everything"
> Compilations are things like phone books, or a street directory.
What about books of driving directions? Before ubiquitous access to navigation applications, I would have AAA assemble a book of directions for long trips. Each page represented instructions on which decisions I were to make AND when to make them.
I would argue that code represents an equivalent level of abstraction to the book of directions. The language's grammar being equivalent to the available choices on the road system.
> Judges would look at that and think "wait no, that breaks everything"
I'm no lawyer, but my understanding is that unless you are an employee, copyright remains with the author unless explicitly transferred.
Which is why it's important to get stuff like this in writing. Having a good lawyer look over my contracts has always been worth the price. Partly because my lawyer makes sure that stuff gets done even when the client and I are inclined to focus on the actual work.
I don't think a CLA typically assigns copyright. It only provides the project with a license to use the contribution; the contributor still retains the copyright.
> I don't think a CLA typically assigns copyright.
Be sure to read the fine print. The main point of the CLA for most corporate-backed projects is to allow re-licensing under different terms (read: proprietary). This does not require explicit copyright assignment.
On the other hand, the Free Software Foundation requires copyright assignment to give the FSF standing to defend the copyright - to enforce the GPL.
> It only provides the project with a license to use the contribution
Most projects simply specify that any contributions must be made under the same license as the existing code. The act of voluntary contribution is considered (by most) as sufficient to establish assent to this, although many projects take it a step further and require copyright statements in each file header. For projects that never plan to re-license, this works fine.
> On the other hand, the Free Software Foundation requires copyright assignment to give the FSF standing to defend the copyright - to enforce the GPL.
One reason for this is in case someone uses GNU code without following the GPL. With the FSF as copyright assignment, then the FSF can sue the organisation breaking the GPL. Otherwise the individual programmers would have to do it.
You should assign the code to the employer of your own initiative simply because it's the right thing to do, and should be the status quo already. Propose language to this effect even if they don't know about it.
Yes if you are hired as a contractor. You are the author of the written code and you own the copyright. You lose the copyright to the hiring party only if the "work-for-hire" clause is in the signed contract.
And in turn the company should look to copyright assignment.
As a contractor, you shouldn't be signing umbrella work-for-hire clauses either. They're usually part of the shotgun approach of "we own everything you do, always, ever".
Copyright assignment is where the give-and-take should take place (which I'm surprised the author didn't speak about) - "company gets copyright assignment based on XYZ (which could include payment, equity agreement, etc.)"
IANAL - I just hire one with one who protects me from signing stupid stuff and is occasionally the nasty stick when clients act up.
I wonder how Linux distributions fit in? They are typically compilations or collective works, and so a work for hire agreement to write something for a specific distribution does not seem to run into the problems the article discusses.
Sounds like a good opportunity to develop FOSS code rather than limit it to one company.
I don't get it, though. The business wants the software - they pay to have it made. And then they also want rights to it. I really like how you have to make copyright assignment explicit in the contract, because in general it is ridiculous to write code and then lock it behind a vault door and treat it like liquid gold when other people could benefit from it.
> it is ridiculous to write code and then lock it behind a vault door and treat it like liquid gold when other people could benefit from it
This isn't "ridiculous". If other people could benefit from the code in question, it seems like at least some of them might be willing to pay for it. Why throw open your vault doors to the public for free when you can charge admission and there are people who want what's inside badly enough to pay?
I don't often do this, but I feel I should take the opportunity to point out that I disagree completely with the sentiment in this post, but yet I was "forced" to upvote it because it had been unfairly downvoted.
It's may be an unpopular opinion but it's not off topic nor offensive. Please don't downvote for popularity reasons.
I guess most businesses couldn't care less about control over _all_ instances of the software they need to operate, but they want control over (and thus access to) every aspect of _their_ instance.
copyright assignments are the standard way to achieve this (and then some, which they might not actually care about - but since it doesn't hurt...)
Not all things contractors do are nice FOSS-able libraries. What about a slideshow & presentation about how the company can get more clients, which is chock full of internal data? What about the configuration settings for the company's app to allow some new feature?
Other people. Like said company's competition? Like said company's clients?
If I go to a restaurant and order a meal, and the waiter decides that's a good opportunity to invite his friends to eat from my plate, I'd find this a good opportunity to walk out without paying a dime.
Because it is definitely appropriate to compare scarce resources atom based materials that compose most of the world, and new era digital information technology that uses electrical charge - the former is hard and expensive to synthesize and access is limited, the latter is effectively unlimited for our current needs, and the reproduction of patterns to convey information is also unlimited.
It is more like you order something from the chef, and once he made it once he can hand out exact duplicates instantly to anyone else who walks through the door forever without any resource consumption. In that situation, it is ridiculous to try to charge everyone that walks through the door the costs of the scarce resources when there are no resource constraints at all anymore.
In software, the resource constraint is developer time and effort. The resultant information from the labor is not scarce, and others will gladly redistribute it for you (see: torrents, public repositories, usenet) so there are no costs (in time, or resources) to provide it.
So you could either be an asshole and let people starve on the street while you eat your fancy dish while the chef has an infinite number of copies of it sitting on the drysink, or you could let people come through, grab some grub, and enjoy it like you did, even though you paid for the initial copy to be made, it takes nothing away from you to let others benefit from your investment. If anything, people will be gracious to you for investing to make the infinite food dish happen, and you should expect good karma to come back in turn.
1. Fuck supporting your software though, your time is not free. If people keep calling and asking questions, fuck 'em.
2. Fuck dealing with the resulting fragmentation from people forking it left and right. This would incur a very serious damage to your client as well, but fuck him too.
3. Fuck maintaining your software. Because the configurations and platforms people will be deploying your software to are nothing like the the ones your client is paying you for, so the bugs your client sees and your open source users see are nothing alike.
The point I'm driving, is that it's easy to talk about how copying code is easy. But your code is worthless without considering everything else I said above. And all I said above requires your involvement, your effort and your time.
I mean people are easy to copy too. Practically free. But for some reason, sleeping around and abandoning your children afterwards is not considered a noble act.
> 1. Fuck supporting your software though, your time is not free. If people keep calling and asking questions, fuck 'em.
Well no, it isn't. You should be billing for that. If your code is entirely open, and in this theoretical example the real goal should be a post-copyright society entirely, then anyone can modify it however they want, and everyone can choose to use it if they want to or not. And if they want you to behave or act a certain way, they better make a voluntary transaction with you about it.
> 2. Fuck dealing with the resulting fragmentation from people forking it left and right. This would incur a very serious damage to your client as well, but fuck him too.
So if I fork firefox, and do whatver I want with it - ship it, etc, see Pale Moon - how exactly that does that impact anyone using firefox? I haven't touched firefox. Those guys could take some of my code if they want, in post-copyright (or just permissive or license compatible copyleft) land, and bring it into their own codebase and benefit.
But my actions using firefoxes code has no impact on firefox itself. Unless I wanted to try calling my own modified version firefox, using Mozilla branding etc, which is more slander than anything. Lying is still wrong and punishable in the post copyright society.
> 3. Fuck maintaining your software. Because the configurations and platforms people will be deploying your software to are nothing like the the ones your client is paying you for, so the bugs your client sees and your open source users see are nothing alike.
And the open source users couldn't either contribute time or resources (money, whatever) to fix them? The worst crime in open source is charity. It makes everything seem cheap, and makes few people realize the human time costs of developing tremendously large projects. Why is it that most of the popular foss projects have all their engineers on some corporations payroll, where those businesses just understand the benefit of not having to subsidize the cost of the entire product to keep it proprietary, but they still want someone working on it to suit their needs?
> The point I'm driving, is that it's easy to talk about how copying code is easy. But your code is worthless without considering everything else I said above. And all I said above requires your involvement, your effort and your time.
Copying code is free, but having a person maintain and support is not. So yeah, what is wrong with the code being worthless to some people if they don't invest in it to make it work for them? That is how software works. But it wastes a hell of a lot less human potential to have people port and maintain a shared codebase between disparate systems than to have everyone reinvent the same thing behind closed doors with no information sharing acting like 3 year olds who don't want anyone else playing in their sandbox so they put a fence around it. But you can build a much nicer sand castle when everyone works together, even if you only build a sand town of different buildings sharing the same sand roads. Analogy is now breaking down.
> I mean people are easy to copy too. Practically free. But for some reason, sleeping around and abandoning your children afterwards is not considered a noble act.
I honestly have no idea what you are saying here. Humans are atom based and thus scarce, cloning is hard, and we don't have an accurate way to rip the information stored in the brain and transfer it. Once we do, copying "people", the collective information that makes the person, would be easy, but we aren't there yet. The rest of this I literally can not understand at all, what does "sleeping around and abandoning your children" have to do with anything? It is morally reprehensible to abandon children because it is forsaking responsibility for ones actions. How does that have anything to do with information freedom?
That was historically one of the points of highest friction at my consultancy during contract negotiation, because every lawyer had a different idea of how to totally derisk the IP assignment for the client, many of which were not compatible with me signing them and then continuing to run a consultancy or software company. (Hypothetical example: If I'm doing A/B testing for you, I am of course amenable to giving you copyright to code/copy/reports delivered to you, but I'm not going to give you exclusive rights over "all procedures and knowhow used in the production of the deliverables.")
Word to the wise: when you have your lawyer draft your standard contract, ask them "Hey can we have IP assignment happen only after SoW's associated invoices have been paid in full?" That's a valuable lever to have to encourage clients operating in good faith to prioritize getting your invoices paid expeditiously.