dojo4's general services agreement that we sign with every client includes a clause that describes our IP and what we reserve the right to do with it (see below and https://github.com/dojo4/dojo4/blob/master/docs/dojo4IP_legalese). It says that we absolutely own our IP and that we can use it again and again to do work for our clients. It says that we can release it as open source and that we can build upon what we've learned and developed in the past (including through client projects) to build more and even better things for ourselves and our clients.
At first blush, this can sometimes be disconcerting for some clients. Our contracts also specify that dojo4 irrevocably and unconditionally assigns to the client all rights, titles, and interests worldwide to each and every deliverable that that client pays for. But this can sometimes cause misunderstanding since our IP is nested in most deliverables we produce.
In a recent email exchange with a client, our CTO,Ara Howard explained his take on how this works:
...it's precisely because of the extreme expense of both development and testing of critical web components that foundational tools like bootstrap (http://getbootstrap.com/) and eric meyer's reset (http://www.cssreset.com/scripts/eric-meyer-reset-css/) are used on literally millions and millions of websites today.
1. super expensive to create 2. super expensive to test 3. super expensive to maintain
This why technologists share, and share alike when we reach for off-the-shelf functionality needed across a broad spectrum of projects.
Although we're not a giant in the space, dojo4 has developed literally hundreds of tools that we've open sourced, shared, and rely on to execute in the most professional way for our clients: https://github.com/ahoward, http://dojo4.com/blog/imbed-for-android, http://dojo4.com/blog/the-shadow-world-of-css-tables.
If we could not share these foundational tools between projects our estimates would need to increase by a factor of 5-10, and time to market by a similar amount.
It's because of this that we advise clients to let us use the mistakes and lessons from other difficult projects on theirs.
We're happy not to, but the expense and time increases required are simply not able to be saddled by a majority of projects.
We believe that we all benefit from being able to own and share our IP freely.
Excerpted from our general services agreement (feel free to use in yours!):
(a) Client acknowledges and agrees that (i) dojo4 shall retain all ownership and other rights in and to the dojo4 IP notwithstanding that any such dojo4 IP may become known to Client in connection with any Engagement Agreement or is integrated into or otherwise becomes a part of any of the Deliverables; (ii) Client shall have no ownership interest or title in or to dojo4 IP; and (iii) dojo4 shall be free to use any of the dojo4 IP in connection with performing services or producing deliverables for any third parties so long as it complies with its confidentiality obligations set forth elsewhere herein.
(b) Client shall not (i) modify, create derivative works from, reverse‑engineer, decompile, disassemble or otherwise translate dojo4 IP in any manner; (ii) disclose or distribute copies of dojo4 IP or any portion thereof to third parties except as permitted by the applicable Engagement Agreement; (iii) reproduce the dojo4 IP or any portion thereof in any form or medium, except as permitted by the applicable Engagement Agreement; (iv) use the dojo4 IP for any purpose not specifically authorized by the applicable Engagement Agreement or this Agreement; or (v) remove any copyright notices, trademarks or other proprietary legends appearing on or in the dojo4 IP.
note: In summary, dojo4 may to select abstract parts of work performed to make open source when it makes sense, but will not make any part of any work performed for the Client open source without their permission. A significant amount of dojo4 projects, including work for hire, contain components of previously open sourced work.