I'm doing contract work. I'm being asked to sign a standard (AFAICT) agreement that assigns all intellectual property I create to the employer. The context of this work is typical Python and Go codebases: the codebases themselves are proprietary, but they have open-source dependencies listed in requirements.txt and go.mod.

The employer is potentially open to changing the agreement to meet my needs. Is there language I can insert that carves out an exception for patches I make to the open-source dependencies, so that I can retain copyright to them and contribute them upstream?

  • 1
    Do you actually care who owns the copyright to the patches? – Philip Kendall Mar 4 at 5:12
  • Which jurisdiction are you in? – Jann Poppinga Mar 5 at 6:30

Is there language I can insert that carves out an exception for patches I make to the open-source dependencies

Of course, but you've missed out the second requirement: that it be acceptable to the people who are paying for the work. We can't say whether any given proposal will be acceptable.

My standard terms say that "Copyright in all original code, configuration files, documentation and copy is and remains the property of the Company, and these are provided to the Client under the terms of the GNU General Public License, version 3 (or, at the Client's discretion, any later version).". If you can get them to sign that, your problems are over. If they balk, consider restraining that language to refer only to the work you do on the listed open-source dependencies (eg, change "all original code, configuration files, documentation and copy" to "all work on libfoo, barsnake, and gobaz").

If they won't go for that, you might try reversing the rider so that it obliges them to make all the work you do on those libraries available to you under the terms of whatever free licence will best enable you to contribute the work upstream. That way you won't have the copyright, but you will still have the code, and the right to contribute your changes in it to the projects.

Or you might try adding a similarly-constrained rider that commits them to contributing the work upstream in a fixed timeframe after payment. I wouldn't hold out too much hope in that option, because you don't want to end up suing your client for specific performance.


I'll preface this with the usual caveat: IANAL. However I've agreed to, written, edited and audited lots of contracts for software projects that include 3rd party code (not just open source but also libraries from companies like Microsoft and Apple).

Without looking at the actual clauses in the contract we can't be sure if you need additional clauses to clarify code ownership. However, given the broad description given a lot of it is already stated in the contract:

agreement that assigns all intellectual property I create to the employer

If this is an accurate description of a contract clause then it implies that code that you did not create such as open source libraries do not belong to your employer.

However, be very careful when reading contracts. Some wording in some contracts can be interpreted slightly differently by the courts compared to what you think it means. And this can differ by region, country and even states. If you know a lawyer, try to ask them to check the contract and explain the clauses for you. Even then take note that IP law, especially copyright, is complicated and even IP lawyers can disagree with each other and the courts.

If you are worried, you can make the implication more explicit and add a clause or clarification that all libraries used require the owner to adhere to the respective license agreement for them. If the owner need to pay for a license (eg, using Adobe's or Google's library) then they'll need to make sure they pay for it. If the owner need to license the code as GPL, then they'll need to make sure they comply. When hired for a project I normally include something like this so I don't get stuck paying for a Windows or Mac OS license out of my pocket for example.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.