8000 devguide/coredev.rst at 07d9d5338574088d028953d66a681e56d880804f · python/devguide · GitHub
[go: up one dir, main page]

Skip to content
{"payload":{"allShortcutsEnabled":false,"fileTree":{"":{"items":[{"name":".github","path":".github","contentType":"directory"},{"name":"images","path":"images","contentType":"directory"},{"name":"tools","path":"tools","contentType":"directory"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".readthedocs.yml","path":".readthedocs.yml","contentType":"file"},{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"Makefile","path":"Makefile","contentType":"file"},{"name":"README.rst","path":"README.rst","contentType":"file"},{"name":"appendix.rst","path":"appendix.rst","contentType":"file"},{"name":"buildbots.rst","path":"buildbots.rst","contentType":"file"},{"name":"buildworker.rst","path":"buildworker.rst","contentType":"file"},{"name":"c-api.rst","path":"c-api.rst","contentType":"file"},{"name":"clang.rst","path":"clang.rst","contentType":"file"},{"name":"committing.rst","path":"committing.rst","contentType":"file"},{"name":"communication.rst","path":"communication.rst","contentType":"file"},{"name":"compiler.rst","path":"compiler.rst","contentType":"file"},{"name":"conf.py","path":"conf.py","contentType":"file"},{"name":"coredev.rst","path":"coredev.rst","contentType":"file"},{"name":"coverage.rst","path":"coverage.rst","contentType":"file"},{"name":"coverity.rst","path":"coverity.rst","contentType":"file"},{"name":"devcycle.rst","path":"devcycle.rst","contentType":"file"},{"name":"developers.csv","path":"developers.csv","contentType":"file"},{"name":"developers.rst","path":"developers.rst","contentType":"file"},{"name":"docquality.rst","path":"docquality.rst","contentType":"file"},{"name":"documenting.rst","path":"documenting.rst","contentType":"file"},{"name":"experts.rst","path":"experts.rst","contentType":"file"},{"name":"exploring.rst","path":"exploring.rst","contentType":"file"},{"name":"extensions.rst","path":"extensions.rst","contentType":"file"},{"name":"fixingissues.rst","path":"fixingissues.rst","contentType":"file"},{"name":"garbage_collector.rst","path":"garbage_collector.rst","contentType":"file"},{"name":"gdb.rst","path":"gdb.rst","contentType":"file"},{"name":"gh-faq.rst","path":"gh-faq.rst","contentType":"file"},{"name":"gh-labels.rst","path":"gh-labels.rst","contentType":"file"},{"name":"gitbootcamp.rst","path":"gitbootcamp.rst","contentType":"file"},{"name":"grammar.rst","path":"grammar.rst","contentType":"file"},{"name":"help.rst","path":"help.rst","contentType":"file"},{"name":"index.rst","path":"index.rst","contentType":"file"},{"name":"langchanges.rst","path":"langchanges.rst","contentType":"file"},{"name":"make.bat","path":"make.bat","contentType":"file"},{"name":"motivations.rst","path":"motivations.rst","contentType":"file"},{"name":"parser.rst","path":"parser.rst","contentType":"file"},{"name":"porting.rst","path":"porting.rst","contentType":"file"},{"name":"pullrequest.rst","path":"pullrequest.rst","contentType":"file"},{"name":"python-logo.png","path":"python-logo.png","contentType":"file"},{"name":"requirements.txt","path":"requirements.txt","contentType":"file"},{"name":"runtests.rst","path":"runtests.rst","contentType":"file"},{"name":"setup.rst","path":"setup.rst","contentType":"file"},{"name":"silencewarnings.rst","path":"silencewarnings.rst","contentType":"file"},{"name":"stdlibchanges.rst","path":"stdlibchanges.rst","contentType":"file"},{"name":"tracker.rst","path":"tracker.rst","contentType":"file"},{"name":"triaging.rst","path":"triaging.rst","contentType":"file"}],"totalCount":51}},"fileTreeProcessingTime":8.241106,"foldersToFetch":[],"incompleteFileTree":false,"repo":{"id":63972479,"defaultBranch":"main","name":"devguide","ownerLogin":"python","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-07-22T17:48:56.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1525981?v=4","public":true,"private":false,"isOrgOwned":true},"codeLineWrapEnabled":false,"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"07d9d5338574088d028953d66a681e56d880804f","listCacheKey":"v0:1743482989.0","canEdit":false,"refType":"tree","currentOid":"07d9d5338574088d028953d66a681e56d880804f"},"path":"coredev.rst","currentUser":null,"blob":{"rawLines":null,"stylingDirectives":null,"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/python/devguide/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"coredev.rst","displayUrl":"https://github.com/python/devguide/blob/07d9d5338574088d028953d66a681e56d880804f/coredev.rst?raw=true","headerInfo":{"blobSize":"7.92 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":null,"isGitLfs":false,"onBranch":false,"shortPath":"d6b8a85","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fpython%2Fdevguide%2Fblob%2F07d9d5338574088d028953d66a681e56d880804f%2Fcoredev.rst","isCSV":false,"isRichtext":true,"toc":[{"level":1,"text":"How to Become a Core Developer","anchor":"how-to-become-a-core-developer","htmlText":"How to Become a Core Developer"},{"level":2,"text":"What it Takes","anchor":"what-it-takes","htmlText":"What it Takes"},{"level":2,"text":"What it Means","anchor":"what-it-means","htmlText":"What it Means"},{"level":2,"text":"Gaining Commit Privileges","anchor":"gaining-commit-privileges","htmlText":"Gaining Commit Privileges"},{"level":3,"text":"Mailing Lists","anchor":"mailing-lists","htmlText":"Mailing Lists"},{"level":3,"text":"Sign a Contributor Agreement","anchor":"sign-a-contributor-agreement","htmlText":"Sign a Contributor Agreement"},{"level":3,"text":"Pull Request merging","anchor":"pull-request-merging","htmlText":"Pull Request merging"},{"level":2,"text":"Responsibilities","anchor":"responsibilities","htmlText":"Responsibilities"}],"lineInfo":{"truncatedLoc":"178","truncatedSloc":"136"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"reStructuredText","languageID":419,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/python/devguide/blob/07d9d5338574088d028953d66a681e56d880804f/coredev.rst","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/python/devguide/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/python/devguide/raw/07d9d5338574088d028953d66a681e56d880804f/coredev.rst","renderImageOrRaw":false,"richText":"\u003carticle class=\"markdown-body entry-content container-lg\" itemprop=\"text\"\u003e\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eHow to Become a Core Developer\u003c/h1\u003e\u003ca id=\"user-content-how-to-become-a-core-developer\" class=\"anchor\" aria-label=\"Permalink: How to Become a Core Developer\" href=\"#how-to-become-a-core-developer\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003ca name=\"user-content-what-it-takes\"\u003e\u003c/a\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eWhat it Takes\u003c/h2\u003e\u003ca id=\"user-content-what-it-takes\" class=\"anchor\" aria-label=\"Permalink: What it Takes\" href=\"#what-it-takes\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eWhen you have consistently contributed patches which meet quality standards\nwithout requiring extensive rewrites prior to being committed,\nyou may qualify for commit privileges and become a core developer of Python.\nYou must also work well with other core developers (and people in general)\nas you become an ambassador for the Python project.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eTypically a core developer will offer you the chance to gain commit privilege.\nThe person making the offer will become your mentor and watch your commits for\na while to make sure you understand the development process. If other core\ndevelopers agree that you should gain commit privileges you are then extended\nan official offer. How core developers come to that agreement are outlined in\n\u003ca href=\"http://www.python.org/dev/peps/pep-0013\" rel=\"nofollow\"\u003ePEP 13\u003c/a\u003e.\u003c/p\u003e\n\u003ca name=\"user-content-what-it-means\"\u003e\u003c/a\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eWhat it Means\u003c/h2\u003e\u003ca id=\"user-content-what-it-means\" class=\"anchor\" aria-label=\"Permalink: What it Means\" href=\"#what-it-means\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eAs contributors to the CPython project, our shared responsibility is to\ncollaborate constructively with other contributors, including core developers.\nThis responsibility covers all forms of contribution, whether that's submitting\npatches to the implementation or documentation, reviewing other peoples'\npatches, triaging issues on the issue tracker, or discussing design and\ndevelopment ideas on the core mailing lists.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eCore developers accept key additional responsibilities around the ongoing\nmanagement of the project:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003ecore developers bear the additional responsibility of handling the\nconsequences of accepting a change into the code base or documentation.\nThat includes reverting or fixing it if it causes problems in the\nBuildbot fleet or someone spots a problem in post-commit review, as well\nas helping out the release manager in resolving any problems found during\nthe pre-release testing cycle. While all contributors are free to help out\nwith this part of the process, and it is most welcome when they do, the\nactual responsibility rests with the core developer that merged the change\u003c/li\u003e\n\u003cli\u003ecore developers also bear the primary responsibility for deciding when\nchanges proposed on the issue tracker should be escalated to python-ideas\nor python-dev for wider discussion, as well as suggesting the use of the\nPython Enhancement Proposal process to manage the design and justification\nof complex changes, or changes with a potentially significant impact on\nend users\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003eAs a result of the additional responsibilities they accept, core developers\ngain the privilege of being able to approve proposed changes, as well as being\nable to reject them as inappropriate. Core developers are also able to request\nthat even already merged changes be escalated to python-dev for further\ndiscussion, and potentially even reverted prior to release.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eBecoming a core developer isn't a binary \"all-or-nothing\" status - CPython\nis a large project, and different core developers accept responsibility for\nmaking design and development decisions in different areas (as documented\nin the \u003ca href=\"#id1\"\u003e\u003cspan id=\"user-content-id2\"\u003e:ref:`experts`\u003c/span\u003e\u003c/a\u003e and \u003ca href=\"#id3\"\u003e\u003cspan id=\"user-content-id4\"\u003e:ref:`developers`\u003c/span\u003e\u003c/a\u003e).\u003c/p\u003e\n\u003ca name=\"user-content-gaining-commit-privileges\"\u003e\u003c/a\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eGaining Commit Privileges\u003c/h2\u003e\u003ca id=\"user-content-gaining-commit-privileges\" class=\"anchor\" aria-label=\"Permalink: Gaining Commit Privileges\" href=\"#gaining-commit-privileges\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThe steps to gaining commit privileges are:\u003c/p\u003e\n\u003col dir=\"auto\"\u003e\n\u003cli\u003eA core developer starts a poll at \u003ca href=\"https://discuss.python.org/c/committers/5\" rel=\"nofollow\"\u003ehttps://discuss.python.org/c/committers/5\u003c/a\u003e\u003cul dir=\"auto\"\u003e\n\u003cli\u003eOpen for 7 days\u003c/li\u003e\n\u003cli\u003eResults shown upon close\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eThe poll is announced on python-committers\u003c/li\u003e\n\u003cli\u003eWait for the poll to close and see if the results confirm your membership\nas per the voting results required by PEP 13\u003c/li\u003e\n\u003cli\u003eThe person who nominated you emails the steering council with your email\naddress and a request that the council either accept or reject the proposed\nmembership\u003c/li\u003e\n\u003cli\u003eAssuming the steering council does not object, a member of the council will\nemail you asking for:\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAccount details as required by\n🔒 \u003ca href=\"https://github.com/python/voters/\"\u003ehttps://github.com/python/voters/\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eYour preferred email address to\nsubscribe to python-committers with\u003c/li\u003e\n\u003cli\u003eA reminder about the \u003ca href=\"https://www.python.org/psf/conduct/\" rel=\"nofollow\"\u003eCode of Conduct\u003c/a\u003e and to report issues to the PSF\nConduct WG\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eOnce you have provided the pertinent details, your various new privileges\nwill be turned on\u003c/li\u003e\n\u003cli\u003eYour details will be added to 🔒 \u003ca href=\"https://github.com/python/voters/\"\u003ehttps://github.com/python/voters/\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThey will update the devguide to publicly list your team membership at\n\u003ca href=\"#id5\"\u003e\u003cspan id=\"user-content-id6\"\u003e:ref:`developers`\u003c/span\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn announcement email by the steering council member handling your new\nmembership will be sent to python-committers\u003c/li\u003e\n\u003c/ol\u003e\n\u003ca name=\"user-content-mailing-lists\"\u003e\u003c/a\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMailing Lists\u003c/h3\u003e\u003ca id=\"user-content-mailing-lists\" class=\"anchor\" aria-label=\"Permalink: Mailing Lists\" href=\"#mailing-lists\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eYou are expected to subscribe to python-committers, python-dev,\npython-checkins, and one of new-bugs-announce or python-bugs-list. See\n\u003ca href=\"#id7\"\u003e\u003cspan id=\"user-content-id8\"\u003e:ref:`communication`\u003c/span\u003e\u003c/a\u003e for links to these mailing lists.\u003c/p\u003e\n\u003ca name=\"user-content-sign-a-contributor-agreement\"\u003e\u003c/a\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eSign a Contributor Agreement\u003c/h3\u003e\u003ca id=\"user-content-sign-a-contributor-agreement\" class=\"anchor\" aria-label=\"Permalink: Sign a Contributor Agreement\" href=\"#sign-a-contributor-agreement\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eSubmitting a \u003ca href=\"https://www.python.org/psf/contrib/\" rel=\"nofollow\"\u003econtributor form for Python\u003c/a\u003e licenses any code you contribute to\nthe Python Software Foundation. While you retain the copyright, giving the PSF\nthe ability to license your code means it can be put under the PSF license so\nit can be legally distributed with Python.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eThis is a very important step! Hopefully you have already submitted a\ncontributor agreement if you have been submitting patches. But if you have not\ndone this yet, it is best to do this ASAP, probably before you even do your\nfirst commit so as to not forget. Also do not forget to enter your GitHub\nusername into your details on the issue tracker.\u003c/p\u003e\n\u003ca name=\"user-content-pull-request-merging\"\u003e\u003c/a\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003ePull Request merging\u003c/h3\u003e\u003ca id=\"user-content-pull-request-merging\" class=\"anchor\" aria-label=\"Permalink: Pull Request merging\" href=\"#pull-request-merging\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eOnce you have your commit privileges on GitHub you will be able to accept\npull requests on GitHub. You should plan to continue to submit your own\nchanges through pull requests as if you weren't a core developer to benefit\nfrom various things such as automatic integration testing, but you\ncan accept your own pull requests if you feel comfortable doing so.\u003c/p\u003e\n\u003ca name=\"user-content-responsibilities\"\u003e\u003c/a\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eResponsibilities\u003c/h2\u003e\u003ca id=\"user-content-responsibilities\" class=\"anchor\" aria-label=\"Permalink: Responsibilities\" href=\"#responsibilities\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eAs a core developer, there are certain things that are expected of you.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eFirst and foremost, be a good person. This might sound melodramatic, but you\nare now a member of the Python project and thus represent the project and your\nfellow core developers whenever you discuss Python with anyone. We have a\nreputation for being a very nice group of people and we would like to keep it\nthat way. Core developers responsibilities include following the \u003ca href=\"https://www.python.org/psf/conduct/\" rel=\"nofollow\"\u003ePSF Code of\nConduct\u003c/a\u003e.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eSecond, please be prompt in responding to questions. Many contributors to Python\nare volunteers so what little free time they can dedicate to Python should be\nspent being productive. If you have been asked to respond to an issue or answer\na question and you put it off it ends up stalling other people's work. It is\ncompletely acceptable to say you are too busy, but you need to say that instead\nof leaving people waiting for an answer. This also applies to anything you\ndo on the issue tracker.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eThird, please list what areas you want to be considered an expert in the\n\u003ca href=\"#id9\"\u003e\u003cspan id=\"user-content-id10\"\u003e:ref:`experts`\u003c/span\u003e\u003c/a\u003e. This allows triagers to direct issues to you which involve\nan area you are an expert in. But, as stated in the second point above, if you\ndo not have the time to answer questions promptly then please remove yourself as\nneeded from the file so that you will not be bothered in the future. Once again,\nwe all understand how life gets in the way, so no one will be insulted if you\nremove yourself from the list.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eFourth, please consider whether or not you wish to add your name to the\n\u003ca href=\"#id11\"\u003e\u003cspan id=\"user-content-id12\"\u003e:ref:`motivations`\u003c/span\u003e\u003c/a\u003e list. Core contributor participation in the list helps the\nwider Python community to better appreciate the perspectives currently\nrepresented amongst the core development team, the Python Software Foundation\nto better assess the sustainability of current contributions to CPython core\ndevelopment, and also serves as a referral list for organisations seeking\ncommercial Python support from the core development community.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eAnd finally, enjoy yourself! Contributing to open source software should be fun\n(overall). If you find yourself no longer enjoying the work then either take a\nbreak or figure out what you need to do to make it enjoyable again.\u003c/p\u003e\n\n\u003c/article\u003e","renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":"/python/.github/blob/5a0a7cb55767fb3667fe2391bcb66bda638edcb4/FUNDING.yml","showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":false,"not_analyzed":true,"symbols":[]}},"copilotInfo":null,"copilotAccessAllowed":false,"modelsAccessAllowed":false,"modelsRepoIntegrationEnabled":false,"csrf_tokens":{"/python/devguide/branches":{"post":"Q9vAGgXJKhw_a2jGc9REQfrb8Hdw7olMwCzooQceK48kNS52jNYqW86RYPwmUKk8sw3MLQsJLeE1iew43qLtDA"},"/repos/preferences":{"post":"-eVM1rLYy4Zx0hf5VXhc__GVj06iy0MSgzLxByBzGECwyMds8zvQEW9KeTGejgNN9OVMksxQNkxOL7WGXkA3xA"}}},"title":"devguide/coredev.rst at 07d9d5338574088d028953d66a681e56d880804f · python/devguide","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-7d7eb7c71814.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-1ae9fa256942.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"react_blob_overlay":false,"accessible_code_button":true,"github_models_repo_integration":false}}}
0