CINXE.COM

Gerrit/Privilege policy - MediaWiki

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-disabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Gerrit/Privilege policy - MediaWiki</title> <script>(function(){var className="client-js vector-feature-language-in-header-disabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-disabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )mediawikiwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""], "wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"4be2267f-ee4c-4ee2-937a-bdcf9ecd8436","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Gerrit/Privilege_policy","wgTitle":"Gerrit/Privilege policy","wgCurRevisionId":6863504,"wgRevisionId":6863504,"wgArticleId":855014,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Wikimedia development policies","Development guidelines","Gerrit"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Gerrit/Privilege_policy","wgRelevantArticleId":855014,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"mediawiki","wgCiteReferencePreviewsActive":true,"wgMediaViewerOnClick":true, "wgMediaViewerEnabledByDefault":true,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":20000,"wgInternalRedirectTargetUrl":"/wiki/Gerrit/Privilege_policy","wgTranslatePageTranslation":"source","wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgDiscussionToolsFeaturesEnabled":{"replytool":true,"newtopictool":true,"sourcemodetoolbar":true,"topicsubscription":false,"autotopicsub":false,"visualenhancements":false,"visualenhancements_reply":false,"visualenhancements_pageframe":false},"wgDiscussionToolsFallbackEditMode":"visual","wgULSPosition":"personal","wgULSisCompactLinksEnabled":true,"wgVector2022LanguageInHeader":false,"wgULSisLanguageSelectorEmpty":false,"wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model", "platform","platformVersion"]};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.translate.tag.languages":"ready","ext.discussionTools.init.styles":"ready","oojs-ui-core.styles":"ready","oojs-ui.styles.indicators":"ready","mediawiki.widgets.styles":"ready","oojs-ui-core.icons":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","ext.translate.edit.documentation.styles":"ready","ext.translate":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.pt":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["mediawiki.action.view.redirect","site","mediawiki.page.ready","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.translate.pagetranslation.uls","ext.urlShortener.toolbar", "ext.centralauth.centralautologin","mmv.bootstrap","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.discussionTools.init","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.compactlinks","ext.uls.interface","ext.checkUser.clientHints"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=ext.discussionTools.init.styles%7Cext.translate%2CwikimediaBadges%7Cext.translate.edit.documentation.styles%7Cext.translate.tag.languages%7Cext.uls.pt%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cmediawiki.widgets.styles%7Coojs-ui-core.icons%2Cstyles%7Coojs-ui.styles.indicators%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:site_name" content="MediaWiki"> <meta property="og:title" content="Gerrit/Privilege policy - MediaWiki"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//m.mediawiki.org/wiki/Gerrit/Privilege_policy"> <link rel="alternate" type="application/x-wiki" title="Edit" href="/w/index.php?title=Gerrit/Privilege_policy&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/mediawiki.png"> <link rel="icon" href="/static/favicon/mediawiki.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="MediaWiki (en)"> <link rel="EditURI" type="application/rsd+xml" href="//www.mediawiki.org/w/api.php?action=rsd"> <link rel="canonical" href="https://www.mediawiki.org/wiki/Gerrit/Privilege_policy"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"> <link rel="alternate" type="application/atom+xml" title="MediaWiki Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="ext-discussiontools-replytool-enabled ext-discussiontools-newtopictool-enabled ext-discussiontools-sourcemodetoolbar-enabled skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Gerrit_Privilege_policy rootpage-Gerrit skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/MediaWiki" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-mw-download" class="mw-list-item"><a href="/wiki/Download"><span>Get MediaWiki</span></a></li><li id="n-mw-extensions" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Category:Extensions"><span>Get extensions</span></a></li><li id="n-blog-text" class="mw-list-item"><a href="https://techblog.wikimedia.org/"><span>Tech blog</span></a></li><li id="n-mw-contribute" class="mw-list-item"><a href="/wiki/Special:MyLanguage/How_to_contribute"><span>Contribute</span></a></li> </ul> </div> </div> <div id="p-support" class="vector-menu mw-portlet mw-portlet-support" > <div class="vector-menu-heading"> Support </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Help:Contents" title="The place to find out"><span>User help</span></a></li><li id="n-mw-faq" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Manual:FAQ"><span>FAQ</span></a></li><li id="n-mw-manual" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Manual:Contents"><span>Technical manual</span></a></li><li id="n-mw-supportdesk" class="mw-list-item"><a href="/wiki/Project:Support_desk"><span>Support desk</span></a></li><li id="n-mw-communication" class="mw-list-item"><a href="/wiki/Special:MyLanguage/Communication"><span>Communication</span></a></li> </ul> </div> </div> <div id="p-development" class="vector-menu mw-portlet mw-portlet-development" > <div class="vector-menu-heading"> Development </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mw-developerportal" class="mw-list-item"><a href="https://developer.wikimedia.org/"><span>Developer portal</span></a></li><li id="n-svn-statistics" class="mw-list-item"><a href="/wiki/Development_statistics"><span>Code statistics</span></a></li> </ul> </div> </div> <div id="p-mediawiki.org" class="vector-menu mw-portlet mw-portlet-mediawiki_org" > <div class="vector-menu-heading"> mediawiki.org </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-portal" class="mw-list-item"><a href="/wiki/Project:Help" title="About the project, what you can do, where to find things"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes in the wiki [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-mw-translate" class="mw-list-item"><a href="/wiki/Special:LanguageStats"><span>Translate content</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Load a random page [x]" accesskey="x"><span>Random page</span></a></li><li id="n-mw-discussion" class="mw-list-item"><a href="/wiki/Project:Village_Pump"><span>Village pump</span></a></li><li id="n-Sandboxlink-portlet-label" class="mw-list-item"><a href="/wiki/Project:Sandbox"><span>Sandbox</span></a></li> </ul> </div> </div> <div id="p-lang" class="vector-menu mw-portlet mw-portlet-lang" > <div class="vector-menu-heading"> In other languages </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-add wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:NewItem?site=mediawikiwiki&amp;page=Gerrit%2FPrivilege+policy" title="Add interlanguage links" class="wbc-editpage">Add links</a></span></div> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/MediaWiki" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/mediawikiwiki.svg" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="MediaWiki" src="/static/images/mobile/copyright/mediawikiwiki-wordmark.svg" style="width: 7.5em; height: 1.125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search MediaWiki [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search MediaWiki" aria-label="Search MediaWiki" autocapitalize="sentences" title="Search MediaWiki [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-uls" class="mw-list-item active user-links-collapsible-item"><a data-mw="interface" href="#" class="uls-trigger cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>English</span></a> </li> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page&#039;s font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=spontaneous&amp;uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&amp;returnto=Gerrit%2FPrivilege+policy" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&amp;returnto=Gerrit%2FPrivilege+policy" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="More options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=spontaneous&amp;uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=Gerrit%2FPrivilege+policy" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=Gerrit%2FPrivilege+policy" title="You are encouraged to log in; however, it is not mandatory [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">Beginning</div> </a> </li> <li id="toc-Rights_and_responsibilities" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Rights_and_responsibilities"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Rights and responsibilities</span> </div> </a> <button aria-controls="toc-Rights_and_responsibilities-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Rights and responsibilities subsection</span> </button> <ul id="toc-Rights_and_responsibilities-sublist" class="vector-toc-list"> <li id="toc-Merging_without_review" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Merging_without_review"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.1</span> <span>Merging without review</span> </div> </a> <ul id="toc-Merging_without_review-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Intra-team_review_and_shared_ownership" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Intra-team_review_and_shared_ownership"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.2</span> <span>Intra-team review and shared ownership</span> </div> </a> <ul id="toc-Intra-team_review_and_shared_ownership-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Must_read_for_code_reviewers" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Must_read_for_code_reviewers"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.3</span> <span>Must read for code reviewers</span> </div> </a> <ul id="toc-Must_read_for_code_reviewers-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Requesting_Gerrit_privileges" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Requesting_Gerrit_privileges"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Requesting Gerrit privileges</span> </div> </a> <ul id="toc-Requesting_Gerrit_privileges-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Expedited_process_for_trusted_organisations" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Expedited_process_for_trusted_organisations"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Expedited process for trusted organisations</span> </div> </a> <ul id="toc-Expedited_process_for_trusted_organisations-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Revocation" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Revocation"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Revocation</span> </div> </a> <button aria-controls="toc-Revocation-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Revocation subsection</span> </button> <ul id="toc-Revocation-sublist" class="vector-toc-list"> <li id="toc-Requesting_revocation" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Requesting_revocation"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.1</span> <span>Requesting revocation</span> </div> </a> <ul id="toc-Requesting_revocation-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Amendments_to_this_policy" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Amendments_to_this_policy"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Amendments to this policy</span> </div> </a> <ul id="toc-Amendments_to_this_policy-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Definitions" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Definitions"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>Definitions</span> </div> </a> <ul id="toc-Definitions-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Gerrit/Privilege policy</span></h1> <div class="mw-indicators"> <div id="mw-indicator-tpl-shortcut" class="mw-indicator"><div class="mw-parser-output"><div class="mw-parser-output"><style data-mw-deduplicate="TemplateStyles:r6605561">.mw-parser-output .tpl-badge{background-color:var(--background-color-progressive-subtle,#eaf3ff);color:var(--color-base,#202122);border-radius:10px;display:inline-block;font-size:90%;padding:5px 8px}</style><div class="tpl-badge">shortcut: <a href="/wiki/Gerrit/%2B2" class="mw-redirect" title="Gerrit/+2"><b>Gerrit/+2</b></a></div></div></div></div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Gerrit/Privilege_policy" title="View the content page [c]" accesskey="c"><span>Page</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Gerrit/Privilege_policy" rel="discussion" title="Discussion about the content page [t]" accesskey="t"><span>Discussion</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Gerrit/Privilege_policy"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Gerrit/Privilege_policy&amp;action=edit" title="Edit the source code of this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Gerrit/Privilege_policy&amp;action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Gerrit/Privilege_policy"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Gerrit/Privilege_policy&amp;action=edit" title="Edit the source code of this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Gerrit/Privilege_policy&amp;action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Gerrit/Privilege_policy" title="A list of all wiki pages that link here [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Gerrit/Privilege_policy" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="//commons.wikimedia.org/wiki/Special:UploadWizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Gerrit/Privilege_policy&amp;oldid=6863504" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Gerrit/Privilege_policy&amp;action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=Gerrit%2FPrivilege_policy&amp;id=6863504&amp;wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&amp;url=https%3A%2F%2Fwww.mediawiki.org%2Fwiki%2FGerrit%2FPrivilege_policy"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fwww.mediawiki.org%2Fwiki%2FGerrit%2FPrivilege_policy"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-create_a_book" class="mw-list-item"><a href="/w/index.php?title=Special:Book&amp;bookcmd=book_creator&amp;referer=Gerrit%2FPrivilege+policy"><span>Create a book</span></a></li><li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=Gerrit%2FPrivilege_policy&amp;action=show-download-screen"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Gerrit/Privilege_policy&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects emptyPortlet" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div id="siteSub" class="noprint">From mediawiki.org</div> </div> <div id="contentSub"><div id="mw-content-subtitle"><div class="subpages">&lt; <bdi dir="ltr"><a href="/wiki/Special:MyLanguage/Gerrit" title="Special:MyLanguage/Gerrit">Gerrit</a></bdi></div></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-pt-translate-header noprint nomobile" dir="ltr" lang="en"><a href="/w/index.php?title=Special:Translate&amp;group=page-Gerrit%2FPrivilege+policy&amp;action=page&amp;filter=&amp;action_source=translate_page" title="Special:Translate">Translate this page</a></div><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="mw-pt-languages noprint navigation-not-searchable" lang="en" dir="ltr"><div class="mw-pt-languages-label">Languages:</div><ul class="mw-pt-languages-list"><li><a href="/wiki/Gerrit/Privilege_policy/de" class="mw-pt-progress mw-pt-progress--low" title="Gerrit/Privilegrichtlinien (3% translated)" lang="de" dir="ltr">Deutsch</a></li> <li><span class="mw-pt-languages-ui mw-pt-languages-selected mw-pt-progress mw-pt-progress--complete" lang="en" dir="ltr">English</span></li> <li><a href="/wiki/Gerrit/Privilege_policy/tr" class="mw-pt-progress mw-pt-progress--high" title="Gerrit/Ayrıcalık politikası (99% translated)" lang="tr" dir="ltr">Türkçe</a></li> <li><a href="/wiki/Gerrit/Privilege_policy/fr" class="mw-pt-progress mw-pt-progress--complete" title="Règles des privilèges Gerrit (100% translated)" lang="fr" dir="ltr">français</a></li> <li><a href="/wiki/Gerrit/Privilege_policy/cs" class="mw-pt-progress mw-pt-progress--complete" title="Gerrit/Pravidla přednostního práva (100% translated)" lang="cs" dir="ltr">čeština</a></li> <li><a href="/wiki/Gerrit/Privilege_policy/ru" class="mw-pt-progress mw-pt-progress--low" title="Gerrit/Политика привилегии (2% translated)" lang="ru" dir="ltr">русский</a></li> <li><a href="/wiki/Gerrit/Privilege_policy/bn" class="mw-pt-progress mw-pt-progress--low" title="Gerrit/Privilege policy/bn (1% translated)" lang="bn" dir="ltr">বাংলা</a></li> <li><a href="/wiki/Gerrit/Privilege_policy/zh" class="mw-pt-progress mw-pt-progress--med" title="Gerrit/权限方针 (43% translated)" lang="zh" dir="ltr">中文</a></li> <li><a href="/wiki/Gerrit/Privilege_policy/ja" class="mw-pt-progress mw-pt-progress--high" title="Gerrit/特権方針 (99% translated)" lang="ja" dir="ltr">日本語</a></li> <li><a href="/wiki/Gerrit/Privilege_policy/nan" class="mw-pt-progress mw-pt-progress--low" title="Gerrit/Ti̍k-kuân tsìng-tshik (2% translated)" lang="nan" dir="ltr">閩南語 / Bân-lâm-gú</a></li></ul></div> <style data-mw-deduplicate="TemplateStyles:r6605224">.mw-parser-output .tpl-sidebar{background-color:var(--background-color-interactive-subtle,#f8f9fa);border:1px solid var(--border-color-divider,#a2a9b1);color:var(--color-base,#202122);width:22em;padding:.2em;text-align:center;line-height:1.4em;font-size:88%}.mw-parser-output .tpl-sidebar-pagedir-ltr,.mw-parser-output .tpl-sidebar.tpl-sidebar-floatright{float:right;clear:right;margin:.5em 0 1em 1em}.mw-parser-output .tpl-sidebar-pagedir-rtl,.mw-parser-output .tpl-sidebar.tpl-sidebar-floatleft{float:left;clear:left;margin:.5em 1em 1em 0}.mw-parser-output .tpl-sidebar.tpl-sidebar-floatnone{float:none;clear:both;margin:.5em 0 1em 1em}.mw-parser-output .tpl-sidebar>caption{padding-bottom:.2em;font-size:125%;line-height:1.2em;font-weight:bold}.mw-parser-output .tpl-sidebar>tbody>tr>th,.mw-parser-output .tpl-sidebar>tbody>tr>td{padding:0}.mw-parser-output .tpl-sidebar .tpl-sidebar-topimage>td{padding:.4em 0}.mw-parser-output .tpl-sidebar-imagecaption{padding-top:.2em;line-height:1.2em}.mw-parser-output .tpl-sidebar .tpl-sidebar-pretitle>td{padding-top:.4em;line-height:1.2em}.mw-parser-output .tpl-sidebar .tpl-sidebar-topimage+.tpl-sidebar-pretitle>td{padding-top:.2em}.mw-parser-output .tpl-sidebar .tpl-sidebar-title>th{padding:.2em .4em .2em;font-size:145%;line-height:1.2em}.mw-parser-output .tpl-sidebar .tpl-sidebar-pretitle+.tpl-sidebar-title>th{padding-top:0}.mw-parser-output .tpl-sidebar .tpl-sidebar-image>td{padding:.2em 0 .4em}.mw-parser-output .tpl-sidebar .tpl-sidebar-abovebelow>td{padding:.3em .4em;font-weight:bold}.mw-parser-output .tpl-sidebar .tpl-sidebar-heading>th{padding-top:.2em}.mw-parser-output .tpl-sidebar .tpl-sidebar-image~.tpl-sidebar-heading-first>th{padding-top:.4em}.mw-parser-output .tpl-sidebar .tpl-sidebar-content>td{padding-bottom:.2em}.mw-parser-output .tpl-sidebar :not(.tpl-sidebar-heading)+.tpl-sidebar-content-first>td{padding-top:.2em}.mw-parser-output .tpl-sidebar-navbar>td{font-size:115%}.mw-parser-output .tpl-sidebar-pagedir-ltr .tpl-sidebar-navbar>td{text-align:right}.mw-parser-output .tpl-sidebar-pagedir-rtl .tpl-sidebar-navbar>td{text-align:left}</style><table class="vertical-navbox tpl-sidebar tpl-sidebar-pagedir-ltr nowraplinks noprint" role="navigation" style="width:22em; border-spacing: 0.4em 0; width: 18em"><tbody><tr class="tpl-sidebar-heading tpl-sidebar-heading-first"> <th class="" style="text-align: left;"><span class="mw-valign-bottom" typeof="mw:File"><a href="/wiki/File:Gerrit_icon.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/4/4d/Gerrit_icon.svg/20px-Gerrit_icon.svg.png" decoding="async" width="20" height="20" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/4d/Gerrit_icon.svg/30px-Gerrit_icon.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/4d/Gerrit_icon.svg/40px-Gerrit_icon.svg.png 2x" data-file-width="52" data-file-height="52"/></a></span> <big><a href="/wiki/Special:MyLanguage/Gerrit" title="Special:MyLanguage/Gerrit">Gerrit</a><span style="display:none"><a href="/wiki/Gerrit" title="Gerrit"> </a></span></big></th> </tr><tr class="tpl-sidebar-content tpl-sidebar-content-first"> <td class="" style="padding-left: 0.5em; text-align: left;"> <ul><li><a href="/wiki/Special:MyLanguage/Gerrit/How_Gerrit_works" title="Special:MyLanguage/Gerrit/How Gerrit works">How Gerrit works</a><span style="display:none"><a href="/wiki/Gerrit/How_Gerrit_works" title="Gerrit/How Gerrit works"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Gerrit/Tutorial" title="Special:MyLanguage/Gerrit/Tutorial">Gerrit tutorial</a><span style="display:none"><a href="/wiki/Gerrit/Tutorial" title="Gerrit/Tutorial"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Gerrit/Web_tutorial" title="Special:MyLanguage/Gerrit/Web tutorial">Web tutorial</a><span style="display:none"><a href="/wiki/Gerrit/Web_tutorial" title="Gerrit/Web tutorial"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Gerrit/Advanced_usage" title="Special:MyLanguage/Gerrit/Advanced usage">Advanced usage</a><span style="display:none"><a href="/wiki/Gerrit/Advanced_usage" title="Gerrit/Advanced usage"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Gerrit/Navigation" title="Special:MyLanguage/Gerrit/Navigation">Navigation</a><span style="display:none"><a href="/wiki/Gerrit/Navigation" title="Gerrit/Navigation"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Gerrit/Code_review" title="Special:MyLanguage/Gerrit/Code review">Code review guide</a><span style="display:none"><a href="/wiki/Gerrit/Code_review" title="Gerrit/Code review"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Gerrit/New_repositories" title="Special:MyLanguage/Gerrit/New repositories">New repositories</a><span style="display:none"><a href="/wiki/Gerrit/New_repositories" title="Gerrit/New repositories"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Gerrit/Troubleshooting" title="Special:MyLanguage/Gerrit/Troubleshooting">Troubleshooting</a><span style="display:none"><a href="/wiki/Gerrit/Troubleshooting" title="Gerrit/Troubleshooting"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Git_and_Gerrit_FAQ" title="Special:MyLanguage/Git and Gerrit FAQ">Common questions (FAQ)</a><span style="display:none"><a href="/wiki/Git_and_Gerrit_FAQ" title="Git and Gerrit FAQ"> </a></span></li> <li><b><a href="/wiki/Special:MyLanguage/Gerrit/Privilege_policy" title="Special:MyLanguage/Gerrit/Privilege policy">Privilege policy</a></b><span style="display:none"><a class="mw-selflink selflink"> </a></span></li></ul></td> </tr><tr class="tpl-sidebar-navbar"> <td style=""><style data-mw-deduplicate="TemplateStyles:r4692751">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar ul{display:inline;white-space:nowrap}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em;width:6em}</style><span class="noprint plainlinks navbar" style=""><small><span style="white-space:nowrap;word-spacing:-.12em;"><a href="/wiki/Template:Git_and_Gerrit" title="Template:Git and Gerrit"><span style="" title="View this template">v</span></a><span style=""> <b>·</b> </span><a class="external text" href="https://www.mediawiki.org/wiki/Template_talk:Git_and_Gerrit"><span style="" title="Discuss this template">d</span></a><span style=""> <b>·</b> </span><a class="external text" href="https://www.mediawiki.org/w/index.php?title=Template:Git_and_Gerrit&amp;action=edit"><span style="" title="Edit this template">e</span></a></span></small></span></td> </tr> </tbody></table> <style data-mw-deduplicate="TemplateStyles:r6824882">.mw-parser-output table.ambox{margin:0 10%;width:unset;border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output table.ambox+table.ambox,.mw-parser-output table.ambox+link+table.ambox,.mw-parser-output table.ambox+style+table.ambox{margin-top:-1px}.mw-parser-output .ambox td.mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox th.mbox-text,.mw-parser-output .ambox td.mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox td.mbox-image{padding:2px 0 2px 0.5em}.mw-parser-output .ambox td.mbox-imageright{padding:2px 0.5em 2px 0}.mw-parser-output table.ambox-notice{border-left-color:#36c}.mw-parser-output table.ambox-speedy{background-color:var(--background-color-error-subtle,#fee7e6)}.mw-parser-output table.ambox-delete,.mw-parser-output table.ambox-speedy{border-left-color:var(--background-color-error--active,#b32424)}.mw-parser-output table.ambox-content{border-left-color:#f28500}.mw-parser-output table.ambox-style{border-left-color:#fc3}.mw-parser-output table.ambox-move{border-left-color:#9932cc}.mw-parser-output table.ambox-protection{border-left-color:#a2a9b1}html body.mediawiki .mw-parser-output .ambox.mbox-small{clear:right;float:right;margin:4px 0 4px 1em;box-sizing:border-box;width:238px;font-size:88%;line-height:1.25em}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;box-sizing:border-box;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}</style><table class="ambox ambox-notice plainlinks metadata" role="presentation"><tbody><tr><td class="mbox-image"><div style="width:52px"><span typeof="mw:File"><a href="/wiki/File:OOjs_UI_icon_check-constructive.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/30px-OOjs_UI_icon_check-constructive.svg.png" decoding="async" width="30" height="30" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/45px-OOjs_UI_icon_check-constructive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/f/f6/OOjs_UI_icon_check-constructive.svg/60px-OOjs_UI_icon_check-constructive.svg.png 2x" data-file-width="20" data-file-height="20"/></a></span></div></td><td class="mbox-text"><div class="mbox-text-span">This page documents an official <a href="/wiki/Special:MyLanguage/Development_policy" title="Special:MyLanguage/Development policy">Wikimedia development policy</a>. There is no current mechanism to make changes, as the <a href="/wiki/Special:MyLanguage/Requests_for_comment" title="Special:MyLanguage/Requests for comment">TechCom RFC process</a> is defunct.</div></td></tr></tbody></table> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r6605224"><table class="vertical-navbox tpl-sidebar tpl-sidebar-pagedir-ltr nowraplinks" role="navigation" style="width:22em; border-spacing: 0.4em 0;"><tbody><tr class="tpl-sidebar-title"> <th class="" style="">Development policies</th> </tr><tr class="tpl-sidebar-content tpl-sidebar-content-first"> <td class="" style=";"> <style data-mw-deduplicate="TemplateStyles:r6219282">.mw-parser-output .plainlist ul{line-height:inherit;list-style:none none;margin:0}.mw-parser-output .plainlist ul li{margin-bottom:0}</style><div class="plainlist"> <ul><li><a href="/wiki/Special:MyLanguage/Development_policy" title="Special:MyLanguage/Development policy">Development policy</a><span style="display:none"><a href="/wiki/Development_policy" title="Development policy"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Wikimedia_Engineering_Architecture_Principles" title="Special:MyLanguage/Wikimedia Engineering Architecture Principles">Architecture principles</a><span style="display:none"><a href="/wiki/Wikimedia_Engineering_Architecture_Principles" title="Wikimedia Engineering Architecture Principles"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Wikimedia_services_policy" title="Special:MyLanguage/Wikimedia services policy">Services policy</a><span style="display:none"><a href="/wiki/Wikimedia_services_policy" title="Wikimedia services policy"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Support_policy_for_PHP" title="Special:MyLanguage/Support policy for PHP">Support policy for PHP</a><span style="display:none"><a href="/wiki/Support_policy_for_PHP" title="Support policy for PHP"> </a></span></li> <li><b><a href="/wiki/Special:MyLanguage/Gerrit/Privilege_policy" title="Special:MyLanguage/Gerrit/Privilege policy">Gerrit privilege policy</a></b><span style="display:none"><a class="mw-selflink selflink"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Stable_interface_policy" title="Special:MyLanguage/Stable interface policy">Stable interface policy</a><span style="display:none"><a href="/wiki/Stable_interface_policy" title="Stable interface policy"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/MediaWiki_database_policy" title="Special:MyLanguage/MediaWiki database policy">MediaWiki database policy</a><span style="display:none"><a href="/wiki/MediaWiki_database_policy" title="MediaWiki database policy"> </a></span></li></ul> </div></td> </tr><tr class="tpl-sidebar-heading"> <th class="" style=";">See also</th> </tr><tr class="tpl-sidebar-content"> <td class="" style=";"> <a href="/wiki/Special:MyLanguage/Development_guidelines" title="Special:MyLanguage/Development guidelines">Development guidelines</a><span style="display:none"><a href="/wiki/Development_guidelines" title="Development guidelines"> </a></span></td> </tr><tr class="tpl-sidebar-navbar"> <td style=""><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r4692751"><span class="noprint plainlinks navbar" style=""><small><span style="white-space:nowrap;word-spacing:-.12em;"><a href="/wiki/Template:Development_policy" title="Template:Development policy"><span style="" title="View this template">v</span></a><span style=""> <b>·</b> </span><a class="external text" href="https://www.mediawiki.org/wiki/Template_talk:Development_policy"><span style="" title="Discuss this template">d</span></a><span style=""> <b>·</b> </span><a class="external text" href="https://www.mediawiki.org/w/index.php?title=Template:Development_policy&amp;action=edit"><span style="" title="Edit this template">e</span></a></span></small></span></td> </tr> </tbody></table> <meta property="mw:PageProp/toc"/> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Rights_and_responsibilities" data-mw-thread-id="h-Rights_and_responsibilities"><span data-mw-comment-start="" id="h-Rights_and_responsibilities"></span>Rights and responsibilities<span data-mw-comment-end="h-Rights_and_responsibilities"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Gerrit/Privilege_policy&amp;action=edit&amp;section=1" title="Edit section: Rights and responsibilities"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Rights_and_responsibilities","replies":["h-Merging_without_review-Rights_and_responsibilities","h-Intra-team_review_and_shared_ownership-Rights_and_responsibilities","h-Must_read_for_code_reviewers-Rights_and_responsibilities"]}}--></div> <p>Most Wikimedia Gerrit repositories are configured such that when a user gives a "+2" code review, Jenkins will automatically merge the change after running tests. So the right to give a +2 code review is restricted to people in particular Gerrit groups. Typically, there is a Gerrit group named after each repository which grants privileges on that repository. Also, some Gerrit groups grant privileges on multiple repositories. Most notably, the <code>mediawiki</code> group grants privileges on the MediaWiki core and all extensions and skins, as well as some other MediaWiki-related repositories. </p><p>Gerrit groups can derive their members from LDAP groups. Most <a href="https://meta.wikimedia.org/wiki/Wikimedia_Foundation" class="extiw" title="meta:Wikimedia Foundation">WMF</a> employees are in the <code>wmf</code> group in LDAP, which automatically grants them membership of the <code>mediawiki</code> group. </p><p>Gerrit administrators are able to add and remove members from Gerrit groups. </p><p>Merging a change to the MediaWiki core or an extension deployed by Wikimedia is a big deal. The change will be <i>automatically</i> deployed to the <a href="/wiki/Special:MyLanguage/Beta_Cluster" title="Special:MyLanguage/Beta Cluster">Beta Cluster</a><span style="display:none"><a href="/wiki/Beta_Cluster" title="Beta Cluster"> </a></span>, a virtualised staging environment, as soon as it's been merged in <a href="/wiki/Special:MyLanguage/Gerrit" title="Special:MyLanguage/Gerrit">Gerrit</a><span style="display:none"><a href="/wiki/Gerrit" title="Gerrit"> </a></span>. It will also be <i>automatically</i> picked up in the next MediaWiki core deployment window (see <a href="https://wikitech.wikimedia.org/wiki/Deployments" class="extiw" title="wikitech:Deployments">Deployments</a>) unless it is reverted before the release branch is cut. </p><p>Your merge could cause Wikipedia or other sites to fail. It could create a security vulnerability that allows attackers to delete or corrupt data, or to gain access to private information. And in the more common case, it could cause <a href="/wiki/Special:MyLanguage/technical_debt" title="Special:MyLanguage/technical debt">Technical debt</a><span style="display:none"><a href="/wiki/Technical_debt" title="Technical debt"> </a></span> to increase if the code doesn't have tests, is poorly implemented or poorly socialised. You should carefully read this document and all relevant policies before using +2. </p><p>+2 is a strong expression of trust, and trust is maintained through good judgement and careful action. </p><p>In code review, design discussions, and bug comments, those with +2 power have a special responsibility to see from others' points of view. </p> <div class="mw-heading mw-heading3"><h3 id="Merging_without_review" data-mw-thread-id="h-Merging_without_review-Rights_and_responsibilities"><span data-mw-comment-start="" id="h-Merging_without_review-Rights_and_responsibilities"></span>Merging without review<span data-mw-comment-end="h-Merging_without_review-Rights_and_responsibilities"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Gerrit/Privilege_policy&amp;action=edit&amp;section=2" title="Edit section: Merging without review"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Merging code without review is bad for code quality and bad for morale. The point of +2 rights is to <i>separate development and code review</i>. The purpose of merging a change in Gerrit is to tell the world that "Yes, I've ensured that this change follows MediaWiki conventions, good engineering practices and is sensible." (Cf. <a rel="nofollow" class="external text" href="https://www.codinghorror.com/blog/2006/01/code-reviews-just-do-it.html">"Code Reviews: Just Do It" by Jeff Atwood</a>.) Inline comments can be used to indicate issues with the code that should be addressed before it is merged. </p><p>Merging your own code without approval from a reviewer may be grounds for revocation of privileges. </p><p>This is not necessarily the same as giving +2 to a Gerrit change owned by yourself. For example: </p> <ul><li>If a change receives +2 from a reviewer, but the Jenkins build fails, the owner might need to give it +2 to restart the build job.</li> <li>Reverts can generally be self-merged, as long as the commit it is reverting was recent. You are reverting to a version which was presumably reviewed at the time.</li> <li>In deployment branches and the Puppet repository, changes are merged by the person doing the deployment, who is often also the author. In these cases, code review is typically indicated by giving +1 to the change.</li> <li>A commit in Gerrit may have two authors: an owner, and a reviewer who uploads an amendment. Typically, the owner and reviewer each review the other's work. As long as all the changes have been reviewed and approved, the commit may be merged.</li></ul> <p>Very few changes are trivial enough to self-merge. Self-merging is tolerated in some cases like trivial documentation changes or projects with only one maintainer. </p><p>For extensions (and other projects) not deployed to the Wikimedia cluster, the code review policy is up to the maintainer or author of the extension. Some non-Wikimedia extensions follow Wikimedia's policy of prohibiting self-merges, but there is no requirement of that. If you are the only person writing the extension and have nobody to review your change, or if the extension is abandoned, it is acceptable to self-merge your changes. </p> <div class="mw-heading mw-heading3"><h3 id="Intra-team_review_and_shared_ownership" data-mw-thread-id="h-Intra-team_review_and_shared_ownership-Rights_and_responsibilities"><span data-mw-comment-start="" id="h-Intra-team_review_and_shared_ownership-Rights_and_responsibilities"></span>Intra-team review and shared ownership<span data-mw-comment-end="h-Intra-team_review_and_shared_ownership-Rights_and_responsibilities"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Gerrit/Privilege_policy&amp;action=edit&amp;section=3" title="Edit section: Intra-team review and shared ownership"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>If you're working as part of a team, review by members of your team is not only permitted, but strongly encouraged. Having peers review your code on an ongoing basis is a great way to keep momentum of development going, and ensure that your reviewers are familiar with what you're doing. </p><p>When you're doing intra-team review, be especially sensitive about blind spots, <a href="https://en.wikipedia.org/wiki/List_of_cognitive_biases" class="extiw" title="w:List of cognitive biases">cognitive biases</a>, and the need to get buy-in for large changes outside the group of people you're working in. Most open source projects, including MediaWiki, are full of abandoned efforts to create fancy new abstraction layers, skinning systems, testing frameworks, etc. Consider the impact of your changes on the ecosystem as a whole, and engage in conversations through <a href="/wiki/Requests_for_comment" title="Requests for comment">requests for comment</a>, <a class="external text" href="https://lists.wikimedia.org/mailman/listinfo/wikitech-l">wikitech-l</a>, IRC and other venues. Shared ownership of code (<a rel="nofollow" class="external text" href="https://www.martinfowler.com/bliki/CodeOwnership.html">to a greater or lesser degree</a>) helps to ensure that what you're doing has lasting long term value. </p><p><br/> </p> <div class="mw-heading mw-heading3"><h3 id="Must_read_for_code_reviewers" data-mw-thread-id="h-Must_read_for_code_reviewers-Rights_and_responsibilities"><span data-mw-comment-start="" id="h-Must_read_for_code_reviewers-Rights_and_responsibilities"></span>Must read for code reviewers<span data-mw-comment-end="h-Must_read_for_code_reviewers-Rights_and_responsibilities"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Gerrit/Privilege_policy&amp;action=edit&amp;section=4" title="Edit section: Must read for code reviewers"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/Special:MyLanguage/Gerrit/Code_review" title="Special:MyLanguage/Gerrit/Code review">Code review guide</a><span style="display:none"><a href="/wiki/Gerrit/Code_review" title="Gerrit/Code review"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Security_for_developers" title="Special:MyLanguage/Security for developers">Security for developers</a><span style="display:none"><a href="/wiki/Security_for_developers" title="Security for developers"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Manual:Coding_conventions" title="Special:MyLanguage/Manual:Coding conventions">Manual:Coding conventions</a><span style="display:none"><a href="/wiki/Manual:Coding_conventions" title="Manual:Coding conventions"> </a></span> - and subpages</li> <li><a href="/wiki/Special:MyLanguage/Manual:Unit_testing" title="Special:MyLanguage/Manual:Unit testing">Manual:Unit testing</a><span style="display:none"><a href="/wiki/Manual:Unit_testing" title="Manual:Unit testing"> </a></span> - and related pages</li> <li><a href="/wiki/Special:MyLanguage/Localisation" title="Special:MyLanguage/Localisation">Localisation</a><span style="display:none"><a href="/wiki/Localisation" title="Localisation"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Database_optimization" title="Special:MyLanguage/Database optimization">Database optimization</a><span style="display:none"><a href="/wiki/Database_optimization" title="Database optimization"> </a></span> - keep this in mind when making schema changes (which should be implemented following <a href="https://wikitech.wikimedia.org/wiki/Schema_changes" class="extiw" title="wikitech:Schema changes">this process</a>)</li> <li><a href="/wiki/Special:MyLanguage/Manual:How_to_debug" title="Special:MyLanguage/Manual:How to debug">Manual:How to debug</a><span style="display:none"><a href="/wiki/Manual:How_to_debug" title="Manual:How to debug"> </a></span></li></ul> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Requesting_Gerrit_privileges" data-mw-thread-id="h-Requesting_Gerrit_privileges"><span data-mw-comment-start="" id="h-Requesting_Gerrit_privileges"></span>Requesting Gerrit privileges<span data-mw-comment-end="h-Requesting_Gerrit_privileges"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Gerrit/Privilege_policy&amp;action=edit&amp;section=5" title="Edit section: Requesting Gerrit privileges"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Requesting_Gerrit_privileges","replies":[]}}--></div> <p>To request membership in the <code>mediawiki</code> group, <a class="external text" href="https://phabricator.wikimedia.org/maniphest/task/create/?projects=MediaWiki-Group-Requests&amp;title=Request%20membership%20in%20%3CINSERT%20GROUP%20NAME%3E%20group%20for%20%3CINSERT%20YOUR%20GERRIT%20USERNAME%3E&amp;description=Please%20make%20sure%20that%20you%20read%20and%20understood%20https%3A%2F%2Fwww.mediawiki.org%2Fwiki%2FGerrit%2FPrivilege_policy%20%2C%20and%20provide%20all%20required%20information%3A%0A%0A%2A%20Your%20Gerrit%20username%3A%20%0A%2A%20The%20Gerrit%20repository%20or%20repositories%20to%20which%20access%20is%20required%3A%20%0A%2A%20Your%20reason%2C%20including%20links%20to%20patches%20written%20and%20reviewed%3A%20">create a new task</a> under the <a href="https://phabricator.wikimedia.org//tag/MediaWiki-Gerrit-Group-Requests/" class="extiw" title="phab:/tag/MediaWiki-Gerrit-Group-Requests/">MediaWiki-Gerrit-Group-Requests</a> project in Phabricator. Then send an email to the <a href="/wiki/Mailing_lists/Wikitech-l" title="Mailing lists/Wikitech-l">wikitech-l</a> mailing list. </p><p>To request membership in another group, <a class="external text" href="https://phabricator.wikimedia.org/maniphest/task/create/?projects=Gerrit-Privilege-Requests&amp;title=Request%20membership%20in%20%3CINSERT%20GROUP%20NAME%3E%20group%20for%20%3CINSERT%20YOUR%20GERRIT%20USERNAME%3E&amp;description=Please%20make%20sure%20that%20you%20read%20and%20understood%20https%3A%2F%2Fwww.mediawiki.org%2Fwiki%2FGerrit%2FPrivilege_policy%20%2C%20and%20provide%20all%20required%20information%3A%0A%0A%2A%20Your%20Gerrit%20username%3A%20%0A%2A%20The%20Gerrit%20repository%20or%20repositories%20to%20which%20access%20is%20required%3A%20%0A%2A%20Your%20reason%2C%20including%20links%20to%20patches%20written%20and%20reviewed%3A%20">create a new task</a> under the <a href="https://phabricator.wikimedia.org//tag/Gerrit-Privilege-Requests/" class="extiw" title="phab:/tag/Gerrit-Privilege-Requests/">Gerrit-Privilege-Requests</a> project in Phabricator. </p><p>In either case, the Phabricator task should specify: </p> <ul><li>Gerrit username</li> <li>repository or repositories to which access is required</li> <li>reasoning, including links to patches written and reviewed</li></ul> <p>Developers commenting on a privilege request should consider whether the applicant has contributed high quality patches, has exercised +1 rights well, and has demonstrated competence. Negative comments should be written with tact, they should not be overly strident. </p><p>If there is a consensus of trusted developers on the Phabricator task, any of the <a class="external text" href="https://ldap.toolforge.org/group/gerritadmin">Gerrit administrators</a> can resolve the request. The task must remain open for at least a week, to allow interested developers to comment. Additional time should be allowed if the request is open during travel or holiday periods. </p><p>If there is no consensus on a request in Phabricator, it may be referred to <a href="/wiki/TechCom" class="mw-redirect" title="TechCom">TechCom</a> for adjudication. </p><p>Previously, some extension maintainers were given ownership rights on the relevant project in Gerrit, so that they could add new group members without making a request in Phabricator. This model should not be used for new extensions. Gerrit administrators should not grant repository ownership to ordinary developers. Before an extension is deployed to the Wikimedia cluster for the first time, the rights should be audited, and legacy ownership privileges should be downgraded to +2 access. </p> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Expedited_process_for_trusted_organisations" data-mw-thread-id="h-Expedited_process_for_trusted_organisations"><span data-mw-comment-start="" id="h-Expedited_process_for_trusted_organisations"></span>Expedited process for trusted organisations<span data-mw-comment-end="h-Expedited_process_for_trusted_organisations"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Gerrit/Privilege_policy&amp;action=edit&amp;section=6" title="Edit section: Expedited process for trusted organisations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Expedited_process_for_trusted_organisations","replies":[]}}--></div> <p>Gerrit administrators may immediately act on requests from the following trusted organisations for the granting and revocation of membership in their managed groups, specifically: </p> <table class="wikitable"> <tbody><tr> <th>Organisation </th> <th>Managed groups </th></tr> <tr> <td>Wikimedia Deutschland </td> <td><code>wmde</code>, <code>wmde-mediawiki</code> </td></tr> <tr> <td>ShoutWiki </td> <td><code>ShoutWiki</code>, <code>Brickimedia</code> </td></tr> <tr> <td>Hallo Welt! </td> <td><code>bluespice</code> </td></tr> <tr> <td>WikiTeq </td> <td><code>WikiTeq</code> </td></tr></tbody></table> <p>It is not necessary to file a Phabricator task or demonstrate consensus. </p><p>This facility is intended to allow these organisations to rapidly on-board staff members, who are assumed to be trusted by virtue of the hiring process. It also allows trusted organisations to grant access to volunteers who are well known and trusted by those organisations. </p><p>WMF employees may be added to the <code>wmf</code> group in LDAP when they are hired. Wikimedia Deutschland employees may be added to the <code>wmde</code> group in LDAP when they are hired. </p><p>TechCom, or the CTO in consultation with TechCom, may direct a Gerrit administrator to add any person to a Gerrit group. </p> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Revocation" data-mw-thread-id="h-Revocation"><span data-mw-comment-start="" id="h-Revocation"></span>Revocation<span data-mw-comment-end="h-Revocation"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Gerrit/Privilege_policy&amp;action=edit&amp;section=7" title="Edit section: Revocation"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Revocation","replies":["h-Requesting_revocation-Revocation"]}}--></div> <p>Revocation of Gerrit rights is permitted in the following circumstances: </p> <ul><li>In an emergency, such as a compromised account, Gerrit administrators may revoke access immediately, at their discretion. Reversal of emergency revocation may be done at the administrator's discretion if the emergency is judged to have passed. TechCom, or the CTO in consultation with TechCom, may review an emergency revocation and direct its reversal.</li> <li>Revocation of privileges of a WMF employee may be directed by that employee's manager, in consultation with WMF Talent and Culture, as discussed in the Staff Handbook.</li> <li>Revocation of privileges from any person may be directed by TechCom, or by the CTO in consultation with TechCom.</li></ul> <p>The reasons for revocation may include: </p> <ul><li>Merging bad code</li> <li>Merging your own code without review</li> <li>Failing to socialise high impact changes within the development community</li> <li>Not following the guidelines above</li> <li>Inappropriate behaviour, in particular, violating the <a href="/wiki/Special:MyLanguage/Code_of_Conduct" title="Special:MyLanguage/Code of Conduct">Code of Conduct</a></li> <li>Termination of employment or contract</li></ul> <p>It is WMF policy to revoke all privileges when staff members depart, even if those privileges were granted prior to the beginning of employment by virtue of volunteer work. Consistent application of this policy helps to protect the privacy of departing staff members: no fault is implied. If departed staff members wish to continue to contribute in a volunteer capacity, they may reapply for access by the usual process. </p> <div class="mw-heading mw-heading3"><h3 id="Requesting_revocation" data-mw-thread-id="h-Requesting_revocation-Revocation"><span data-mw-comment-start="" id="h-Requesting_revocation-Revocation"></span>Requesting revocation<span data-mw-comment-end="h-Requesting_revocation-Revocation"></span></h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Gerrit/Privilege_policy&amp;action=edit&amp;section=8" title="Edit section: Requesting revocation"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Emergency revocation should be requested by directly contacting a Gerrit administrator, for example using <a href="/wiki/Special:MyLanguage/IRC" title="Special:MyLanguage/IRC">IRC</a>. Revocation for reasons of competence or behaviour should generally be handled in private, following a defined escalation path. For more details, refer to the following table: </p> <table class="wikitable"> <tbody><tr> <th>Scenario </th> <th>Action </th></tr> <tr> <td> <ul><li>A developer uploads and self-merges plainly malicious code.</li></ul> </td> <td> <ul><li>Contact a Gerrit administrator for emergency revocation.</li></ul> </td></tr> <tr> <td> <ul><li>A developer shows a pattern of merging flawed changes, without proper review.</li> <li>A developer repeatedly merges their own code, in violation of community norms.</li></ul> </td> <td> <ul><li>If the developer is an employee of WMF or a trusted organisation, report the problem to their manager.</li> <li>If the manager's response was unsatisfactory, or if the developer is not an employee, report the problem to TechCom.</li> <li>If TechCom's response is unsatisfactory, you may report the problem to the CTO.</li></ul> </td></tr> <tr> <td> <ul><li>A developer uses their +2 access to bully or intimidate developers seeking review.</li> <li>Other behaviour issues or Code of Conduct violations.</li></ul> </td> <td> <ul><li>If the developer is an employee of WMF or a trusted organisation, and you feel comfortable doing so, report the problem to their manager.</li> <li>Otherwise, report the problem either to TechCom or to the Code of Conduct committee.</li> <li>If the committee's response is unsatisfactory, you may report the problem to the CTO.</li></ul> </td></tr></tbody></table> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Amendments_to_this_policy" data-mw-thread-id="h-Amendments_to_this_policy"><span data-mw-comment-start="" id="h-Amendments_to_this_policy"></span>Amendments to this policy<span data-mw-comment-end="h-Amendments_to_this_policy"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Gerrit/Privilege_policy&amp;action=edit&amp;section=9" title="Edit section: Amendments to this policy"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Amendments_to_this_policy","replies":[]}}--></div> <p>Amendments to this policy must be approved by the CTO, in consultation with TechCom. </p> <div class="mw-heading mw-heading2 ext-discussiontools-init-section"><h2 id="Definitions" data-mw-thread-id="h-Definitions"><span data-mw-comment-start="" id="h-Definitions"></span>Definitions<span data-mw-comment-end="h-Definitions"></span></h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Gerrit/Privilege_policy&amp;action=edit&amp;section=10" title="Edit section: Definitions"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span><!--__DTELLIPSISBUTTON__{"threadItem":{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Definitions","replies":[]}}--></div> <dl><dt>CTO</dt> <dd>The Chief Technology Officer of the Wikimedia Foundation.</dd> <dt>TechCom</dt> <dd>The <a href="/wiki/Wikimedia_Technical_Committee" title="Wikimedia Technical Committee">Wikimedia Technical Committee</a>. For TechCom to decide or direct something means that a meeting of the committee, by remote audio/video conference or in person, with the attendance of a quorum of at least half of TechCom's members, passes a resolution by simple majority or unanimous consent.</dd></dl> <div class="navbox-styles nomobile"><style data-mw-deduplicate="TemplateStyles:r6230902">.mw-parser-output .navbox{border:1px solid #aaa;box-sizing:border-box;width:100%;margin:auto;clear:both;font-size:88%;text-align:center;padding:1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox th,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{text-align:center;padding-left:1em;padding-right:1em}.mw-parser-output th.navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background:#fdfdfd}.mw-parser-output .navbox-list{border-color:#fdfdfd}.mw-parser-output .navbox th,.mw-parser-output .navbox-title{background:#eaeeff}.mw-parser-output .navbox-abovebelow,.mw-parser-output th.navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background:#ddddff}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background:#e6e6ff}.mw-parser-output .navbox-even{background:#f7f7f7}.mw-parser-output .navbox-odd{background:transparent}.mw-parser-output th.navbox-title1{border-left:2px solid #fdfdfd;width:100%}.mw-parser-output td.navbox-list1{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .hlist dd,.mw-parser-output .navbox .hlist dt,.mw-parser-output .navbox .hlist li{white-space:nowrap}.mw-parser-output .navbox .hlist dd dl,.mw-parser-output .navbox .hlist dt dl,.mw-parser-output .navbox .hlist li ol,.mw-parser-output .navbox .hlist li ul{white-space:normal}.mw-parser-output ol+.navbox-styles+.navbox,.mw-parser-output ul+.navbox-styles+.navbox{margin-top:0.5em}</style></div><div role="navigation" class="navbox" aria-labelledby="Development_guidelines" style="border: 1px solid #aaa; padding: 3px;;padding:3px"><table class="nowraplinks hlist navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r6387430">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li,.mw-parser-output .hlist .mw-empty-elt{display:none}.mw-parser-output .hlist dt:after{content:": "}.mw-parser-output .hlist dd:after,.mw-parser-output .hlist li:after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child:after,.mw-parser-output .hlist dt:last-child:after,.mw-parser-output .hlist li:last-child:after{content:none}.mw-parser-output .hlist dd dd:first-child:before,.mw-parser-output .hlist dd dt:first-child:before,.mw-parser-output .hlist dd li:first-child:before,.mw-parser-output .hlist dt dd:first-child:before,.mw-parser-output .hlist dt dt:first-child:before,.mw-parser-output .hlist dt li:first-child:before,.mw-parser-output .hlist li dd:first-child:before,.mw-parser-output .hlist li dt:first-child:before,.mw-parser-output .hlist li li:first-child:before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child:after,.mw-parser-output .hlist dd dt:last-child:after,.mw-parser-output .hlist dd li:last-child:after,.mw-parser-output .hlist dt dd:last-child:after,.mw-parser-output .hlist dt dt:last-child:after,.mw-parser-output .hlist dt li:last-child:after,.mw-parser-output .hlist li dd:last-child:after,.mw-parser-output .hlist li dt:last-child:after,.mw-parser-output .hlist li li:last-child:after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li:before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child:before,.mw-parser-output .hlist dt ol>li:first-child:before,.mw-parser-output .hlist li ol>li:first-child:before{content:" ("counter(listitem)"\a0 "}</style><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r4692751"><div class="plainlinks hlist navbar mini"><ul><li class="nv-view"><a href="/wiki/Template:Development_guidelines_navigation" title="Template:Development guidelines navigation"><abbr title="View this template" style=";;background:none transparent;border:none;box-shadow:none; padding:0;">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Development_guidelines_navigation" title="Template talk:Development guidelines navigation"><abbr title="Discuss this template" style=";;background:none transparent;border:none;box-shadow:none; padding:0;">t</abbr></a></li><li class="nv-edit"><a class="external text" href="https://www.mediawiki.org/w/index.php?title=Template:Development_guidelines_navigation&amp;action=edit"><abbr title="Edit this template" style=";;background:none transparent;border:none;box-shadow:none; padding:0;">e</abbr></a></li></ul></div><div id="Development_guidelines" style="font-size:114%;margin:0 4em"><a href="/wiki/Special:MyLanguage/Development_guidelines" title="Special:MyLanguage/Development guidelines"><span style="font-weight: bold;">Development guidelines</span></a><span style="display:none"><a href="/wiki/Development_guidelines" title="Development guidelines"> </a></span></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Policies</th><td class="navbox-list1 navbox-list navbox-odd" style="width:100%;padding:0px"><div style="padding:0em 0.25em"> <ul><li><a href="/wiki/Special:MyLanguage/Development_policy" title="Special:MyLanguage/Development policy">Development policy</a><span style="display:none"><a href="/wiki/Development_policy" title="Development policy"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Wikimedia_Engineering_Architecture_Principles" title="Special:MyLanguage/Wikimedia Engineering Architecture Principles">Architecture principles</a><span style="display:none"><a href="/wiki/Wikimedia_Engineering_Architecture_Principles" title="Wikimedia Engineering Architecture Principles"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Wikimedia_services_policy" title="Special:MyLanguage/Wikimedia services policy">Services policy</a><span style="display:none"><a href="/wiki/Wikimedia_services_policy" title="Wikimedia services policy"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Support_policy_for_PHP" title="Special:MyLanguage/Support policy for PHP">Support policy for PHP</a><span style="display:none"><a href="/wiki/Support_policy_for_PHP" title="Support policy for PHP"> </a></span></li> <li><b><a href="/wiki/Special:MyLanguage/Gerrit/Privilege_policy" title="Special:MyLanguage/Gerrit/Privilege policy">Gerrit/Privilege policy</a></b><span style="display:none"><a class="mw-selflink selflink"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Stable_interface_policy" title="Special:MyLanguage/Stable interface policy">Stable interface policy</a><span style="display:none"><a href="/wiki/Stable_interface_policy" title="Stable interface policy"> </a></span> <ul><li><a href="/wiki/Special:MyLanguage/Stable_interface_policy/Frontend" title="Special:MyLanguage/Stable interface policy/Frontend">Frontend</a><span style="display:none"><a href="/wiki/Stable_interface_policy/Frontend" title="Stable interface policy/Frontend"> </a></span></li></ul></li> <li><a href="/wiki/Special:MyLanguage/MediaWiki_database_policy" title="Special:MyLanguage/MediaWiki database policy">MediaWiki database policy</a><span style="display:none"><a href="/wiki/MediaWiki_database_policy" title="MediaWiki database policy"> </a></span></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">General guidelines</th><td class="navbox-list1 navbox-list navbox-even" style="width:100%;padding:0px"><div style="padding:0em 0.25em"> <ul><li><a href="/wiki/Special:MyLanguage/Security_for_developers" title="Special:MyLanguage/Security for developers">Security for developers</a><span style="display:none"><a href="/wiki/Security_for_developers" title="Security for developers"> </a></span></li> <li><a href="https://wikitech.wikimedia.org/wiki/Performance/Guides/Backend_performance_practices" class="extiw" title="wikitech:Performance/Guides/Backend performance practices">Performance guidelines</a></li> <li><a href="/wiki/Special:MyLanguage/Gerrit/Commit_message_guidelines" title="Special:MyLanguage/Gerrit/Commit message guidelines">Commit message guidelines</a><span style="display:none"><a href="/wiki/Gerrit/Commit_message_guidelines" title="Gerrit/Commit message guidelines"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Security_checklist_for_developers" title="Special:MyLanguage/Security checklist for developers">Security checklist for developers</a><span style="display:none"><a href="/wiki/Security_checklist_for_developers" title="Security checklist for developers"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Localisation" title="Special:MyLanguage/Localisation">Localisation</a><span style="display:none"><a href="/wiki/Localisation" title="Localisation"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Design/Living_style_guide" title="Special:MyLanguage/Design/Living style guide">Design style guide</a><span style="display:none"><a href="/wiki/Design/Living_style_guide" title="Design/Living style guide"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Documentation/Style_guide" title="Special:MyLanguage/Documentation/Style guide">Documentation/Style guide</a><span style="display:none"><a href="/wiki/Documentation/Style_guide" title="Documentation/Style guide"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Accessibility_guide_for_developers" title="Special:MyLanguage/Accessibility guide for developers">Accessibility guide for developers</a><span style="display:none"><a href="/wiki/Accessibility_guide_for_developers" title="Accessibility guide for developers"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Inclusive_language" title="Special:MyLanguage/Inclusive language">Inclusive language</a><span style="display:none"><a href="/wiki/Inclusive_language" title="Inclusive language"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Guidelines_for_a_healthy_code_review_culture" title="Special:MyLanguage/Guidelines for a healthy code review culture">Guidelines for a healthy code review culture</a><span style="display:none"><a href="/wiki/Guidelines_for_a_healthy_code_review_culture" title="Guidelines for a healthy code review culture"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Collaborative_programming" title="Special:MyLanguage/Collaborative programming">Collaborative programming</a><span style="display:none"><a href="/wiki/Collaborative_programming" title="Collaborative programming"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Best_practices_for_extensions" title="Special:MyLanguage/Best practices for extensions">Best practices for extensions</a><span style="display:none"><a href="/wiki/Best_practices_for_extensions" title="Best practices for extensions"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Manual:Pre-commit_checklist" title="Special:MyLanguage/Manual:Pre-commit checklist">Pre-commit checklist</a><span style="display:none"><a href="/wiki/Manual:Pre-commit_checklist" title="Manual:Pre-commit checklist"> </a></span></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Code conventions</th><td class="navbox-list1 navbox-list navbox-odd" style="width:100%;padding:0px"><div style="padding:0em 0.25em"> <ul><li><a href="/wiki/Special:MyLanguage/Manual:Coding_conventions#Code_structure" title="Special:MyLanguage/Manual:Coding conventions">All languages</a><span style="display:none"><a href="/wiki/Manual:Coding_conventions#Code_structure" title="Manual:Coding conventions"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Manual:Coding_conventions/PHP" title="Special:MyLanguage/Manual:Coding conventions/PHP">PHP</a><span style="display:none"><a href="/wiki/Manual:Coding_conventions/PHP" title="Manual:Coding conventions/PHP"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Manual:PHP_unit_testing/Writing_unit_tests#Test_conventions" title="Special:MyLanguage/Manual:PHP unit testing/Writing unit tests">PHPUnit</a><span style="display:none"><a href="/wiki/Manual:PHP_unit_testing/Writing_unit_tests#Test_conventions" title="Manual:PHP unit testing/Writing unit tests"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Manual:Coding_conventions/JavaScript" title="Special:MyLanguage/Manual:Coding conventions/JavaScript">JavaScript</a><span style="display:none"><a href="/wiki/Manual:Coding_conventions/JavaScript" title="Manual:Coding conventions/JavaScript"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Manual:Coding_conventions/CSS" title="Special:MyLanguage/Manual:Coding conventions/CSS">CSS</a><span style="display:none"><a href="/wiki/Manual:Coding_conventions/CSS" title="Manual:Coding conventions/CSS"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Manual:Coding_conventions/Selenium" title="Special:MyLanguage/Manual:Coding conventions/Selenium">Selenium</a><span style="display:none"><a href="/wiki/Manual:Coding_conventions/Selenium" title="Manual:Coding conventions/Selenium"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Manual:Coding_conventions/Lua" title="Special:MyLanguage/Manual:Coding conventions/Lua">Lua</a><span style="display:none"><a href="/wiki/Manual:Coding_conventions/Lua" title="Manual:Coding conventions/Lua"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Manual:Coding_conventions/Python" title="Special:MyLanguage/Manual:Coding conventions/Python">Python</a><span style="display:none"><a href="/wiki/Manual:Coding_conventions/Python" title="Manual:Coding conventions/Python"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Manual:Coding_conventions/Java" title="Special:MyLanguage/Manual:Coding conventions/Java">Java</a><span style="display:none"><a href="/wiki/Manual:Coding_conventions/Java" title="Manual:Coding conventions/Java"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Manual:Coding_conventions/SVG" title="Special:MyLanguage/Manual:Coding conventions/SVG">SVG</a><span style="display:none"><a href="/wiki/Manual:Coding_conventions/SVG" title="Manual:Coding conventions/SVG"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Manual:Coding_conventions/Vue" title="Special:MyLanguage/Manual:Coding conventions/Vue">Vue</a><span style="display:none"><a href="/wiki/Manual:Coding_conventions/Vue" title="Manual:Coding conventions/Vue"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Manual:Coding_conventions/Database" title="Special:MyLanguage/Manual:Coding conventions/Database">Database schemas</a><span style="display:none"><a href="/wiki/Manual:Coding_conventions/Database" title="Manual:Coding conventions/Database"> </a></span></li> <li><a href="/wiki/Special:MyLanguage/Product_Analytics/Style_guide" title="Special:MyLanguage/Product Analytics/Style guide">Analytics (Python, R, SQL)</a><span style="display:none"><a href="/wiki/Product_Analytics/Style_guide" title="Product Analytics/Style guide"> </a></span></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">API client code</th><td class="navbox-list1 navbox-list navbox-even" style="width:100%;padding:0px"><div style="padding:0em 0.25em"> <ul><li><a href="/wiki/Special:MyLanguage/API:Client_code/Gold_standard" title="Special:MyLanguage/API:Client code/Gold standard">Standards for API client libraries</a><span style="display:none"><a href="/wiki/API:Client_code/Gold_standard" title="API:Client code/Gold standard"> </a></span></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Drafts</th><td class="navbox-list1 navbox-list navbox-odd" style="width:100%;padding:0px"><div style="padding:0em 0.25em"> <ul><li><i><a href="/wiki/Special:MyLanguage/Manual:Coding_conventions/Documentation" title="Special:MyLanguage/Manual:Coding conventions/Documentation">Code documentation</a><span style="display:none"><a href="/wiki/Manual:Coding_conventions/Documentation" title="Manual:Coding conventions/Documentation"> </a></span></i></li></ul> </div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐f69cdc8f6‐zntss Cached time: 20241121234018 Cache expiry: 2592000 Reduced expiry: false Complications: [show‐toc] DiscussionTools time usage: 0.021 seconds CPU time usage: 0.595 seconds Real time usage: 0.813 seconds Preprocessor visited node count: 5323/1000000 Post‐expand include size: 78697/2097152 bytes Template argument size: 22992/2097152 bytes Highest expansion depth: 20/100 Expensive parser function count: 61/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 14307/5000000 bytes Lua time usage: 0.196/10.000 seconds Lua memory usage: 1822251/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 550.866 1 -total 59.67% 328.709 65 Template:Ll 40.59% 223.590 1 Template:Development_guidelines_navigation 39.62% 218.276 1 Template:Navbox 32.07% 176.663 2 Template:Sidebar 23.03% 126.841 71 Template:Pagelang 22.28% 122.759 130 Template:Translatable 20.64% 113.691 1 Template:Git_and_Gerrit 20.16% 111.079 1 Template:Development_policy 9.58% 52.747 26 Template:TNTN --> <!-- Saved in parser cache with key mediawikiwiki:pcache:idhash:855014-0!canonical and timestamp 20241121234018 and revision id 6863504. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://www.mediawiki.org/w/index.php?title=Gerrit/Privilege_policy&amp;oldid=6863504">https://www.mediawiki.org/w/index.php?title=Gerrit/Privilege_policy&amp;oldid=6863504</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Special:Categories" title="Special:Categories">Categories</a>: <ul><li><a href="/wiki/Category:Wikimedia_development_policies" title="Category:Wikimedia development policies">Wikimedia development policies</a></li><li><a href="/wiki/Category:Development_guidelines" title="Category:Development guidelines">Development guidelines</a></li><li><a href="/wiki/Category:Gerrit" title="Category:Gerrit">Gerrit</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 21 November 2024, at 15:11.</li> <li id="footer-info-copyright">Text is available under the <a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-ShareAlike License</a>; additional terms may apply. Text in <a class="external text" href="https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents">the Help: namespace</a> is available under the <a rel="nofollow" class="external text" href="https://creativecommons.org/publicdomain/zero/1.0/">Creative Commons CC0 License</a>. By using this site, you agree to the <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use">Terms of Use</a> and <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy Policy</a>.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Project:About">About mediawiki.org</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Project:General_disclaimer">Disclaimers</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://www.mediawiki.org/wiki/Special:MyLanguage/Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/www.mediawiki.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//m.mediawiki.org/w/index.php?title=Gerrit/Privilege_policy&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-f69cdc8f6-gbbp4","wgBackendResponseTime":126,"wgDiscussionToolsPageThreads":[{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Rights_and_responsibilities","replies":[{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Merging_without_review-Rights_and_responsibilities","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Intra-team_review_and_shared_ownership-Rights_and_responsibilities","replies":[]},{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Must_read_for_code_reviewers-Rights_and_responsibilities","replies":[]}]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Requesting_Gerrit_privileges","replies":[]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Expedited_process_for_trusted_organisations","replies":[]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Revocation","replies":[{"headingLevel":3,"name":"h-","type":"heading","level":0,"id":"h-Requesting_revocation-Revocation","replies":[]}]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Amendments_to_this_policy","replies":[]},{"headingLevel":2,"name":"h-","type":"heading","level":0,"id":"h-Definitions","replies":[]}],"wgPageParseReport":{"discussiontools":{"limitreport-timeusage":"0.021"},"limitreport":{"cputime":"0.595","walltime":"0.813","ppvisitednodes":{"value":5323,"limit":1000000},"postexpandincludesize":{"value":78697,"limit":2097152},"templateargumentsize":{"value":22992,"limit":2097152},"expansiondepth":{"value":20,"limit":100},"expensivefunctioncount":{"value":61,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":14307,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 550.866 1 -total"," 59.67% 328.709 65 Template:Ll"," 40.59% 223.590 1 Template:Development_guidelines_navigation"," 39.62% 218.276 1 Template:Navbox"," 32.07% 176.663 2 Template:Sidebar"," 23.03% 126.841 71 Template:Pagelang"," 22.28% 122.759 130 Template:Translatable"," 20.64% 113.691 1 Template:Git_and_Gerrit"," 20.16% 111.079 1 Template:Development_policy"," 9.58% 52.747 26 Template:TNTN"]},"scribunto":{"limitreport-timeusage":{"value":"0.196","limit":"10.000"},"limitreport-memusage":{"value":1822251,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-f69cdc8f6-zntss","timestamp":"20241121234018","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10