GitHub: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Clarify which orgs are subject to CoC)
(→‎Is "mozilla" the only GitHub "organization" related to Mozilla?: updating mozilla-iam contact to dividehex per bug 1902445)
 
(74 intermediate revisions by 19 users not shown)
Line 1: Line 1:
This page is specifically about [https://github.com/mozilla the "mozilla" organization on github]. There are several other github organizations you may be interested in, cf. the incomplete list [[#other_github|below]].
This page is about GitHub organizations that are administered by MoCo IT, the largest being [https://github.com/mozilla the "mozilla" organization on GitHub]. There are several other GitHub organizations you may be interested in, cf. the incomplete list [[#other_github|below]].
<div id="contact">
<div id="contact">
{| class="wikitable"
{| class="wikitable"
|-
|-
! [[File:Red_question_mark.png|144px|Send us an email!|link=]] Got a GitHub administration question?
! [[File:Red_question_mark.png|72px|Question Mark]] Do you have a GitHub administration question for an org?<br > See [[#other_github|table]] for contact info for each organization.
|-
| Email {{emailentry|github-owners|mozilla.org|at=is}} <br />
Bugzilla [https://bugzilla.mozilla.org/enter_bug.cgi?comment=I%27ve%20read%20https%3A%2F%2Fwiki.mozilla.org%2FGithub%2C%20and%20need%20help%20with%20the%20following.%0D%0A%0D%0A&component=Github%3A%20Administration&form_name=enter_bug&product=mozilla.org& mozilla.org :: Github: Administration] <br />
irc #github on [[IRC|moznet]]
|}
|}


== News ==
== News ==
* 2021-01-21 - [[/Converting to a "2FA required policy"|Converting to a "2FA required policy" for an organization]]/
* 2021-01-19 - [[/Changing Default Branch|Notes on renaming the default branch of your GitHub repositories]].
* 2019-02-19 - Mozilla's Code of Conduct is required to be included in every repository, following [[/Repository Requirements|this procedure]].
* 2019-02-19 - Mozilla's Code of Conduct is required to be included in every repository, following [[/Repository Requirements|this procedure]].
* 2018-03-29 - new  [[/Repository Security|Guidelines for securing sensitive repositories]] published. These are good practices for any repository that does "releases", and some groups my require adherence on their repositories.
* 2018-03-29 - new  [[/Repository Security|Guidelines for securing sensitive repositories]] published. These are good practices for any repository that does "releases", and some groups my require adherence on their repositories.
== Quick Access for Requests ==
<div id="github_member_bug"></div>
=== I need to be a member of an org ===
Please read [[#join|this]] section on being a member, noting that for many operations you don't need member status.  If you need it, file a bug [https://bugzilla.mozilla.org/enter_bug.cgi?assigned_to=nobody%40mozilla.org&bug_ignored=0&bug_severity=normal&bug_status=NEW&bug_type=task&cf_fx_iteration=---&cf_fx_points=---&comment=I%27ve%20read%20https%3A%2F%2Fwiki.mozilla.org%2FGitHub%23Team_Maintainers_.26_Project_Leads%2C%20and%20need%20help%20adding%20a%20contributor%20to%20the%20org%3A%0D%0A%0D%0AName%3A%20%0D%0AMozilla%20Email%3A%20%0D%0AGithub%20Profile%20link%3A%20%2AStaff%20%2A%2AMUST%2A%2A%20have%20their%20verified%20GitHub%20identity%20listed%20in%20their%20people.m.o%20entry%2A%0D%0AGithub%20Team%28s%29%20%2AREQUIRED%2A%3A%20%0D%0ANOTE%3A%20This%20is%20NOT%20the%20Org%20Name%2C%20but%20instead%20any%20teams%20inside%20the%20request%20org.%0D%0A%0D%0AIf%20this%20is%20not%20being%20requested%20by%20a%20team%20maintainer%2C%20please%20request%20their%20approval%20via%20need-info.&component=Github%3A%20Administration&contenttypemethod=list&contenttypeselection=text%2Fplain&defined_groups=1&filed_via=standard_form&flag_type-4=X&flag_type-607=X&flag_type-800=X&flag_type-803=X&flag_type-936=X&form_name=enter_bug&maketemplate=Remember%20values%20as%20bookmarkable%20template&op_sys=Unspecified&priority=--&product=mozilla.org&qa_contact=cknowles%40mozilla.com&rep_platform=Unspecified&short_desc=Requesting%20GitHub%20membership%20to%20the%20%3CORGNAME%3E%20org%20for%20%3CUSERNAME%3E&target_milestone=---&version=other here] filling out the fields as best you can.  Having your manager or maintainer of the team file the bug may short circuit some of the approval processes, and make things go faster.
<div id="github_actions_bug"></div>
=== I want a new action/app added to an org ===
Please read these sections on [[#github_actions|Actions]] and [[#github_apps|Apps]] - file a bug [https://bugzilla.mozilla.org/enter_bug.cgi?assigned_to=nobody%40mozilla.org&bug_ignored=0&bug_severity=--&bug_status=NEW&bug_type=task&cf_fx_iteration=---&cf_fx_points=---&comment=I%20want%20to%20use%20the%20NAME_HERE%20addon%20in%20ORG_NAME_HERE%20for%20the%20following%20reasons%3A%0D%0A%0D%0ABelow%20are%20my%20answers%20to%20your%20stock%20questions%3A%0D%0A%0D%0A%2A%2A%20Which%20repositories%20do%20you%20want%20to%20have%20access%3F%20%28all%20or%20list%29%0D%0A%28Note%3A%20This%20mainly%20applies%20to%20applications.%20%20Actions%20are%20approved%20for%20entire%20GitHub%20orgs%2C%20though%20having%20this%20info%20can%20help%20security%20with%20their%20analysis%29%0D%0A%0D%0A%2A%2A%20Are%20any%20of%20those%20repositories%20private%3F%0D%0A%0D%0A%2A%2A%20Provide%20link%20to%20vendor%27s%20description%20of%20permissions%20needed%20and%20why%0D%0A%0D%0A%2A%2A%20Provide%20the%20Install%20link%20for%20a%20GitHub%20app%0D%0A%0D%0A%3E%20%2A%2ANOTE%2A%2A%0D%0A%3E%20%0D%0A%3E%20Think%20of%20this%20as%20you%20would%20any%203rd%20party%20source%20inclusion%20into%20a%20shipping%20product%2C%20including%20all%20the%20considerations%20%5Bhere%5D%28https%3A%2F%2Fmozilla-hub.atlassian.net%2Fwiki%2Fspaces%2FSLP%2Fpages%2F27394064%2FLicensing%2BRunbook%2BSoftware%2BLicensing%2BAnd%2BCode%2BContribution%2BBetween%2BMozilla%2BAnd%2BOther%2BOrgs%2BProjects%29.%0D%0A&component=Github%3A%20Administration&contenttypemethod=list&contenttypeselection=text%2Fplain&defined_groups=1&filed_via=standard_form&flag_type-4=X&flag_type-607=X&flag_type-803=X&flag_type-936=X&needinfo_role=other&needinfo_type=needinfo_from&op_sys=Unspecified&priority=--&product=mozilla.org&qa_contact=cknowles%40mozilla.com&rep_platform=Unspecified&short_desc=Assess%20use%20of%20external%20addon%20NAME_HERE%20in%20Mozilla%27s%20GitHub%20organization%20ORG_NAME_HERE&target_milestone=---&version=other here], giving us as much information as you can
<div id="github_private_bug"></div>
=== I need a private repo created ===
Being an open source company, Mozilla tries to do things in the open.  However, the need for private repositories is clear for various non-public data and other business reasons, and in order to track them, please request private repositories using this [https://bugzilla.mozilla.org/enter_bug.cgi?assigned_to=nobody%40mozilla.org&bug_ignored=0&bug_severity=--&bug_status=NEW&bug_type=task&cf_fx_iteration=---&cf_fx_points=---&comment=I%27ve%20read%20all%20of%20the%20%5Brepository%20creation%5D%5B1%5D%20section%2C%20and%20want%20to%20request%20a%20private%20repository.%20I%27ve%20filled%20in%20all%20the%20required%20fields.%0D%0A%0D%0AOrg%20for%20repo%3A%20REQUIRED%0D%0AName%20of%20Repository%3A%20%20REQUIRED%0D%0ALink%20to%20your%20people.m.o%20entry%20with%20verified%20GitHub%20login%3A%20REQUIRED%0D%0A%0D%0A%5BData%20Classification%5D%5B2%5D%20of%20data%20in%20repo%3A%20REQUIRED%0D%0AOther%20business%20justification%20for%20private%20repo%3A%0D%0AWhen%20can%20the%20repository%20be%20made%20public%3F%20REQUIRED%0D%0ANote%20-%20This%20is%20not%20to%20say%20%22it%20will%20DEFINITELY%20go%20public%20on%20that%20date%22%20but%20more%20%22when%2C%20if%20at%20all%2C%20can%20we%20ask%20about%20possibly%20making%20this%20public%3F%22%0D%0A%0D%0A%5B1%5D%3A%20https%3A%2F%2Fwiki.mozilla.org%2FGitHub%23Do_I_need_to_be_an_owner_to_create_repositories.3F%0D%0A%5B2%5D%3A%20https%3A%2F%2Fwiki.mozilla.org%2FSecurity%2FData_Classification%0D%0A&component=Github%3A%20Administration&contenttypemethod=list&contenttypeselection=text%2Fplain&defined_groups=1&filed_via=standard_form&flag_type-4=X&flag_type-607=X&flag_type-800=X&flag_type-803=X&flag_type-936=X&form_name=enter_bug&groups=mozilla-employee-confidential&maketemplate=Remember%20values%20as%20bookmarkable%20template&op_sys=Unspecified&priority=--&product=mozilla.org&qa_contact=cknowles%40mozilla.com&rep_platform=Unspecified&short_desc=Request%20for%20a%20Private%20Repository%20in%20the%20ORGNAME%20GitHub%20organization&target_milestone=---&version=other template]. <br />
Be sure to answer all questions marked 'REQUIRED' in the form.  As well as the ORGNAME in the title.  This lets us know what the repo is for, who needs access, all so that we don't lose track of the private repo
<div id="github_transfer_bug"></div>
=== I want to transfer a repo ===
If this is a transfer into a Mozilla controlled org, and you're a member, and the repo is in your account, you can transfer it yourself.  This CAN mess up permissions to the repo, but filing a bug with the repo name and who should have access will let us help.
If this is a transfer between Mozilla orgs, you'll need to file a bug with the details, and we're happy to do it.
If this is a transfer out of Mozilla controlled orgs, we'll need to get various approvals, but filing a bug will get this started.
For all of the above, the proper link to file a bug is [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration here]
=== Other requests ===
Note that if the org isn't controlled by MoCo IT, we may only be able to redirect you to whatever resources we're aware of per [[#other_github|this chart.]]
Things like "I need access to a Repo" - generally this is handled by repo admins, but if you need more, or help finding an admin, file a bug [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration here] with questions
And general requests for help/advice - bugs to the [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration GitHub Administration] component are the most reliable, but there's a matrix channel: [https://matrix.to/#/#github-admin:mozilla.org #github-admin], and email to ghe-admins @ mozilla . com


== Recommendations and FAQ ==
== Recommendations and FAQ ==
The actions below are specifically for the 'mozilla' organization on GitHub. Other organizations may have different or additional procedure. Please refer to the [[#other_github|other organizations]] table below for the proper service request address and contact information.
=== SAML or SSO questions ===
As we move into GitHub Enterprise, we're not changing permissions, but we are requiring people to use people.mozilla.org to authenticate into Mozilla operated spaces.  Signing up in people.m.o is automatic if you're an employee, but if you're a contributor, you can create an account using a Firefox account.
Directions and a FAQ around SAML are [[GitHub/GHE SAML User FAQ|here]]
==== Getting asked to SAML in every day ====
Sadly this is unavoidable with the stack of tech we have - we're continuing to evaluate options to see if there's any path to allowing longer SAML sessions.  But at this point we're limited to 24 hours.
==== Needing to SAML in to see even public things ====
This is a known bug on GitHub's part - their documentation (at the time of this writing) says that only private or org things need to SAML in - but the behavior is that access to ANY org resource requires a valid SAML session.
=== Do you have any recommendations for repository settings? ===
Yes, please see https://wiki.mozilla.org/GitHub/GitHubRepositoryConfigurationConventions.


=== Where should I ask additional questions? ===
=== Where should I ask additional questions? ===
* Send an email to '''{{emailentry|github-owners|mozilla.org|at=is}}''' and we'll respond right away! We're also available on #github on irc.
* Please use the '''[[#other_github|contact list]]''' to find the best address.
* If the issue relates to the [https://github.com/Mozilla Mozilla] org, then you can send an email to '''{{emailentry|github-owners|mozilla.org|at=is}}''' and one of the volunteers will respond.
* For other orgs, the volunteers in the [https://chat.mozilla.org/#/room/#github-admin:mozilla.org #github-admin] room on Matrix may be able to point you in the correct direction.


=== How do I hook up a new 3rd party application to a repository in the mozilla org? ===
=== How do I hook up a new GitHub Actions or 3rd party application to a repository in the mozilla org? ===
{{note|There are now multiple 3rd pary application types. "GitHub Apps" (nee integrations) are the new approach and preferred.|gotcha}}
{{note|There are now multiple 3rd party application types. "GitHub Apps" (nee integrations) are the new approach and preferred.|gotcha}}
{{note|Some 3rd party apps use GitHub as an OAuth identity provider for their website (e.g. for a dashboard). An ''OAuth Application'' will block the installation process if the app is not already approved. The "Request access" block is what this section describes.|gotcha}}
{{note|Some 3rd party apps use GitHub as an OAuth identity provider for their website (e.g. for a dashboard). An ''OAuth Application'' will block the installation process if the app is not already approved. The "Request access" block is what this section describes.|gotcha}}


Each type has it's own installation and approval process. Please follow the instructions in the correct section below.
Each type has it's own installation and approval process. Please follow the instructions in the correct section below.


<div id="github_actions"></div>
==== GitHub Actions ====
[https://help.github.com/en/actions/getting-started-with-github-actions/about-github-actions GitHub Actions] allow automation to be initiated by various repository events. GitHub Actions are now available for all public repositories. Each organization makes a decision on whether or not they should be enabled. Check with your organization owners if you have questions.
{{note|GitHub Actions have not yet been fully evaluated for use on "sensitive repositories". The current guidance is to only use actions authored by GitHub or your development team. Please work with your security team if you wish to utilize non-GitHub-authored GitHub Actions on a sensitive repository.|gotcha}}
To request a non-GitHub-authored action to be used in the "mozilla" organization, follow the procedure for requesting approval for a new GitHub App, immediately below.
<div id="github_apps"></div>
==== GitHub Apps Installation & Approval Process ====
==== GitHub Apps Installation & Approval Process ====


Line 31: Line 90:
However, the GitHub App installation can only be done by an organization owner, who may have to do additional housekeeping. This is not so good, so please plan accordingly (you may need to coordinate with [[#contact|GitHub owners]]).
However, the GitHub App installation can only be done by an organization owner, who may have to do additional housekeeping. This is not so good, so please plan accordingly (you may need to coordinate with [[#contact|GitHub owners]]).


* File a request using this [https://bugzilla.mozilla.org/enter_bug.cgi?cc=gene%40mozilla.com&comment=I%20want%20to%20use%20the%20NAME_HERE%20addon%20in%20ORG_NAME_HERE%20for%20the%20following%20reasons%3A%0D%0A%0D%0ABelow%20are%20my%20answers%20to%20your%20stock%20questions%3A%0D%0A%0D%0A%2A%2A%20Which%20repositories%20do%20you%20want%20to%20have%20access%3F%20%28all%20or%20list%29%0D%0A%0D%0A%2A%2A%20Are%20any%20of%20those%20repositories%20private%3F%0D%0A%0D%0A%2A%2A%20Provide%20link%20to%20vendor%27s%20description%20of%20permissions%20needed%20and%20why%0D%0A%0D%0A%2A%2A%20Provide%20the%20Install%20link%20for%20a%20GitHub%20app%0D%0A&component=Github%3A%20Administration&product=mozilla.org&short_desc=Assess%20use%20of%20external%20addon%20NAME_HERE%20in%20Mozilla%27s%20GitHub%20organization%20ORG_NAME_HERE bug template]
* File a request using this [[#github_actions_bug|template]]
* Include answers to these questions:
* Include answers to the questions prompted for in the above template. Additional notes:
** Which repositories do you want to have access? (all or list)
** ''Which repositories do you want to have access? (all or list)'' -- "All" will rarely be granted - every repository should have control over anything that can access their repository.
** Do any of those repositories contain "sensitive" data? (e.g. private repos or ones where unauthorized code changes could have significant impact to Mozilla)
** ''Are any of those repositories private?'' -- In general, OAuth apps will not be granted access to private repositories, as that grants access to ''all'' private repositories.
** Provide link to vendor's description of permissions needed and why
** ''Provide link to vendor's description of permissions needed and why'' -- Hopefully they have this documented, or at least provide a screenshot of the authorization screen which lists the permissions. If not, we may ask you (the requestor) to engage with the app's support team to obtain the answers.
** Provide installation instructions:
** ''Provide the Install link for a GitHub app'' -- mandatory, as we can't install the app without it.
*** Please include the GitHub App's "install" link
 
* If you are not an "admin" for the repository, an "admin" will have to approve the request.
* If you are not an "admin" for the repository, an "admin" will have to approve the request. Please set a "Need Info" on the appropriate repository admin.


===== Initial Installation =====
===== Initial Installation =====
If this is the first time this GitHub App is being installed in the organization, a few extra checks and coordination are needed. An organization owner will need to perform these steps:
If this is the first time this GitHub App is being installed in the organization, a few extra checks and coordination are needed. An organization owner will need to perform these steps:
* Determine if the GitHub App previously had an OAUTH version.
* Determine if the GitHub App previously had an OAUTH version in use in the same org. (The simplest way is to see if the app is listed under the "Third-party Application" section of the organization settings page. ''Any mention'' -- including "declined" -- counts as "in use" for this purpose.)
** If so, it is likely that installing the integration will disable all repositories in the organization using the OAUTH version of the application.
** If the OAuth app was in use, check the app installation documentation to see if there are any caveats. (We've only seen one app transition where there was an impact, but better safe than sorry.)
** Find all current repositories using the classic OAUTH application (this is non-trivial, scripts exist to help)
** If there are caveats that apply, ask the requestor to contact all current repositories using the classic OAUTH application to coordinate, cc'ing [[#contact|GitHub owners]]. This task is non-trivial, you usually need to access the OAuth app's dashboard, and have knowledge of how the app works. ('''Do NOT''' authenticate to any OAuth app with your owner account.)
** Install the Integration for all current repositories, and the new one (organization owner permissions needed.)
* Install the GitHub app for "specific repositories", and enable the ones in the request.


'''Please do not install GitHub apps with organization wide scope without first discussing with [[#contact|GitHub owners]].'''
'''Please do not install GitHub apps with organization wide scope without first discussing with [[#contact|GitHub owners]].'''


===== Additional Installations or Removals =====
===== Additional Installations or Removals =====
If the GitHub App has already been installed in the organization, the new repository simply needs to be added or removed from the list. An organization owner has to make this change. Please still [https://bugzilla.mozilla.org/enter_bug.cgi?cc=gene%40mozilla.com&comment=I%20want%20to%20use%20the%20NAME_HERE%20addon%20in%20ORG_NAME_HERE%20for%20the%20following%20reasons%3A%0D%0A%0D%0ABelow%20are%20my%20answers%20to%20your%20stock%20questions%3A%0D%0A%0D%0A%2A%2A%20Which%20repositories%20do%20you%20want%20to%20have%20access%3F%20%28all%20or%20list%29%0D%0A%0D%0A%2A%2A%20Are%20any%20of%20those%20repositories%20private%3F%0D%0A%0D%0A%2A%2A%20Provide%20link%20to%20vendor%27s%20description%20of%20permissions%20needed%20and%20why%0D%0A%0D%0A%2A%2A%20Provide%20the%20Install%20link%20for%20a%20GitHub%20app%0D%0A&component=Github%3A%20Administration&product=mozilla.org&short_desc=Assess%20use%20of%20external%20addon%20NAME_HERE%20in%20Mozilla%27s%20GitHub%20organization%20ORG_NAME_HERE file a bug]. As before, a repository admin has to approve the request.
If the GitHub App has already been installed in the organization, the new repository simply needs to be added or removed from the list. An organization owner has to make this change. Please still [https://bugzilla.mozilla.org/enter_bug.cgi?comment=I%20want%20to%20use%20the%20NAME_HERE%20addon%20in%20ORG_NAME_HERE%20for%20the%20following%20reasons%3A%0D%0A%0D%0ABelow%20are%20my%20answers%20to%20your%20stock%20questions%3A%0D%0A%0D%0A%2A%2A%20Which%20repositories%20do%20you%20want%20to%20have%20access%3F%20%28all%20or%20list%29%0D%0A%0D%0A%2A%2A%20Are%20any%20of%20those%20repositories%20private%3F%0D%0A%0D%0A%2A%2A%20Provide%20link%20to%20vendor%27s%20description%20of%20permissions%20needed%20and%20why%0D%0A%0D%0A%2A%2A%20Provide%20the%20Install%20link%20for%20a%20GitHub%20app%0D%0A&component=Github%3A%20Administration&product=mozilla.org&short_desc=Assess%20use%20of%20external%20addon%20NAME_HERE%20in%20Mozilla%27s%20GitHub%20organization%20ORG_NAME_HERE file a bug]. As before, a repository admin has to approve the request.


If you're an org owner, you can [https://github.com/organizations/mozilla/settings/installations see what has already been installed].
If you're an org owner, you can [https://github.com/organizations/mozilla/settings/installations see what has already been installed].
Line 62: Line 121:
* In some cases, the application does not need to be "approved" to function correctly, as it has read only access to any public repository. (Some applications only want write access to help you configure the application first time.)
* In some cases, the application does not need to be "approved" to function correctly, as it has read only access to any public repository. (Some applications only want write access to help you configure the application first time.)


* In other cases, the application does need write permission, and/or permission to read a private repository. In these cases, open a bug using [https://bugzilla.mozilla.org/enter_bug.cgi?cc=gene%40mozilla.com&comment=I%20want%20to%20use%20the%20NAME_HERE%20addon%20in%20ORG_NAME_HERE%20for%20the%20following%20reasons%3A%0D%0A%0D%0ABelow%20are%20my%20answers%20to%20your%20stock%20questions%3A%0D%0A%0D%0A%2A%2A%20Which%20repositories%20do%20you%20want%20to%20have%20access%3F%20%28all%20or%20list%29%0D%0A%0D%0A%2A%2A%20Are%20any%20of%20those%20repositories%20private%3F%0D%0A%0D%0A%2A%2A%20Provide%20link%20to%20vendor%27s%20description%20of%20permissions%20needed%20and%20why%0D%0A%0D%0A%2A%2A%20Provide%20the%20Install%20link%20for%20a%20GitHub%20app%0D%0A&component=Github%3A%20Administration&product=mozilla.org&short_desc=Assess%20use%20of%20external%20addon%20NAME_HERE%20in%20Mozilla%27s%20GitHub%20organization%20ORG_NAME_HERE this template].
* In other cases, the application does need write permission, and/or permission to read a private repository. In these cases, open a bug using [https://bugzilla.mozilla.org/enter_bug.cgi?cc=comment=I%20want%20to%20use%20the%20NAME_HERE%20addon%20in%20ORG_NAME_HERE%20for%20the%20following%20reasons%3A%0D%0A%0D%0ABelow%20are%20my%20answers%20to%20your%20stock%20questions%3A%0D%0A%0D%0A%2A%2A%20Which%20repositories%20do%20you%20want%20to%20have%20access%3F%20%28all%20or%20list%29%0D%0A%0D%0A%2A%2A%20Are%20any%20of%20those%20repositories%20private%3F%0D%0A%0D%0A%2A%2A%20Provide%20link%20to%20vendor%27s%20description%20of%20permissions%20needed%20and%20why%0D%0A%0D%0A%2A%2A%20Provide%20the%20Install%20link%20for%20a%20GitHub%20app%0D%0A&component=Github%3A%20Administration&product=mozilla.org&short_desc=Assess%20use%20of%20external%20addon%20NAME_HERE%20in%20Mozilla%27s%20GitHub%20organization%20ORG_NAME_HERE this template].
** Please be sure to have clicked the "Request Approval" link before submitting bug.
** Please be sure to have clicked the "Request Approval" link before submitting bug.
* Include answers to these questions:
* Include answers to these questions:
Line 74: Line 133:
The Owners group on GitHub has complete administrative power and will be limited to a minimal number of people and reviewed regularly.  If a person is an owner, they are expected to actively participate in the group and assist others as requested.  Owners will be added as a need arises (for example, support in another timezone) as determined by the current owners.
The Owners group on GitHub has complete administrative power and will be limited to a minimal number of people and reviewed regularly.  If a person is an owner, they are expected to actively participate in the group and assist others as requested.  Owners will be added as a need arises (for example, support in another timezone) as determined by the current owners.


<div id="join"> </div>
=== Can I be a Member of the Mozilla Organization? ===
=== Can I be a Member of the Mozilla Organization? ===
<div id="join"> </div>
No one automatically becomes a member of any of our GitHub Organizations, even staff. We require everyone to be "sponsored" for membership by being invited to a specific team, as outlined below.
==== Contributor Information ====
 
{{Note|
Good news! You do not need to be a member of the Mozilla organization on GitHub before you can contribute to Mozilla!!!! We have several sites which can help you find the best fit for contribution:
Good news! You do not need to be a member of the Mozilla organization on GitHub before you can contribute to Mozilla!!!! We have several sites which can help you find the best fit for contribution:
* General [https://www.mozilla.org/en-US/contribute/ volunteering options],
* General [https://www.mozilla.org/en-US/contribute/ volunteering options],
* Or pick from [http://whatcanidoformozilla.org/ these areas],
* Or pick from [http://whatcanidoformozilla.org/ these areas],
* Or jump right into [http://www.joshmatthews.net/bugsahoy/ fixing a bug].
* Or jump right into [http://www.joshmatthews.net/bugsahoy/ fixing a bug].
* If you're already a contributor (THANK YOU!) looking for a place to have your work recognized (even if not coding related), please see the [https://www.mozilla.org/credits/FAQ Credits FAQ] for inclusion in the [https://www.mozilla.org/credits/ credits].
* If you're already a contributor (THANK YOU!) looking for a place to have your work recognized (even if not coding related), please see the [https://www.mozilla.org/credits/FAQ Credits FAQ] for inclusion in the [https://www.mozilla.org/credits/ credits].|reminder}}


Once you're working on a project, the project leaders can help you get access to anything you need.
Once you're working on a project, the project leaders and/or team maintainers can help you get access to anything you need. Instructions for them are directly following.


==== Team Maintainers & Project Leads ====
==== Team Maintainers & Project Leads ====


Project owners and team maintainers may find the following information helpful when asking for access for a new team member:
Project owners and team maintainers may find the following information helpful when asking for access for a new team member (staff or community):


* We prefer the use of github teams.
* We require the use of GitHub teams when initially granting permissions to org members. (Collaborators have to be added individually.)
* All members of the [https://github.com/mozilla/ Mozilla organization on github] agree to be bound by [https://www.mozilla.org/en-US/about/governance/policies/commit/requirements/ Mozilla's Commit Access Requirements], and should follow the intent of the [https://www.mozilla.org/en-US/about/governance/policies/commit/access-policy/ Mozilla's Commit Access Policy] as much as practical.
* All members of the [https://github.com/mozilla/ Mozilla organization on GitHub] agree to be bound by [https://www.mozilla.org/en-US/about/governance/policies/commit/requirements/ Mozilla's Commit Access Requirements], and should follow the intent of the [https://www.mozilla.org/en-US/about/governance/policies/commit/access-policy/ Mozilla's Commit Access Policy] as much as practical. Of course, anyone interacting with Mozilla repositories agrees to [https://www.mozilla.org/en-US/about/governance/policies/participation/ Mozilla Community Participation Guidelines]
** "Outside Collaborator": repository admins can grant outside collaborator to any GitHub account. "Outside Collaborator" is roughly analogous to "Level 1a" access to Mozilla-hosted repositories.
** "Outside Collaborator": repository admins can grant outside collaborator access to any GitHub login on a per repository basis. "Outside Collaborator" is roughly analogous to "Level 1a" access to Mozilla-hosted repositories.
** "Team Member": team maintainers can add GitHub users to a team, if they are already a member of the organization. If you are not yet a member of the organization, the team maintainer should [https://bugzilla.mozilla.org/enter_bug.cgi?comment=I%27ve%20read%20https%3A%2F%2Fwiki.mozilla.org%2FGithub%23Team_Maintainers_.26_Project_Leads%2C%20and%20need%20help%20adding%20a%20contributor%20to%20the%20org%3A%0D%0A%0D%0AName%3A%20%0D%0AMozilla%20Email%3A%20%0D%0AGithub%20Profile%20link%3A%20%0D%0AGithub%20Team%28s%29%3A%20%0D%0A%0D%0AIf%20this%20is%20not%20being%20requested%20by%20a%20team%20maintainer%2C%20please%20request%20their%20approval%20via%20need-info.&component=Github%3A%20Administration&form_name=enter_bug&product=mozilla.org file a bug using this link] to add you to their team, as a form of vouching. "Team Member" is roughly analogous to "Level 2" or "Level 3", with the distinction being the content of the repositories managed by the team.
** "Team Member": team maintainers can add GitHub users to a team, if they are already a member of the organization. If they are not yet a member of the organization, the ''team maintainer'' should [https://bugzilla.mozilla.org/enter_bug.cgi?assigned_to=nobody%40mozilla.org&bug_ignored=0&bug_severity=normal&bug_status=NEW&bug_type=task&cf_fx_iteration=---&cf_fx_points=---&comment=I%27ve%20read%20https%3A%2F%2Fwiki.mozilla.org%2FGitHub%23Team_Maintainers_.26_Project_Leads%2C%20and%20need%20help%20adding%20a%20contributor%20to%20the%20org%3A%0D%0A%0D%0AName%3A%20%0D%0AMozilla%20Email%3A%20%0D%0AGithub%20Profile%20link%3A%20%2AStaff%20%2A%2AMUST%2A%2A%20have%20their%20verified%20GitHub%20identity%20listed%20in%20their%20people.m.o%20entry%2A%0D%0AGithub%20Team%28s%29%20%2AREQUIRED%2A%3A%20%0D%0A%0D%0AIf%20this%20is%20not%20being%20requested%20by%20a%20team%20maintainer%2C%20please%20request%20their%20approval%20via%20need-info.&component=Github%3A%20Administration&contenttypemethod=list&contenttypeselection=text%2Fplain&defined_groups=1&filed_via=standard_form&flag_type-4=X&flag_type-607=X&flag_type-800=X&flag_type-803=X&flag_type-936=X&form_name=enter_bug&maketemplate=Remember%20values%20as%20bookmarkable%20template&op_sys=Unspecified&priority=--&product=mozilla.org&rep_platform=Unspecified&target_milestone=---&version=other file a bug using this link] to add you to their team, as a form of vouching. "Team Member" is roughly analogous to "Level 2" or "Level 3", with the distinction being the content of the repositories managed by the team.


To get access for a new Contributor, please [https://bugzilla.mozilla.org/enter_bug.cgi?comment=I%27ve%20read%20https%3A%2F%2Fwiki.mozilla.org%2FGithub%23Team_Maintainers_.26_Project_Leads%2C%20and%20need%20help%20adding%20a%20contributor%20to%20the%20org%3A%0D%0A%0D%0AName%3A%20%0D%0AMozilla%20Email%3A%20%0D%0AGithub%20Profile%20link%3A%20%0D%0AGithub%20Team%28s%29%3A%20%0D%0A%0D%0AIf%20this%20is%20not%20being%20requested%20by%20a%20team%20maintainer%2C%20please%20request%20their%20approval%20via%20need-info.&component=Github%3A%20Administration&form_name=enter_bug&product=mozilla.org file a bug using this link], and fill in the details.
To get access for a new Contributor, please have the ''team maintainer'' or ''repository admin'' file a bug using the link in [[#github_member_bug|this]] section, and fill in the details.


'''Please Note:'''
'''Please Note:'''
* We will cancel any invitation to the organization which is not accepted within 2 weeks.
* All organization members '''MUST''' have an entry on people.mozilla.org and '''MUST''' have their verified GitHub identity entered there.
* All members of the Mozilla organization on GitHub '''MUST''' have [https://help.github.com/articles/about-two-factor-authentication/ 2FA enabled].
* GitHub cancels any invitation which is not accepted within 2 weeks.
* All members and outside contributors of the Mozilla organization on GitHub '''MUST''' have [https://help.github.com/articles/about-two-factor-authentication/ 2FA enabled].
* Automation accounts are also required to have 2FA enabled. Scripts should use [https://help.github.com/articles/creating-an-access-token-for-command-line-use/ access tokens] with minimum permissions to accomplish the task.
* Automation accounts are also required to have 2FA enabled. Scripts should use [https://help.github.com/articles/creating-an-access-token-for-command-line-use/ access tokens] with minimum permissions to accomplish the task.


=== Should I make a separate github organization or just create a repository in an existing one? ===
=== Should I make a separate GitHub organization or just create a repository in an existing one? ===
With much of Mozilla's GitHub presence in GitHub Enterprise at this point, if you want to create a organization, we'd love to hear from you about it via a [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration bug here], requesting an org to be created and added to our enterprise.
Noting that we already have >50 orgs, so we'd like to make sure you don't already fit into one of the existing spaces.
 
If the org isn't to be related to Mozilla's Enterprise, then the original advice still applies:
This is a personal preference, in general. (Some product lines may have policies about source code locations.)  If you have a large enough project or organization feel free.  We suggest you use the strategies and recommendations here as a model to manage the details. Additional resources on establishing an organization are:
This is a personal preference, in general. (Some product lines may have policies about source code locations.)  If you have a large enough project or organization feel free.  We suggest you use the strategies and recommendations here as a model to manage the details. Additional resources on establishing an organization are:
* [https://mana.mozilla.org/wiki/display/POLICIES/Standard%3A+GitHub+repositories+and+organizations Mozilla Standards] <small>''login required''</small>
* [https://mozilla-hub.atlassian.net/l/cp/75n1PWoo Mozilla Standards] <small>''login required''</small>
* [[/Repository Security|Guidelines for securing sensitive repositories]]
* [[/Repository Security|Guidelines for securing sensitive repositories]]
* If you need any paid services, contact github owners for access to [https://github.com/mozilla/admin_for_mozilla_private/wiki/Billing-Notes Billing Notes]
* If you need any paid services, contact GitHub owners for access to [https://github.com/mozilla/admin_for_mozilla_private/wiki/Billing-Notes Billing Notes]
 
<div id="forking"> </div>


=== Forking vs Transferring ===
=== Forking vs Transferring ===
'''Do not "fork" a repository into a Mozilla organization.''' Doing so gives ''every team in the org'' rights to it.
'''Do not "fork" a repository into a Mozilla organization.''' Doing so gives ''every team in the org'' rights to it.  There are a number of limitations to just pushing your repo's content into a new repo under mozilla (you loose all GitHub metadata). Refer to [https://docs.github.com/en/free-pro-team@latest/github/administering-a-repository/transferring-a-repository GitHub's docs] for details.


If you have created a repo on your own account (for example, myuser/myrepo) and it should live under the Mozilla organization, here are the steps:
If you have created a repo on your own account (for example, myuser/myrepo) and it should live under the Mozilla organization, here are the steps:
Line 115: Line 183:
# Under the repo admin, transfer ownership to the Mozilla organization. If you don't see this option, return to step 1.
# Under the repo admin, transfer ownership to the Mozilla organization. If you don't see this option, return to step 1.
# Choose which teams should be given access. All chosen teams will have only 'read' access at this point.
# Choose which teams should be given access. All chosen teams will have only 'read' access at this point.
# [https://bugzilla.mozilla.org/enter_bug.cgi?assigned_to=nobody%40mozilla.org&bug_file_loc=http%3A%2F%2F&bug_ignored=0&bug_severity=normal&bug_status=NEW&cc=gene%40mozilla.com&cf_fx_iteration=---&cf_fx_points=---&comment=I%20just%20transferred%20the%20NAME_HERE%20repository%20to%20the%20ORG_NAME_HERE%20organization%2C%20and%20thus%20no%20longer%20have%20admin%20access.%0D%0A%0D%0APlease%20enable%20admin%20access%20for%3A%0D%0A-%20the%20TEAM_NAME%20team%20%28preferred%29%2C%20or%0D%0A-%20just%20me%20--%20I%27ll%20take%20care%20of%20the%20rest&component=Github%3A%20Administration&contenttypemethod=list&contenttypeselection=text%2Fplain&defined_groups=1&flag_type-4=X&flag_type-607=X&flag_type-800=X&flag_type-803=X&form_name=enter_bug&maketemplate=Remember%20values%20as%20bookmarkable%20template&op_sys=Unspecified&priority=--&product=mozilla.org&rep_platform=Unspecified&short_desc=Admin%20access%20needed%20to%20transferred%20repository&target_milestone=---&version=other File a bug] to grant admin permissions to a team or yourself. {{note|As soon as you transfer, your repository will be in "limbo" (only you will have write access) due to a GitHub bug. Make arrangements in advance to have an owner available to process the bug.|gotcha}}
# [https://bugzilla.mozilla.org/enter_bug.cgi?assigned_to=nobody%40mozilla.org&bug_file_loc=http%3A%2F%2F&bug_ignored=0&bug_severity=normal&bug_status=NEW&cf_fx_iteration=---&cf_fx_points=---&comment=I%20just%20transferred%20the%20NAME_HERE%20repository%20to%20the%20ORG_NAME_HERE%20organization%2C%20and%20thus%20no%20longer%20have%20admin%20access.%0D%0A%0D%0APlease%20enable%20admin%20access%20for%3A%0D%0A-%20the%20TEAM_NAME%20team%20%28preferred%29%2C%20or%0D%0A-%20just%20me%20--%20I%27ll%20take%20care%20of%20the%20rest&component=Github%3A%20Administration&contenttypemethod=list&contenttypeselection=text%2Fplain&defined_groups=1&flag_type-4=X&flag_type-607=X&flag_type-800=X&flag_type-803=X&form_name=enter_bug&maketemplate=Remember%20values%20as%20bookmarkable%20template&op_sys=Unspecified&priority=--&product=mozilla.org&rep_platform=Unspecified&short_desc=Admin%20access%20needed%20to%20transferred%20repository&target_milestone=---&version=other File a bug] to grant admin permissions to a team or yourself. {{note|As soon as you transfer, your repository will be in "limbo" (only you will have write access) due to a GitHub "feature" (see [https://docs.github.com/en/free-pro-team@latest/github/administering-a-repository/transferring-a-repository docs]). Make arrangements in advance to have an owner available to process the bug.|gotcha}}
# Fork the repo from Mozilla (mozilla/myrepo) back to your account (recreating myuser/myrepo). While the transferred repo becomes the root of the network on GitHub (e.g. all forks are now forks of mozilla/myrepo) other users may be pointing to your repo by URL. (Optional, github will redirect old URLs for transfers, but you probably want a local repo if you use the PR workflow.)
# Fork the repo from Mozilla (mozilla/myrepo) back to your account (recreating myuser/myrepo). While the transferred repo becomes the root of the network on GitHub (e.g. all forks are now forks of mozilla/myrepo) other users may be pointing to your repo by URL. (Optional, GitHub will redirect old URLs for transfers, but you probably want a local repo if you use the PR workflow.)


=== Do I need to be an owner to create repositories? ===
=== Do I need to be an owner to create repositories? ===
Line 138: Line 206:


'''PLEASE''' make sure the repository is clearly licensed before leaving it. Without a license, many other folks can not build upon your work.
'''PLEASE''' make sure the repository is clearly licensed before leaving it. Without a license, many other folks can not build upon your work.
In most Mozilla controlled GitHub organizations deletion is only an option for owners of the org - file a bug [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration here], with any reasoning and we're happy to discuss.


=== Are there requirements for when or how I should create a new team? ===
=== Are there requirements for when or how I should create a new team? ===
Line 145: Line 214:


<div id="other_github"></div>
<div id="other_github"></div>
=== Is "mozilla" the only github "organization" related to Mozilla? ===
=== Is "mozilla" the only GitHub "organization" related to Mozilla? ===
No, there are plenty of Mozilla-related "organizations" on github. As a rule of thumb, initiatives that create a large number of sub-repositories will create their own "organization". Here is a (probably incomplete) list of them:
No, there are plenty of Mozilla-related "organizations" on GitHub. As a rule of thumb, initiatives that create a large number of sub-repositories will create their own "organization". Here is a (probably incomplete) list of them:
<div style="display: flex; flex-flow: row wrap; width: 100%;">
<div style="display: flex; flex-flow: row wrap; width: 100%;">
<div style="order: 1; flex-grow: 3; margin: 0.5em; border: 0.1em solid darkgreen; padding: 0.5em; background-color: palegreen; min-width: auto; text-align: center;">
<div style="order: 1; flex-grow: 3; margin: 0.5em; border: 0.1em solid darkgreen; padding: 0.5em; background-color: palegreen; min-width: auto; text-align: center;">
Line 152: Line 221:
</div>
</div>
</div>
</div>
{| class="wikitable sortable"
<div style="display: flex; flex-flow: row wrap; width: 100%;">
<div style="order: 1; flex-grow: 3; margin: 0.5em; border: 0.1em solid darkgreen; padding: 0.5em; background-color: palegreen; min-width: auto; text-align: center;">
<big>'''NOTE:''' As Mozilla IT works to consolidate GitHub support in the Mozilla related organizations, it is often a good idea to file any bugs [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration here], and if needed, we will work with you to relocate the request.</big>
</div>
</div>
 
{| class="wikitable sortable"  
|-
! Organization !! Description !! Contact Owner !! Service Requests
|-
| [https://github.com/mozilla mozilla] || Mozilla main organization || Matrix [https://chat.mozilla.org/#/room/#github-admin:mozilla.org #github-admin:mozilla.org]; Email {{emailentry|github-owners|mozilla.org|at=is}} || Please check above for a more specific link, otherwise use [https://bugzilla.mozilla.org/enter_bug.cgi?comment=I%27ve%20read%20https%3A%2F%2Fwiki.mozilla.org%2FGithub%2C%20and%20need%20help%20with%20the%20following.%0D%0A%0D%0A&component=Github%3A%20Administration&form_name=enter_bug&product=mozilla.org& mozilla.org :: Github: Administration]
|-
|-
! Organization !! Description !! Contact Owner
| [https://github.com/mozilla-it mozilla-it] || Mozilla IT's repositories || Matrix [https://chat.mozilla.org/#/room/#github-admin:mozilla.org #github-admin:mozilla.org]; Email {{emailentry|github-owners|mozilla.org|at=is}} || [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
|-
| [https://github.com/mozilla-it mozilla-it] || Mozilla IT's repositories || ?
| [https://github.com/mozilla-sre-deploy mozilla-sre-deploy] || Mozilla SRE Deploy repos || Matrix [https://chat.mozilla.org/#/room/#github-admin:mozilla.org #github-admin:mozilla.org]; Email {{emailentry|github-owners|mozilla.org|at=is}} || [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
|-
|[https://github.com/mozillabrasil mozillabrasil] || Mozilla Brazil|| ?
| [https://github.com/mozilla-ocho mozilla-ocho] || Innovation and Experiments @ Mozilla || Matrix [https://chat.mozilla.org/#/room/#github-admin:mozilla.org #github-admin:mozilla.org]; Email {{emailentry|github-owners|mozilla.org|at=is}} || [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
| [https://github.com/mozilla-bteam mozilla-bteam] || Bugzilla.Mozilla.org || #bteam|| [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
| [https://github.com/mozilla-iam mozilla-iam] || Mozilla's identity and access management || dividehex || [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
| [https://github.com/mozilla-spidermonkey mozilla-spidermonkey] || Mozilla SpiderMonkey Team tools and embedding info || {{Mozillian|tcampbell|Ted Campbell}}; Matrix #spidermonkey:mozilla.org ||[https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
| [https://github.com/mozilla-svcops mozilla-svcops] || Mozilla Cloud Services Ops - Archived || {{Mozillian|relud|Daniel Thornton}}|| [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
| [https://github.com/firefox-devtools firefox-devtools] || Firefox Developer Tools || ? || [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
| [https://github.com/iodide-project iodide-project] || Seamless scientific computing with web technologies. || ? || [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
| [https://github.com/moco-ghe-admin moco-ghe-admin] || Tools for MoCo IT to administer GHE || ghe-admins @ mozilla.com || [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
| [https://github.com/mozilla-conduit mozilla-conduit] || Mozilla Conduit work || {{Mozillian|glob|glob}}|| [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
| [https://github.com/mozilla-frontend-infra Mozilla-Frontend-Infra] || Frontend Testing support || || [https://bugzilla.mozilla.org/enter_bug.cgi?comment=I%27ve%20read%20https%3A%2F%2Fwiki.mozilla.org%2FGithub%2C%20and%20need%20help%20with%20the%20following.%0D%0A%0D%0A&component=Github%3A%20Administration&form_name=enter_bug&product=mozilla.org&short_desc=%5bMozilla-Frontend-Infra%5d Mozilla Frontend Infra request]
|-
| [https://github.com/mozilla-lockbox mozilla-lockbox] || Mozilla Lockbox iOS, Android, desktop extension || [https://github.com/orgs/mozilla-lockbox/people?utf8=%E2%9C%93&query=role%3Aowner mozilla-lockbox owners]||
[https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
| [https://github.com/mozilla-mobile/ mozilla-mobile] || Mobile: Android Product Team & Firefox iOS teams || [https://github.com/orgs/mozilla-mobile/people?utf8=%E2%9C%93&query=role%3Aowner mozilla-mobile owners]||
[https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
| [https://github.com/MozillaReality MozillaReality] || Mozilla Mixed Reality program || {{Mozillian|estanley|Erica Stanley}}|| [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
| [https://github.com/MozillaSecurity MozillaSecurity] || Mozilla Platform Fuzzing Team master repo with many fuzzing tools under it. || ?|| [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
|-
| [https://github.com/bugzilla bugzilla] || Bugzilla (the product, not bugzilla.mozilla.org) || #bugzilla
| [https://github.com/mozmeao MozMEAO] || Mozilla [[Marketing]] || {{Mozillian|pmac|Paul McLanahan}} ||[https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
| [https://github.com/drumbeat-badge-sprint drumbeat-badge-sprint] || Drumbeat Badge Lab || ?
|-
|-
| [https://github.com/hackasaurus hackasaurus] || Hackasaurus || ?
| [https://github.com/mozilla-applied-ml mozilla-applied-ml] || MAML - Mozilla Applied Machine Learning - Archived || ? || [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
|-
| [https://github.com/jetpack-labs jetpack-labs] || Jetpack Labs || ?
| [https://github.com/mozilla-b2g mozilla-b2g] || Mozilla Boot2Gecko / Firefox OS - archived || ?|| [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
|-
| [https://github.com/mdn mdn] || Mozilla Developer Network || [https://github.com/jwhitlock John Whitlock]
| [https://github.com/mozilla-metrics mozilla-metrics] || Mozilla Metrics || ?|| [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
|-
| [https://github.com/mozbrick mozbrick] || Mozilla Brick (web components library) || ?
| [https://github.com/mozilla-platform-ops mozilla-platform-ops] || Mozilla Platform Operations || [[Platform_Operations]]|| [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
|-
| [https://github.com/mozilla-appmaker mozilla-appmaker] || Mozilla Appmaker || ?
| [https://github.com/mozilla-releng mozilla-releng] || Mozilla Release Engineering || #releng|| [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
|-
| [https://github.com/mozilla-b2g mozilla-b2g] || Mozilla Boot2Gecko / Firefox OS || ?
| [https://github.com/mozilla-services mozilla-services] || Mozilla Services || [https://github.com/orgs/mozilla-services/people?utf8=%E2%9C%93&query=role%3Aowner mozilla-services owners]|| [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
|-
| [https://github.com/mozilla-bteam mozilla-bteam] || Bugzilla.Mozilla.org || #bteam
| [https://github.com/Mozilla-TWQA Mozilla-TWQA] || Mozilla Taiwan QA - Archived || ?|| [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
|-
| [https://github.com/mozilla-cit mozilla-cit] || Mozilla Community Ops || {{Mozillians|tanner|Tanner Filip}} or {{Mozillians|yalam96|Yousef Alam}}
| [https://github.com/MozillaWiki MozillaWiki] || MozillaWiki (wiki.mozilla.org) - Archived (see [https://github.com/mozilla/wiki.mozilla.org Mozilla/wiki.mozilla.org])|| ? || [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
|-
| [https://github.com/mozilla-comm mozilla-comm] || Calendaring and Messaging related projects || ?
| [https://github.com/mozilla-l10n mozilla-l10n] || Mozilla l10n-drivers team || Francesco Lodolo https://mozillians.org/u/flod/|| [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
|-
| [https://github.com/mozilla-cordova mozilla-cordova] || Firefox OS Support for Apache Cordova || ?
| [https://github.com/taskcluster taskcluster] || [[TaskCluster]] Team || ? || [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
|-
| [https://github.com/mozilla-iam mozilla-iam] || Mozilla's identity and access management || kang
| [https://github.com/mozilla-conduit mozilla-conduit] || Mozilla Conduit work || {{Mozillian|glob|glob}}|| [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
|-
| [https://github.com/mozilla-iot mozilla-iot] || Mozilla's Internet of Things program || {{Mozillian|dbryant|David Bryant}}, {{Mozillian|bfrancis|Ben Francis}}
| [https://github.com/mozsearch mozsearch] || The code that runs Searchfox.org || {{Mozillian|kats|Kartikaya Gupta}}|| [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
|-
| [https://github.com/mozilla-lockbox mozilla-lockbox] || Mozilla Lockbox iOS, Android, desktop extension || [https://github.com/orgs/mozilla-lockbox/people?utf8=%E2%9C%93&query=role%3Aowner mozilla-lockbox owners]
| [https://github.com/MozillaDataScience MozillaDataScience] || Ad-hoc analyses by data scientists. || Matrix: #data-science:mozilla.org || [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
|-
| [https://github.com/mozilla-metrics mozilla-metrics] || Mozilla Metrics || ?
| [https://github.com/mozilla-extensions mozilla-extensions] || CI- and release-enabled privileged webextensions and system addons. || Slack: #addon-pipeline || [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
|-
| [https://github.com/mozilla-platform-ops mozilla-platform-ops] || Mozilla Platform Operations || [[Platform_Operations]]
| [https://github.com/mozilla-rally mozilla-rally] || ION (former Pioneer) platform. || Slack: #ion || [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
|-
| [https://github.com/mozilla-raptor mozilla-raptor] || Mozilla Raptor / Firefox OS Performance || {{Mozillian|eliperelman|Eli Perelman}}, {{Mozillian|rwood|Rob Wood}}
|[https://github.com/mozillabrasil mozillabrasil] || Mozilla Brazil|| ?
|-
|-
| [https://github.com/mozilla-releng mozilla-releng] || Mozilla Release Engineering || #releng
| [https://github.com/bugzilla bugzilla] || Bugzilla (the product, not bugzilla.mozilla.org) || #bugzilla||
|-  
| [https://github.com/drumbeat-badge-sprint drumbeat-badge-sprint] || Drumbeat Badge Lab || ?||
|-
|-
| [https://github.com/mozilla-services mozilla-services] || Mozilla Services || [https://github.com/orgs/mozilla-services/people?utf8=%E2%9C%93&query=role%3Aowner mozilla-services owners]
| [https://github.com/hackasaurus hackasaurus] || Hackasaurus || ?||
|-
|-
| [https://github.com/mozilla-mobile/ mozilla-mobile] || Mobile: Android Product Team & Firefox iOS teams || [https://github.com/orgs/mozilla-mobile/people?utf8=%E2%9C%93&query=role%3Aowner mozilla-mobile owners]
| [https://github.com/jetpack-labs jetpack-labs] || Jetpack Labs - Archived || ?|| [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Github%3A+Administration Bug here.]
|-
|-
| [https://github.com/mozilla-standards mozilla-standards] || Mozilla Standards (for IPR Contributions) || [https://mozillians.org/u/dbaron/ dbaron], [https://mozillians.org/u/annevk/ annevk]
| [https://github.com/mdn mdn] || Mozilla Developer Network || [https://github.com/jwhitlock John Whitlock]||
|-
|-
| [https://github.com/mozilla-svcops mozilla-svcops] || Mozilla Cloud Services Ops || {{Mozillian|relud|Daniel Thornton}}
| [https://github.com/mozbrick mozbrick] || Mozilla Brick (web components library) || ?||
|-
|-
| [https://github.com/Mozilla-TWQA Mozilla-TWQA] || Mozilla Taiwan QA || ?
| [https://github.com/mozilla-appmaker mozilla-appmaker] || Mozilla Appmaker || ?||
|-
|-
| [https://github.com/mozillahispano mozillahispano] || Mozilla Hispano || ?
| [https://github.com/mozilla-cit mozilla-cit] || Mozilla Community Ops || {{Mozillians|tanner|Tanner Filip}} or {{Mozillians|yalam96|Yousef Alam}}||
|-
|-
| [https://github.com/MozillaScience MozillaScience] || Mozilla Science Lab || ?
| [https://github.com/mozilla-comm mozilla-comm] || Calendaring and Messaging related projects || ?||
|-
|-
| [https://github.com/MozillaSecurity MozillaSecurity] || Mozilla Platform Fuzzing Team master repo with many fuzzing tools under it. || ?
| [https://github.com/mozilla-cordova mozilla-cordova] || Firefox OS Support for Apache Cordova || ?||
|-
|-
| [https://github.com/MozillaWiki MozillaWiki] || MozillaWiki (wiki.mozilla.org) || {{Mozillian|ckoehler|Christie Koehler}}, {{Mozillian|gphemsley|Gordon P. Hemsley}}
| [https://github.com/mozilla-iot mozilla-iot] || Mozilla's Internet of Things program || {{Mozillian|dbryant|David Bryant}}, {{Mozillian|bfrancis|Ben Francis}}|| No longer active.  Has transitioned to community ownership using new organization [https://github.com/WebThingsIO/ WebThingsIO].
|-
|-
| [https://github.com/mozillayvr mozillayvr] || Mozilla Vancouver @MozillaYVR || {{Mozillian|bclark|Brian Clark}}, {{Mozillian|shobson|Stephanie Hobson}}
| [https://github.com/mozilla-raptor mozilla-raptor] || Mozilla Raptor / Firefox OS Performance || {{Mozillian|eliperelman|Eli Perelman}}, {{Mozillian|rwood|Rob Wood}}||
|-
|-
| [https://github.com/mozfr mozfr] || Mozilla Francophone ||
| [https://github.com/mozilla-standards mozilla-standards] || Mozilla Standards (for IPR Contributions) || [[tantek]], [[User:Mthomson|mt]]||
|-
|-
| [https://github.com/opennews opennews] || Knight-Mozilla OpenNews || ?
| [https://github.com/mozillahispano mozillahispano] || Mozilla Hispano || ?||
|-
|-
| [https://github.com/rust-lang rust-lang] || The Rust Programming Language || {{Mozillian|aturon|Aaron Turon}}
| [https://github.com/MozillaResearch MozillaResearch ] || Mozilla Research space|| {{Mozillian|larsberg|Lars Bergstrom}}||
|-
|-
| [https://github.com/servo servo] || Servo (browser engine written in Rust) || {{Mozillian|larsberg|Lars Bergstrom}}, Jack Moffitt
| [https://github.com/MozillaScience MozillaScience] || Mozilla Science Lab || ?||
|-
|-
| [https://github.com/webcompat webcompat] || Web Compatibility Team || {{Mozillian|miketaylr|Mike Taylor}}
| [https://github.com/mozillayvr mozillayvr] || Mozilla Vancouver @MozillaYVR || {{Mozillian|bclark|Brian Clark}}, {{Mozillian|shobson|Stephanie Hobson}}||
|-
|-
| [https://github.com/mozilla-l10n mozilla-l10n] || Mozilla l10n-drivers team || Francesco Lodolo https://mozillians.org/u/flod/
| [https://github.com/mozfr mozfr] || Mozilla Francophone ||||
|-
|-
| [https://github.com/taskcluster taskcluster] || [[TaskCluster]] Team || [https://github.com/gregarndt Greg Arndt]
| [https://github.com/opennews opennews] || Knight-Mozilla OpenNews || ?||
|-
|-
| [https://github.com/MozillaCH MozillaCH] || Mozilla [[Switzerland]] || {{Mozillian|mkohler|Michael Kohler}}, {{Mozillian|freaktechnik|freaktechnik}}
| [https://github.com/rust-lang rust-lang] || The Rust Programming Language || {{Mozillian|aturon|Aaron Turon}}||
|-
|-
| [https://github.com/mozmeao MozMEAO] || Mozilla [[Marketing]] || {{Mozillian|bensternthal|Benjamin Sternthal}}, {{Mozillian|pmac|Paul McLanahan}}
| [https://github.com/servo servo] || Servo (browser engine written in Rust) || {{Mozillian|larsberg|Lars Bergstrom}}, {{Mozillian|jdm|Josh Matthews}}||
|-
|-
| [https://github.com/mozilla-payments mozilla-payments] || Implementation of Web Payment APIs || {{Mozillian|Marcos Caceres}}
| [https://github.com/MozillaCH MozillaCH] || Mozilla [[Switzerland]] || {{Mozillian|mkohler|Michael Kohler}}, {{Mozillian|freaktechnik|freaktechnik}}||
|-
|-
| [https://github.com/mozilla-jetpack mozilla-jetpack] || Resources for Mozilla's Add-on SDK || ?
| [https://github.com/mozilla-payments mozilla-payments] || Implementation of Web Payment APIs || {{Mozillian|Marcos Caceres}}||
|-
|-
| [https://github.com/web-ext-experiments web-ext-experiments] || WebExtension API Experiments || {{Mozillian|andym|Andy McKay}}
| [https://github.com/mozilla-jetpack mozilla-jetpack] || Resources for Mozilla's Add-on SDK || ?||
|-
|-
| [https://github.com/mozilla-conduit mozilla-conduit] || Mozilla Conduit work || {{Mozillian|mcote|Mark Côté}}
| [https://github.com/web-ext-experiments web-ext-experiments] || WebExtension API Experiments || {{Mozillian|andym|Andy McKay}}||
|-
|-
| [https://github.com/mozsearch mozsearch] || The code that runs Searchfox.org || {{Mozillian|kats|Kartikaya Gupta}}
| [https://github.com/MozillaCZ/ MozillaCZ] || [https://www.mozilla.cz/ Mozilla.cz] || {{Mozillian|mstanke|Michal Stanke}}, {{Mozillian|MekliCZ|Michal Vašíček}}, {{Mozillian|zelitomas|Tomáš Zelina}}||
|-
|-
| [https://github.com/MozillaCZ/ MozillaCZ] || [https://www.mozilla.cz/ Mozilla.cz] || {{Mozillian|mstanke|Michal Stanke}}, {{Mozillian|MekliCZ|Michal Vašíček}}, {{Mozillian|zelitomas|Tomáš Zelina}}
| [https://github.com/MozillaSK/ MozillaSK] || [https://www.mozilla.sk/ Mozilla.sk] || {{Mozillian|mstanke|Michal Stanke}}, {{Mozillian|kusavica|Juraj Cigáň}}||
|-
|-
| [https://github.com/MozillaSK/ MozillaSK] || [https://www.mozilla.sk/ Mozilla.sk] || {{Mozillian|mstanke|Michal Stanke}}, {{Mozillian|kusavica|Juraj Cigáň}}
| [https://github.com/common-voice common-voice] || Common Voice || {{Mozillian|phirework|Jenny Zhang}}, Matrix: #common-voice:mozilla.org ||
|}
|}


=== Are there other unofficial or Mozilla-related repositories hosted on Github? ===
=== Are there other unofficial or Mozilla-related repositories hosted on GitHub? ===
Why, yes! In no particular order:
Why, yes! In no particular order:


Line 276: Line 383:
* [https://github.com/choller/firefox-asan-reporter https://github.com/choller/firefox-asan-reporter] : Internal addon used in conjunction with special ASan builds of Firefox.
* [https://github.com/choller/firefox-asan-reporter https://github.com/choller/firefox-asan-reporter] : Internal addon used in conjunction with special ASan builds of Firefox.
* [https://github.com/jrmuizel/qcms https://github.com/jrmuizel/qcms] : Fork of 'quick color management' for Firefox
* [https://github.com/jrmuizel/qcms https://github.com/jrmuizel/qcms] : Fork of 'quick color management' for Firefox
* https://github.com/webcompat : Web Compatibility Team (Industry wide) -- {{Mozillian|kdubost|Karl Dubost}}

Latest revision as of 00:04, 14 June 2024

This page is about GitHub organizations that are administered by MoCo IT, the largest being the "mozilla" organization on GitHub. There are several other GitHub organizations you may be interested in, cf. the incomplete list below.

Question Mark Do you have a GitHub administration question for an org?
See table for contact info for each organization.

News

Quick Access for Requests

I need to be a member of an org

Please read this section on being a member, noting that for many operations you don't need member status. If you need it, file a bug here filling out the fields as best you can. Having your manager or maintainer of the team file the bug may short circuit some of the approval processes, and make things go faster.

I want a new action/app added to an org

Please read these sections on Actions and Apps - file a bug here, giving us as much information as you can

I need a private repo created

Being an open source company, Mozilla tries to do things in the open. However, the need for private repositories is clear for various non-public data and other business reasons, and in order to track them, please request private repositories using this template.
Be sure to answer all questions marked 'REQUIRED' in the form. As well as the ORGNAME in the title. This lets us know what the repo is for, who needs access, all so that we don't lose track of the private repo

I want to transfer a repo

If this is a transfer into a Mozilla controlled org, and you're a member, and the repo is in your account, you can transfer it yourself. This CAN mess up permissions to the repo, but filing a bug with the repo name and who should have access will let us help.

If this is a transfer between Mozilla orgs, you'll need to file a bug with the details, and we're happy to do it.

If this is a transfer out of Mozilla controlled orgs, we'll need to get various approvals, but filing a bug will get this started.

For all of the above, the proper link to file a bug is here

Other requests

Note that if the org isn't controlled by MoCo IT, we may only be able to redirect you to whatever resources we're aware of per this chart.

Things like "I need access to a Repo" - generally this is handled by repo admins, but if you need more, or help finding an admin, file a bug here with questions

And general requests for help/advice - bugs to the GitHub Administration component are the most reliable, but there's a matrix channel: #github-admin, and email to ghe-admins @ mozilla . com

Recommendations and FAQ

The actions below are specifically for the 'mozilla' organization on GitHub. Other organizations may have different or additional procedure. Please refer to the other organizations table below for the proper service request address and contact information.

SAML or SSO questions

As we move into GitHub Enterprise, we're not changing permissions, but we are requiring people to use people.mozilla.org to authenticate into Mozilla operated spaces. Signing up in people.m.o is automatic if you're an employee, but if you're a contributor, you can create an account using a Firefox account. Directions and a FAQ around SAML are here

Getting asked to SAML in every day

Sadly this is unavoidable with the stack of tech we have - we're continuing to evaluate options to see if there's any path to allowing longer SAML sessions. But at this point we're limited to 24 hours.

Needing to SAML in to see even public things

This is a known bug on GitHub's part - their documentation (at the time of this writing) says that only private or org things need to SAML in - but the behavior is that access to ANY org resource requires a valid SAML session.

Do you have any recommendations for repository settings?

Yes, please see https://wiki.mozilla.org/GitHub/GitHubRepositoryConfigurationConventions.

Where should I ask additional questions?

  • Please use the contact list to find the best address.
  • If the issue relates to the Mozilla org, then you can send an email to github-owners At-teken.png mozilla.org and one of the volunteers will respond.
  • For other orgs, the volunteers in the #github-admin room on Matrix may be able to point you in the correct direction.

How do I hook up a new GitHub Actions or 3rd party application to a repository in the mozilla org?

Note: There are now multiple 3rd party application types. "GitHub Apps" (nee integrations) are the new approach and preferred.
Note: Some 3rd party apps use GitHub as an OAuth identity provider for their website (e.g. for a dashboard). An OAuth Application will block the installation process if the app is not already approved. The "Request access" block is what this section describes.

Each type has it's own installation and approval process. Please follow the instructions in the correct section below.

GitHub Actions

GitHub Actions allow automation to be initiated by various repository events. GitHub Actions are now available for all public repositories. Each organization makes a decision on whether or not they should be enabled. Check with your organization owners if you have questions.

Note: GitHub Actions have not yet been fully evaluated for use on "sensitive repositories". The current guidance is to only use actions authored by GitHub or your development team. Please work with your security team if you wish to utilize non-GitHub-authored GitHub Actions on a sensitive repository.

To request a non-GitHub-authored action to be used in the "mozilla" organization, follow the procedure for requesting approval for a new GitHub App, immediately below.

GitHub Apps Installation & Approval Process

GitHub Apps (formerly called "integrations") are "Installed" into either the entire organization, or into individual repositories. Each integration has a documented and granular access to repository resources. This is good.

However, the GitHub App installation can only be done by an organization owner, who may have to do additional housekeeping. This is not so good, so please plan accordingly (you may need to coordinate with GitHub owners).

  • File a request using this template
  • Include answers to the questions prompted for in the above template. Additional notes:
    • Which repositories do you want to have access? (all or list) -- "All" will rarely be granted - every repository should have control over anything that can access their repository.
    • Are any of those repositories private? -- In general, OAuth apps will not be granted access to private repositories, as that grants access to all private repositories.
    • Provide link to vendor's description of permissions needed and why -- Hopefully they have this documented, or at least provide a screenshot of the authorization screen which lists the permissions. If not, we may ask you (the requestor) to engage with the app's support team to obtain the answers.
    • Provide the Install link for a GitHub app -- mandatory, as we can't install the app without it.
  • If you are not an "admin" for the repository, an "admin" will have to approve the request. Please set a "Need Info" on the appropriate repository admin.
Initial Installation

If this is the first time this GitHub App is being installed in the organization, a few extra checks and coordination are needed. An organization owner will need to perform these steps:

  • Determine if the GitHub App previously had an OAUTH version in use in the same org. (The simplest way is to see if the app is listed under the "Third-party Application" section of the organization settings page. Any mention -- including "declined" -- counts as "in use" for this purpose.)
    • If the OAuth app was in use, check the app installation documentation to see if there are any caveats. (We've only seen one app transition where there was an impact, but better safe than sorry.)
    • If there are caveats that apply, ask the requestor to contact all current repositories using the classic OAUTH application to coordinate, cc'ing GitHub owners. This task is non-trivial, you usually need to access the OAuth app's dashboard, and have knowledge of how the app works. (Do NOT authenticate to any OAuth app with your owner account.)
  • Install the GitHub app for "specific repositories", and enable the ones in the request.

Please do not install GitHub apps with organization wide scope without first discussing with GitHub owners.

Additional Installations or Removals

If the GitHub App has already been installed in the organization, the new repository simply needs to be added or removed from the list. An organization owner has to make this change. Please still file a bug. As before, a repository admin has to approve the request.

If you're an org owner, you can see what has already been installed.

OAUTH (classic) Applications

  • Authorizing an application to work with GitHub utilizes the permissions your account has -- so, any repositories you have access to the application will have access to as well (including private ones). If you want to grant access to an application that no one else has used with the Mozilla organization yet you'll see a "Request access" button during the set up flow. You'll need to click that button to request approval. See below for an example:

Github approval.png

  • In some cases, the application does not need to be "approved" to function correctly, as it has read only access to any public repository. (Some applications only want write access to help you configure the application first time.)
  • In other cases, the application does need write permission, and/or permission to read a private repository. In these cases, open a bug using this template.
    • Please be sure to have clicked the "Request Approval" link before submitting bug.
  • Include answers to these questions:
    • Provide link to vendor's description of permissions needed and why
    • Provide installation instructions (both may be needed):

Reviewing owners and permissions

As an owner or repository admin you're responsible for maintaining the list of people with access to your projects. Please be active and prudent about maintaining this list.

Can I be an Owner of the Mozilla Organization?

The Owners group on GitHub has complete administrative power and will be limited to a minimal number of people and reviewed regularly. If a person is an owner, they are expected to actively participate in the group and assist others as requested. Owners will be added as a need arises (for example, support in another timezone) as determined by the current owners.

Can I be a Member of the Mozilla Organization?

No one automatically becomes a member of any of our GitHub Organizations, even staff. We require everyone to be "sponsored" for membership by being invited to a specific team, as outlined below.

Note:

Good news! You do not need to be a member of the Mozilla organization on GitHub before you can contribute to Mozilla!!!! We have several sites which can help you find the best fit for contribution:

Once you're working on a project, the project leaders and/or team maintainers can help you get access to anything you need. Instructions for them are directly following.

Team Maintainers & Project Leads

Project owners and team maintainers may find the following information helpful when asking for access for a new team member (staff or community):

  • We require the use of GitHub teams when initially granting permissions to org members. (Collaborators have to be added individually.)
  • All members of the Mozilla organization on GitHub agree to be bound by Mozilla's Commit Access Requirements, and should follow the intent of the Mozilla's Commit Access Policy as much as practical. Of course, anyone interacting with Mozilla repositories agrees to Mozilla Community Participation Guidelines
    • "Outside Collaborator": repository admins can grant outside collaborator access to any GitHub login on a per repository basis. "Outside Collaborator" is roughly analogous to "Level 1a" access to Mozilla-hosted repositories.
    • "Team Member": team maintainers can add GitHub users to a team, if they are already a member of the organization. If they are not yet a member of the organization, the team maintainer should file a bug using this link to add you to their team, as a form of vouching. "Team Member" is roughly analogous to "Level 2" or "Level 3", with the distinction being the content of the repositories managed by the team.

To get access for a new Contributor, please have the team maintainer or repository admin file a bug using the link in this section, and fill in the details.

Please Note:

  • All organization members MUST have an entry on people.mozilla.org and MUST have their verified GitHub identity entered there.
  • GitHub cancels any invitation which is not accepted within 2 weeks.
  • All members and outside contributors of the Mozilla organization on GitHub MUST have 2FA enabled.
  • Automation accounts are also required to have 2FA enabled. Scripts should use access tokens with minimum permissions to accomplish the task.

Should I make a separate GitHub organization or just create a repository in an existing one?

With much of Mozilla's GitHub presence in GitHub Enterprise at this point, if you want to create a organization, we'd love to hear from you about it via a bug here, requesting an org to be created and added to our enterprise. Noting that we already have >50 orgs, so we'd like to make sure you don't already fit into one of the existing spaces.

If the org isn't to be related to Mozilla's Enterprise, then the original advice still applies: This is a personal preference, in general. (Some product lines may have policies about source code locations.) If you have a large enough project or organization feel free. We suggest you use the strategies and recommendations here as a model to manage the details. Additional resources on establishing an organization are:

Forking vs Transferring

Do not "fork" a repository into a Mozilla organization. Doing so gives every team in the org rights to it. There are a number of limitations to just pushing your repo's content into a new repo under mozilla (you loose all GitHub metadata). Refer to GitHub's docs for details.

If you have created a repo on your own account (for example, myuser/myrepo) and it should live under the Mozilla organization, here are the steps:

  1. If you're not a member of any team, talk to an org admin.
  2. Under the repo admin, transfer ownership to the Mozilla organization. If you don't see this option, return to step 1.
  3. Choose which teams should be given access. All chosen teams will have only 'read' access at this point.
  4. File a bug to grant admin permissions to a team or yourself.
    Note: As soon as you transfer, your repository will be in "limbo" (only you will have write access) due to a GitHub "feature" (see docs). Make arrangements in advance to have an owner available to process the bug.
  5. Fork the repo from Mozilla (mozilla/myrepo) back to your account (recreating myuser/myrepo). While the transferred repo becomes the root of the network on GitHub (e.g. all forks are now forks of mozilla/myrepo) other users may be pointing to your repo by URL. (Optional, GitHub will redirect old URLs for transfers, but you probably want a local repo if you use the PR workflow.)

Do I need to be an owner to create repositories?

Not in the 'mozilla' organization. If you are a member, you can create a repository. Other organizations may restrict repository creation. However, it's preferred that you create repositories in the context of a team. Teams are created here, if necessary. Once you have created a repo, you can configure it to give rights to members of particular teams.

Note: Remember that all repositories must comply with the GitHub/Repository Requirements.

As the creator, you will automatically have "admin" permissions on the repository. Repository Admins are responsible for the security settings of the repository. This includes approving (or not) requests for GitHub Apps to be added to the app.

Please review all the settings for your new repository, and disable features you will not be using. The default values can change, and new services added, so specific guidance can't be given. But do you really need that wiki? Or the project board? You can always enable them later if you decide you need them.

We have sensitive code or data in this repository - any extra steps I should take?

Yes. Even if your repository is private, there are steps you can take to ensure you know if something has changed. See the GitHub/Repository Security page for additional information and a checklist.

We're done with this project - what should we do with the repository?

That is really up to the team. However, if you have forks or other active user participation, it's a good idea to be clear about the status of Mozilla's commitment to the project. Your options include:

PLEASE make sure the repository is clearly licensed before leaving it. Without a license, many other folks can not build upon your work. In most Mozilla controlled GitHub organizations deletion is only an option for owners of the org - file a bug here, with any reasoning and we're happy to discuss.

Are there requirements for when or how I should create a new team?

No. When requirements were proposed they all seemed too rigid and time consuming. Instead we recommend staying flexible and using good naming and documentation for projects (similar to naming CSS classes or variables).

On large teams we recommend you separate teams for read/write and repository administration.

Is "mozilla" the only GitHub "organization" related to Mozilla?

No, there are plenty of Mozilla-related "organizations" on GitHub. As a rule of thumb, initiatives that create a large number of sub-repositories will create their own "organization". Here is a (probably incomplete) list of them:

NOTE: All GitHub Organizations in this section are subject to the Repository Requirements.

NOTE: As Mozilla IT works to consolidate GitHub support in the Mozilla related organizations, it is often a good idea to file any bugs here, and if needed, we will work with you to relocate the request.

Organization Description Contact Owner Service Requests
mozilla Mozilla main organization Matrix #github-admin:mozilla.org; Email github-owners At-teken.png mozilla.org Please check above for a more specific link, otherwise use mozilla.org :: Github: Administration
mozilla-it Mozilla IT's repositories Matrix #github-admin:mozilla.org; Email github-owners At-teken.png mozilla.org Bug here.
mozilla-sre-deploy Mozilla SRE Deploy repos Matrix #github-admin:mozilla.org; Email github-owners At-teken.png mozilla.org Bug here.
mozilla-ocho Innovation and Experiments @ Mozilla Matrix #github-admin:mozilla.org; Email github-owners At-teken.png mozilla.org Bug here.
mozilla-bteam Bugzilla.Mozilla.org #bteam Bug here.
mozilla-iam Mozilla's identity and access management dividehex Bug here.
mozilla-spidermonkey Mozilla SpiderMonkey Team tools and embedding info Ted Campbell (tcampbell); Matrix #spidermonkey:mozilla.org Bug here.
mozilla-svcops Mozilla Cloud Services Ops - Archived Daniel Thornton (relud) Bug here.
firefox-devtools Firefox Developer Tools ? Bug here.
iodide-project Seamless scientific computing with web technologies. ? Bug here.
moco-ghe-admin Tools for MoCo IT to administer GHE ghe-admins @ mozilla.com Bug here.
mozilla-conduit Mozilla Conduit work glob (glob) Bug here.
Mozilla-Frontend-Infra Frontend Testing support Mozilla Frontend Infra request
mozilla-lockbox Mozilla Lockbox iOS, Android, desktop extension mozilla-lockbox owners

Bug here.

mozilla-mobile Mobile: Android Product Team & Firefox iOS teams mozilla-mobile owners

Bug here.

MozillaReality Mozilla Mixed Reality program Erica Stanley (estanley) Bug here.
MozillaSecurity Mozilla Platform Fuzzing Team master repo with many fuzzing tools under it. ? Bug here.
MozMEAO Mozilla Marketing Paul McLanahan (pmac) Bug here.
mozilla-applied-ml MAML - Mozilla Applied Machine Learning - Archived ? Bug here.
mozilla-b2g Mozilla Boot2Gecko / Firefox OS - archived ? Bug here.
mozilla-metrics Mozilla Metrics ? Bug here.
mozilla-platform-ops Mozilla Platform Operations Platform_Operations Bug here.
mozilla-releng Mozilla Release Engineering #releng Bug here.
mozilla-services Mozilla Services mozilla-services owners Bug here.
Mozilla-TWQA Mozilla Taiwan QA - Archived ? Bug here.
MozillaWiki MozillaWiki (wiki.mozilla.org) - Archived (see Mozilla/wiki.mozilla.org) ? Bug here.
mozilla-l10n Mozilla l10n-drivers team Francesco Lodolo https://mozillians.org/u/flod/ Bug here.
taskcluster TaskCluster Team ? Bug here.
mozilla-conduit Mozilla Conduit work glob (glob) Bug here.
mozsearch The code that runs Searchfox.org Kartikaya Gupta (kats) Bug here.
MozillaDataScience Ad-hoc analyses by data scientists. Matrix: #data-science:mozilla.org Bug here.
mozilla-extensions CI- and release-enabled privileged webextensions and system addons. Slack: #addon-pipeline Bug here.
mozilla-rally ION (former Pioneer) platform. Slack: #ion Bug here.
mozillabrasil Mozilla Brazil ?
bugzilla Bugzilla (the product, not bugzilla.mozilla.org) #bugzilla
drumbeat-badge-sprint Drumbeat Badge Lab ?
hackasaurus Hackasaurus ?
jetpack-labs Jetpack Labs - Archived ? Bug here.
mdn Mozilla Developer Network John Whitlock
mozbrick Mozilla Brick (web components library) ?
mozilla-appmaker Mozilla Appmaker ?
mozilla-cit Mozilla Community Ops Tanner Filip (tanner) or Yousef Alam (yalam96)
mozilla-comm Calendaring and Messaging related projects ?
mozilla-cordova Firefox OS Support for Apache Cordova ?
mozilla-iot Mozilla's Internet of Things program David Bryant (dbryant), Ben Francis (bfrancis) No longer active. Has transitioned to community ownership using new organization WebThingsIO.
mozilla-raptor Mozilla Raptor / Firefox OS Performance Eli Perelman (eliperelman), Rob Wood (rwood)
mozilla-standards Mozilla Standards (for IPR Contributions) tantek, mt
mozillahispano Mozilla Hispano ?
MozillaResearch Mozilla Research space Lars Bergstrom (larsberg)
MozillaScience Mozilla Science Lab ?
mozillayvr Mozilla Vancouver @MozillaYVR Brian Clark (bclark), Stephanie Hobson (shobson)
mozfr Mozilla Francophone
opennews Knight-Mozilla OpenNews ?
rust-lang The Rust Programming Language Aaron Turon (aturon)
servo Servo (browser engine written in Rust) Lars Bergstrom (larsberg), Josh Matthews (jdm)
MozillaCH Mozilla Switzerland Michael Kohler (mkohler), freaktechnik (freaktechnik)
mozilla-payments Implementation of Web Payment APIs Caceres Marcos Caceres
mozilla-jetpack Resources for Mozilla's Add-on SDK ?
web-ext-experiments WebExtension API Experiments Andy McKay (andym)
MozillaCZ Mozilla.cz Michal Stanke (mstanke), Michal Vašíček (MekliCZ), Tomáš Zelina (zelitomas)
MozillaSK Mozilla.sk Michal Stanke (mstanke), Juraj Cigáň (kusavica)
common-voice Common Voice Jenny Zhang (phirework), Matrix: #common-voice:mozilla.org

Are there other unofficial or Mozilla-related repositories hosted on GitHub?

Why, yes! In no particular order: