licensing
(Software) Is there a code license that allows me to do contract work while allowing me to re-use the code I wrote on other projects?
<p>I'd like to do contract software development (small project) while retaining the right to re-use the code I've written for the client on other projects. Would delivering the code under an MIT license achieve this?</p>

<h2>Yes</h2>
<p>Any non-exclusive license would allow this. However, I would strongly advise against the use of the MIT license for such a purpose. That license allows anyone to reuse or sell the software without further approval by you or payment to you. This is not what you want as as a contractor/consultant doing professional, custom contract. Moreover that license includes a prominent statement that:</p>
<blockquote>
<p>THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
</blockquote>
<p>Such a waiver of warranties and other liability probably conflicts with other terms of a consulting contract. Even if it does not, such a disclaimer is not likely to be looked on positively by the client.
In fact no open source contract is really appropriate for this kind of project, in my view.</p>
<p>Instead such a contract should use a simple license that grants the client non-exclusive rights, either indefinitely (or for the tem of copyright), or for a specific limited term, possibly with a renewal fee after the end of that term. It shuld prohibit the client from selling or giving away copiers of the software, except as part of the sale of the client's business pr business unit. It should allow the client to make as many copies as are needed for the contemplated use of the software.</p>
<p>The software should include, and probably display, a copyright notice.</p>
<p>It would be wise to put the license in writing.</p>
<p>It would be even wiser to have a written consulting contract that specifies, clearly, that:</p>
<ol>
<li><p>You own and retain the copyright on all work done for the employer, that none of it is work-made-for-hire, nor is the copyright in any other way transferred to the client/employer.</p>
</li>
<li><p>The employer will receive only a non-exclusive license to any software created under the contract.</p>
</li>
<li><p>You anticipate reusing the software, or parts of it, in contracts with other clients.</p>
</li>
</ol>
<p>Note that the client (employer) may have given you confidential information for use in customizing the software specifically for the client. If so, the client may reasonably demand that you agree that any code or other software including such confidential information or trade secrets shall not be provided to anyone else without the client's permission. Such a provision should also be in writing, and should specify clearly what information is confidential, or how confidential information is to be marked or indicated. It should be part,of the consulting contrast, or if separate, should be mentioned in that contract.</p>
<p>The client may demand an exclusive license, if so, this becomes a point of negotiation, along with price and other terms.</p>
