10

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?

3
  • 1
    Do you actually care who owns the copyright to the patches? Commented Mar 4, 2021 at 5:12
  • Which jurisdiction are you in? Commented Mar 5, 2021 at 6:30
  • @jmerc did you find some useful language to use for this? It seems like a problem that would be relevant for a lot of people.
    – groner
    Commented Oct 13, 2022 at 22:31

2 Answers 2

10

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.

1

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.

1
  • Comments are not for extended discussion; this conversation has been moved to chat.
    – MadHatter
    Commented Mar 5, 2021 at 8:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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