Why?

Per the GitHub terms of service, a contributor who opens a Pull Request agrees to license their work under the same license used by the repository. Source:

Whenever you add Content to a repository containing notice of a license, you license that Content under the same terms, and you agree that you have the right to license that Content under those terms.

So when a nontrivial pull request is merged, the copyright of the codebase is shared between the initial copyright holders and the new contributor. This works well with the MIT license code (which we use for open-source work).

However, this doesn’t work with commercial software. Without a CLA, your contribution would have the same license as the commercial software, so the same license as https://mui.com/r/x-license-eula. This implies having 1. many different license holders, a legal risk for commercial users to manage. 2. A very complex process for MUI to make simple changes to the license. Hence, the need to sign the CLA.

For contributors - How to sign the CLA?

Our CLA is almost an exact copy of the CLA used by Apache for all the contributions that they accept.

Steps:

  1. Open https://docs.google.com/forms/d/e/1FAIpQLScPaIH-TzkfyeHqT_QTvwScQ99oujDUh_WWSLeGg747OCVy0w/viewform:

    Screenshot 2023-05-23 at 12.39.48.png

  2. Fill out the Google Form up to the end:

    SCR-20240825-lian.png

  3. Forward the “form submission confirmation” email that is sent once the form is completed to [email protected]. This allows us to confirm your identity. Also, include the link to the pull request it corresponds to.

For maintainers - How to handle CLA?

Steps:

  1. In the PR, check if a source was changed with a commercial license.

    The CLA doesn’t need to be signed for Trivial changes.

  2. Open https://docs.google.com/spreadsheets/d/1-HVeO-PiHPfaKrIXzT9Fhnz0hQBIXeHdMei8q66ctHI/edit?resourcekey#gid=2051566583

  3. Check if the contributor (GitHub slug) has signed the CLA.

    SCR-20240824-twnj.png

  4. If he did, add the CLA: signed label, and stop here.

  5. If he didn’t, add the CLA: required and ask him to follow the steps above:

    @xyz thank you for this pull request! It looks like your changes impact the commercially licensed code. For any changes of this nature, we require contributors to sign the MUI’s Contributor License Agreement (CLA). I can’t find an already signed CLA that cover your changes. Please follow those steps: https://mui-org.notion.site/CLA-Contributor-License-Agreement-92ece655b1584b10b00e4de9e67eedb0 to sign it. Thanks.

    <aside> 💡

    You can save this as a GitHub macro to save time.

    </aside>

  6. Wait for the email at [email protected], see: ‣.

Trivial changes