· Hakan Çelik · CPython · 2 dk okuma

CLA

Before contributing to CPython, you need to sign the PSF Contributor Agreement. In this short post, I explain what the CLA is, how to sign it, and how the approval process works, step by step.

CLA

A CLA (Contributor License Agreement) is a document confirming that you agree your contributions to CPython are legally owned by the Python Software Foundation (PSF).

Why is it Required?

When contributing to open source projects, copyright becomes a concern. The PSF CLA provides the legal basis needed for your contributions to be distributed under the Python license (PSF License). Pull requests submitted without signing it will not be accepted.

How to Sign

To read and sign the agreement, go to the following address:

PSF Contributor Agreement

The form is entirely online — no separate document needs to be signed.

Approval Process

After signing, the approval process takes place on business days and may take some time. When you open your first PR to CPython, the the-knights-who-say-ni bot will greet you and leave a comment about your CLA status.

Your PR labels will change as follows:

  • Before the CLA is signed: CLA not signed
  • After the CLA is approved: CLA signed

Recommendation

You do not need to wait for CLA approval before opening a PR. Sign the agreement as soon as possible and continue your contribution work in parallel — the bot will automatically update the label.

Tip: If you run into any issues, you can ask for help through the issues in the python/cpython repository or on Python’s Discord server.

Back to Blog

Related Posts

View All Posts »
Submitting a PR

Submitting a PR

CPython · 4 dk

How do you make your first contribution to CPython? From finding an issue and forking the repo, to making a fix and opening a PR — a step-by-step walkthrough with a real example.

Understanding Python Classes

Understanding Python Classes

Python · 2 dk

In Python, everything is an object and every object has a type — including primitives, functions, and classes themselves. type() and __class__ reveal this relationship.

Run Methods Order In Python

Run Methods Order In Python

Python · 2 dk

Which method runs when in Python metaclasses? The execution order of __prepare__, __new__, __init__, and __call__ during class definition and instance creation.