Engineering Ownership

The following table documents the ownership of our product and tech stack.

The table is generated from data/engineering_ownership.yml. You can edit that file to make changes.

If you see an area that is missing or has no owner, figure out who the right owner is and add it to the handbook. If you can’t figure out who the right owner is, post in #eng-leads.

CategoryThingTypeTeamDomain expertsSlack channelsOwnership modelHealthProduct lifecycle
UnknownClient - Customer scripts
Application ArchitectureAuthN/AuthZProductIdentity and Access Management (IAM)#iamOwner
Application ArchitectureMulti-tenancyTechIntroduction
Application ArchitectureRate limiting
Application ArchitectureAnalytics
Application ArchitectureFeature flagging / AB testing
Application ArchitectureGating system and license key managementIdentity and Access Management (IAM)#iamOwner
Application ArchitectureRBACIdentity and Access Management (IAM)#iamOwner
Application ArchitectureAuditlogs
Application ArchitectureCaching systems & Queues
Application ArchitectureEvent streaming
Application ArchitectureCloud KMS encryptionTechIdentity and Access Management (IAM)#iam
Application Interfacesrc-cliProductBatch ChangesBatch Changes#batch-changesOwnerGreenMature
Application InterfaceBrowser ExtensionsProductIntegrations#integrationsOwnerGrowth
Application InterfaceNative IntegrationsProductIntegrations#integrationsOwnerMature
Application InterfaceEditor ExtensionProductIntegrations#integrationsOwnerIntroduction
Application InterfaceWeb AppProductFrontend PlatformOwner
Application InterfaceResource EstimatorProductDeliveryOwner
Client - Core FeatureDiff / commit searchProductSearch ProductCamden Cheek, Rijnard van Tonder#searchOwnerGreenMature
Client - Core FeatureStructural searchProductSearch ProductRijnard van Tonder#searchOwnerGreenMature
Client - Table stakesAdmin ExperienceProductIdentity and Access Management (IAM)#iamOwner
Client - Table stakesTerms and conditionsProduct
Continuous IntegrationCI infra - Docker/GKE images, ASG config, etc.TechDev Experience
Continuous IntegrationBuildkite - agents, agent images, and agent infrastructureTechDev Experience#dev-experience, #buildkite-mainOwner
Continuous IntegrationCI service - pipeline gen, tools, monitoring, etc.TechDev Experience#dev-experience, #buildkite-mainOwnerYellow
Continuous IntegrationWebpack build configTechFrontend Platform#frontend-platformOwnerGreen
Continuous IntegrationCode host QA instances (GitHub, GitLab, Bitbucket Server)TechDev ExperienceDev Experience#dev-experienceOwnerRed
DatastoreCodeIntel DBProductCode IntelligenceCode Intelligence#code-intelOwnerGreenMature
DatastoreFrontend DBProduct
DatastoreETL and data mechanisimsTech
DatastoreData warehouseTech
DatastoreData archiveTech
DependencyZoektTechSearch CoreOwner
DeploymentsDeployment methodsTech
DeploymentsEnterprise deploymentsTech
DeploymentsDeployment documentationTech
DeploymentsOrchestration - Helm, Kustomize, TeraformTech
Developer Experiencesg toolProductDev ExperienceThorsten, Erik Seliger#dev-experienceCaretakerGreenIntroduction
Developer ExperienceWildcard component libraryProductFrontend Platform#frontend-platform, #component-system-updatesOwnerGreenIntroduction
Developer ExperienceFrontend coding standards (TypeScript, HTML, CSS)TechFrontend Platform#frontend-platformOwnerGreen
Developer ExperienceFrontend testing librariesTechFrontend Platform#frontend-platformCaretakerYellow
Developer ExperienceCI toolingTech
Developer ExperienceTesting infrastructure and toolingTechDev Experience#dev-experienceCaretaker
Developer ExperienceBackend testing librariesTech
Developer ExperienceObservability standards and toolingTech
Developer ExperienceAnalytics libs and toolingTech
Developer ExperienceAPI standardsTech
Developer ExperienceCommon libsTech
Dev_ExperienceAlerting and monitoringTech
Google Cloud PlatformGCP - Test environmentsTechDev Experience
Google Cloud PlatformGCP - Managed InstancesTechCloud
Google Cloud PlatformGCP - Sourcegraph.comTechDev Experience
Google Cloud PlatformGCP - PermissionsTechSecurity#securityOwnerGreen
InfrastructureDNSTechDev ExperienceCaretaker
InfrastructureOrchestration - Infrastructure as CodeTechDev Experience#cloud-devops, #dev-opsCaretaker
InfrastructureNetworking ingress/egress
InfrastructureCDN (Cloudflare)
Security & ComplianceWAF (Cloudflare)TechSecurity#securityOwnerGreenIntroduction
Security & ComplianceComplianceTechSecurity#securityCaretakerGreen
Security & ComplianceApplication security
Security & ComplianceSecurity automation
Security & ComplianceSecurity research
Security & ComplianceExternal security comms
Security & ComplianceRed team (offensive) / pen testing
Security & ComplianceSecurity incident response (SIRT)
Security & Compliance3rd party security vendor relationships
Security & ComplianceCustomer risk management
Security & Compliance3rd party risk management
Sub-systemSyntax HighlighterProductCode IntelligenceStephen Gutekanst
Sub-systemBlob storageTechCode Intelligence#code-intel
Sub-systemExecutorsProductCode IntelligenceCode Intelligence, Batch Changes#code-intel, #batch-changesOwnerGreenIntroduction
Sub-systemRepo updaterProductRepo Management#repo-managementOwnerDecline
Sub-systemGitserver ServiceProductRepo Management#repo-managementOwner
Sub-systemCode host syncing (GitHub, GitLab, Bitbucket Server)ProductRepo Management#repo-managementOwner
Sub-systemSearch indexingProductSearch CoreGrowth
Sub-systemSearcherProductSearch Core
Sub-systemFrontend serviceProduct
Sub-systemGithub Proxy ServiceTech
Sub-systemGraphQL APIProduct
Sub-systemCVS import toolTechBatch ChangesAdam Harvey#tmp-cvs-supportCaretakerYellowIntroduction
Web App - Add-on FeatureWeb App - Batch changesProductBatch Changes#batch-changesOwner
Web App - Add-on FeatureWeb App - Code InsightsProductCode Insights#code-insightsOwnerGreenIntroduction
Web App - Add-on FeatureWeb App - Extensions registryProductIntegrations#integrationsOwner
Web App - Add-on FeatureSourcegraph ExtensionsProductIntegrations#integrationsOwnerGrowth
Web App - Add-on FeatureWeb App - Code monitoringProductSearch Product#searchOwner
Web App - BillingSubscription ManagementProductIdentity and Access Management (IAM)#iamOwnerIntroduction
Web App - BillingPricing and packegingProduct
Web App - BillingUsage reporting / entitlements limitsProductIdentity and Access Management (IAM)#iamOwnerIntroduction
Web App - BillingPayments / BillingProductIdentity and Access Management (IAM)#iamOwnerIntroduction
Web App - BillingOn-prem licencing modelProductIdentity and Access Management (IAM)#iamOwner
Web App - Core FeatureSettings pageProductFrontend Platform#frontend-platformCaretakerYellow
Web App - Core FeatureFeedback promptsProductFrontend Platform#frontend-platformCaretakerGreen
Web App - Core FeatureOrganisationsProduct
Web App - Core FeatureUser profile / settingsProductIdentity and Access Management (IAM)#iamOwnerMature
Web App - Core FeatureSign up flowProductGrowth#growthOwnerMature
Web App - Core FeaturePost sign up / onboarding flow / product tour / in-product guidance / new user experience (NUE)ProductGrowth#growthOwnerIntroduction
Web App - Core FeatureUser notificationsProductIdentity and Access Management (IAM)#iamOwnerIntroduction
Web App - Core FeatureHomepageProductSearch Product#searchCaretakerGreen
Web App - Core FeatureCode searchProductSearch Product#searchOwner
Web App - Core FeatureOpen Source (OSS) Code SearchProductSearch Core#searchOwner
Web App - Core FeatureRepository pageProduct
Web App - Core FeatureFile treeProduct
Web App - Core FeatureFile blobProduct
Web App - Core FeatureWebhooksProduct
ToolingGitHubTechDev Experience#dev-experienceOwner
ToolingGitHub Applications (incl. 3rd party apps)TechDev Experience#dev-experienceOwner
ToolingContributor Licence Agreement Bot (cla-bot)TechDev Experience#dev-experienceOwner

Owners files

Owners files work exactly like the CODENOTIFY files that we use currently, and can also help you find the owner of a certain bit of code:

  • An OWNERS file can appear in any directory.
  • Owners files are recursive, so an OWNERS file in a directory also applies to all subdirectories.
  • The effective owners of a given file / directory are determined by the union of the owners of all parent directories.

OWNERS files and CODENOTIFY files use the same syntax, and notifications for both are implemented by the Codenotify tool. Owners files have some additional guidelines:

  • It is preferred to list a team (e.g., @sourcegraph/frontend-platform) rather than individuals.
  • If there is an individual with expertise in a given part of the code, who is not on the owning team (e.g., Thorsten Ball with sg), that person should be listed in OWNERS.

For questions about our use of owners files, please reach out on #dev-experience.