Jane Street requires that each contributor of code or documentation to Jane Street’s open source libraries completes, signs, and submits an Individual Contributor License Agreement. The purpose of this agreement is to clearly define the terms under which intellectual property has been contributed, in order to allow us to defend the project should there be a legal dispute regarding the software, and to be flexible should licensing requirements change. A signed CLA must be on file before an individual’s contributions will be accepted.

Corporations that have assigned employees to work on a Jane Street OSS project should execute a Corporate Contributor License Agreement. Covering intellectual property that may have been assigned as part of an employment agreement. Individuals that have signed a CCLA still have to sign their own Individual CLA to cover any of their contributions which are not owned by their employer.

You can submit your CLA by emailing a scan to

Submitting a patch

Once you’ve submitted a CLA, here’s how you go about contributing a patch:

  • Create a pull request for the project you want to contribute to (for example: Async). The request will be used for discussion only—it won’t be merged in the public repository in the end because this is not how we work internally.

  • Make sure that your changes match our style guide. Also, if you introduce any significant new functionality, you should make sure to include documentation and unit tests. The unit tests should typically be done using ppx_inline_test.

  • Someone at Jane Street will take responsibility for migrating the patch through our internal process and communicating with you. When review and testing is complete, the next release will include your change.

Release process

Internally we have a weekly release cycle for our code. For each release, we export the changes to the public repositories and increase the version numbers of all modified projects.