By setvik on
I had a question about best practices re: contract work.
If you've contracted out Drupal work, how do you handle (and how do you prefer to handle) the intellectual property of the contracted development?
Does the developer own the code and grant you (the person who contracted the work) a license to use it perpetually? Or do you own the code and grant the developer a license to use it?
What do prefer? recommend?
Anyone willing to share the intellectual property clause they use in their contract?
Thanks in advance.
Stein Setvik
Comments
Simple yet Tricky
As a General Rule, it is advised that modules be released to the community. If you are development shop doing work for hire and if you release the code to the client and the client has made FULL PAYMENT, technically client has the right to the code.
If client has not paid after taking the code on their servers or have made partial payment, you can ask them to remove the code and in that case since you would have put in the hours, you have the right to sell the code. You can even probably go after the domain name itself if they do not remove the code.
If you are the client, so long as you do not violate GPL, you can have ownership of code assuming you have fully paid up for services.
Roshan
It's a question of the law and the GPL
Since you are building upon Drupal, which is under the GPL V2 Licence, any derived work MUST also be under the GPL v2.
What this means is that the person who is receiving the work has an irrevocable right to use it, modify it and distribute it as long as he does not add to /change the licensing terms.
ANy clauses in the contract that clash with this will be contrary to the Drupal licence.
A developer can (probably) sign a clause that they (the developer) will not distribute the code otherwise, but cannot hold the recipient to that as it would violaet the GPL.
We put the responsibility on Client
We put the responsibility on client's shoulder on approving the release of code back to the community. During our sales cycle, we also give them incentives / discounts if they are open to make us contribute the code back.
Again - we put the responsibility on Client under "work for hire" relationship. We just make them aware about GPL and let them make the call.
Roshan
http://www.gloscon.com
Work for Hire - pay for work done, not exclusive rights....
If you use a work-for-hire contract, then you pay the contractor for the work done (you do not and must not buy Drupal or GPL pieces), and you own the work (config/custom code etc). The contract often/always states that parts of the work may have been developed before for other clients or for the developer's library and so the developer retains the right to reuse the code in future projects.
For example, you can buy the developer's time, but you cannot buy exclusive rights to "onmouseover" or a certain CSS hack because that would be impossible to enforce (many other people have have knowledge of the techniques)
and it is just not practical to start trying to own open technologies like XHTML/CSS/XML/PHP etc.
It goes without saying that custom designs and other branding work is exclusive as you do not want the developer reselling your logo or other identifiable business image.
-----
iDonny Productions: Drupal CMS Implementation, Theme UI/UX Design & Development, and Web Standards
We do simple work for hire
The exception is that we require that the client allow us to generalize any useful functionality that we develop and release it to the community under GPL. We allow them up to three months of exclusive use, at their option.
The client owns the work, but not any software processes (as differentiated from business processes), code techniques or snippets. If they allow us to release it, they still "own" it.