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.
Category | Thing | Type | Team | Domain experts | Slack channels | Ownership model | Health | Product lifecycle |
---|---|---|---|---|---|---|---|---|
Unknown | Client - Customer scripts | |||||||
Application Architecture | AuthN/AuthZ | Product | Identity and Access Management (IAM) | #iam-and-admin-exp | Owner | |||
Application Architecture | Multi-tenancy | Tech | Introduction | |||||
Application Architecture | Rate limiting | |||||||
Application Architecture | Analytics | |||||||
Application Architecture | Feature flagging / AB testing | |||||||
Application Architecture | Gating system and license key management | Identity and Access Management (IAM) | #iam-and-admin-exp | Owner | ||||
Application Architecture | RBAC | Identity and Access Management (IAM) | #iam-and-admin-exp | Owner | ||||
Application Architecture | Auditlogs | |||||||
Application Architecture | Caching systems & Queues | |||||||
Application Architecture | Event streaming | |||||||
Application Architecture | Cloud KMS encryption | Tech | Identity and Access Management (IAM) | #iam-and-admin-exp | ||||
Application Interface | src-cli | Product | Batch Changes | Batch Changes | #batch-changes | Owner | Green | Mature |
Application Interface | Browser Extensions | Product | Integrations | #integrations | Owner | Growth | ||
Application Interface | Native Integrations | Product | Integrations | #integrations | Owner | Mature | ||
Application Interface | Editor Extension | Product | Integrations | #integrations | Owner | Introduction | ||
Application Interface | Web App | Product | Frontend Platform | Owner | ||||
Application Interface | Resource Estimator | Product | Delivery | Owner | ||||
Client - Core Feature | Diff / commit search | Product | Search Product | Camden Cheek, Rijnard van Tonder | #search | Owner | Green | Mature |
Client - Core Feature | Structural search | Product | Search Product | Rijnard van Tonder | #search | Owner | Green | Mature |
Client - Table stakes | Admin Experience | Product | Identity and Access Management (IAM) | #iam-and-admin-exp | Owner | |||
Client - Table stakes | Terms and conditions | Product | ||||||
Continuous Integration | CI infra - Docker/GKE images, ASG config, etc. | Tech | Dev Experience | |||||
Continuous Integration | Buildkite - agents, agent images, and agent infrastructure | Tech | Dev Experience | #dev-experience, #buildkite-main | Owner | |||
Continuous Integration | CI service - pipeline gen, tools, monitoring, etc. | Tech | Dev Experience | #dev-experience, #buildkite-main | Owner | Yellow | ||
Continuous Integration | Webpack build config | Tech | Frontend Platform | #frontend-platform | Owner | Green | ||
Continuous Integration | Code host QA instances (GitHub, GitLab, Bitbucket Server) | Tech | Dev Experience | Dev Experience | #dev-experience | Owner | Red | |
Datastore | CodeIntel DB | Product | Code Intelligence | Code Intelligence | #code-intel | Owner | Green | Mature |
Datastore | Frontend DB | Product | ||||||
Datastore | Database | Tech | ||||||
Datastore | ETL and data mechanisims | Tech | ||||||
Datastore | Data warehouse | Tech | ||||||
Datastore | Data archive | Tech | ||||||
Dependency | Zoekt | Tech | Search Core | Owner | ||||
Deployments | Deployment methods | Tech | ||||||
Deployments | Enterprise deployments | Tech | ||||||
Deployments | Deployment documentation | Tech | ||||||
Deployments | Orchestration - Helm, Kustomize, Teraform | Tech | ||||||
Developer Experience | sg tool | Product | Dev Experience | Thorsten, Erik Seliger | #dev-experience | Caretaker | Green | Introduction |
Developer Experience | Wildcard component library | Product | Frontend Platform | #frontend-platform, #component-system-updates | Owner | Green | Introduction | |
Developer Experience | Frontend coding standards (TypeScript, HTML, CSS) | Tech | Frontend Platform | #frontend-platform | Owner | Green | ||
Developer Experience | Frontend testing libraries | Tech | Frontend Platform | #frontend-platform | Caretaker | Yellow | ||
Developer Experience | CI tooling | Tech | ||||||
Developer Experience | Testing infrastructure and tooling | Tech | Dev Experience | #dev-experience | Caretaker | |||
Developer Experience | Backend testing libraries | Tech | ||||||
Developer Experience | Observability standards and tooling | Tech | ||||||
Developer Experience | Analytics libs and tooling | Tech | ||||||
Developer Experience | API standards | Tech | ||||||
Developer Experience | Common libs | Tech | ||||||
Dev_Experience | Alerting and monitoring | Tech | ||||||
Google Cloud Platform | GCP - Test environments | Tech | Dev Experience | |||||
Google Cloud Platform | GCP - Managed Instances | Tech | Cloud | |||||
Google Cloud Platform | GCP - Sourcegraph.com | Tech | Dev Experience | |||||
Google Cloud Platform | GCP - Permissions | Tech | Security | #security | Owner | Green | ||
Infrastructure | DNS | Tech | Dev Experience | Caretaker | ||||
Infrastructure | Orchestration - Infrastructure as Code | Tech | Dev Experience | #cloud-devops, #dev-ops | Caretaker | |||
Infrastructure | Networking ingress/egress | |||||||
Infrastructure | CDN (Cloudflare) | |||||||
Security & Compliance | WAF (Cloudflare) | Tech | Security | #security | Owner | Green | Introduction | |
Security & Compliance | Compliance | Tech | Security | #security | Caretaker | Green | ||
Security & Compliance | Application security | |||||||
Security & Compliance | Security automation | |||||||
Security & Compliance | Security research | |||||||
Security & Compliance | External security comms | |||||||
Security & Compliance | Red team (offensive) / pen testing | |||||||
Security & Compliance | Security incident response (SIRT) | |||||||
Security & Compliance | 3rd party security vendor relationships | |||||||
Security & Compliance | Customer risk management | |||||||
Security & Compliance | 3rd party risk management | |||||||
Sub-system | Syntax Highlighter | Product | Code Intelligence | Stephen Gutekanst | ||||
Sub-system | Blob storage | Tech | Code Intelligence | #code-intel | ||||
Sub-system | Executors | Product | Code Intelligence | Code Intelligence, Batch Changes | #code-intel, #batch-changes | Owner | Green | Introduction |
Sub-system | Repo updater | Product | Repo Management | #repo-management | Owner | Decline | ||
Sub-system | Gitserver Service | Product | Repo Management | #repo-management | Owner | |||
Sub-system | Code host syncing (GitHub, GitLab, Bitbucket Server) | Product | Repo Management | #repo-management | Owner | |||
Sub-system | Search indexing | Product | Search Core | Growth | ||||
Sub-system | Searcher | Product | Search Core | |||||
Sub-system | Frontend service | Product | ||||||
Sub-system | Redis | Tech | ||||||
Sub-system | Github Proxy Service | Tech | ||||||
Sub-system | GraphQL API | Product | ||||||
Sub-system | CVS import tool | Tech | Batch Changes | Adam Harvey | #tmp-cvs-support | Caretaker | Yellow | Introduction |
Web App - Add-on Feature | Web App - Batch changes | Product | Batch Changes | #batch-changes | Owner | |||
Web App - Add-on Feature | Web App - Code Insights | Product | Code Insights | #code-insights | Owner | Green | Introduction | |
Web App - Add-on Feature | Web App - Extensions registry | Product | Integrations | #integrations | Owner | |||
Web App - Add-on Feature | Sourcegraph Extensions | Product | Integrations | #integrations | Owner | Growth | ||
Web App - Add-on Feature | Web App - Code monitoring | Product | Search Product | #search | Owner | |||
Web App - Billing | Subscription Management | Product | Identity and Access Management (IAM) | #iam-and-admin-exp | Owner | Introduction | ||
Web App - Billing | Pricing and packeging | Product | ||||||
Web App - Billing | Usage reporting / entitlements limits | Product | Identity and Access Management (IAM) | #iam-and-admin-exp | Owner | Introduction | ||
Web App - Billing | Payments / Billing | Product | Identity and Access Management (IAM) | #iam-and-admin-exp | Owner | Introduction | ||
Web App - Billing | On-prem licencing model | Product | Identity and Access Management (IAM) | #iam-and-admin-exp | Owner | |||
Web App - Core Feature | Settings page | Product | Frontend Platform | #frontend-platform | Caretaker | Yellow | ||
Web App - Core Feature | Feedback prompts | Product | Frontend Platform | #frontend-platform | Caretaker | Green | ||
Web App - Core Feature | Organisations | Product | ||||||
Web App - Core Feature | User profile / settings | Product | Identity and Access Management (IAM) | #iam-and-admin-exp | Owner | Mature | ||
Web App - Core Feature | Sign up flow | Product | Growth | #growth | Owner | Mature | ||
Web App - Core Feature | Post sign up / onboarding flow / product tour / in-product guidance / new user experience (NUE) | Product | Growth | #growth | Owner | Introduction | ||
Web App - Core Feature | User notifications | Product | Identity and Access Management (IAM) | #iam-and-admin-exp | Owner | Introduction | ||
Web App - Core Feature | Homepage | Product | Search Product | #search | Caretaker | Green | ||
Web App - Core Feature | Code search | Product | Search Product | #search | Owner | |||
Web App - Core Feature | Open Source (OSS) Code Search | Product | Search Core | #search | Owner | |||
Web App - Core Feature | Repository page | Product | ||||||
Web App - Core Feature | File tree | Product | ||||||
Web App - Core Feature | File blob | Product | ||||||
Web App - Core Feature | Webhooks | Product | ||||||
Tooling | GitHub | Tech | Dev Experience | #dev-experience | Owner | |||
Tooling | GitHub Applications (incl. 3rd party apps) | Tech | Dev Experience | #dev-experience | Owner | |||
Tooling | Contributor Licence Agreement Bot (cla-bot) | Tech | Dev Experience | #dev-experience | Owner |
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.