Governance

SCIP Project Governance

How SCIP stays stable and open: roles, the SEP process, and Core Steering Committee oversight.

Overview

The SCIP Code Intelligence Protocol (SCIP) is an open source project designed to provide a standard format for indexing source code.

To ensure the protocol remains stable, performant, and universally applicable, this project operates under a Sponsor-Led Governance Model. This means that while we encourage and rely on community contributions, the strategic direction and core protocol schema are guided by a Core Steering Committee. This model is designed to foster a rich ecosystem of language-specific indexers while maintaining a highly stable core.

Roles and Responsibilities

1. Contributors

Contributors are the lifeblood of SCIP. Anyone can be a Contributor by submitting pull requests, opening issues, improving documentation, or participating in discussions.

  • Responsibilities: Follow the Code of Conduct and ensure PRs pass all CI checks.

2. Domain Maintainers

Because SCIP relies on a diverse ecosystem of language-specific indexers (e.g., scip-typescript, scip-java), we delegate authority over specific domains to Domain Maintainers.

  • Authority: Domain Maintainers have merge rights (CODEOWNERS) over their specific language indexers or tooling directories. They manage the day-to-day roadmap, issue triage, and PR reviews for their domain.
  • Nomination: Contributors who demonstrate sustained, high-quality contributions to a specific domain can be nominated by an existing Maintainer and approved by the Core Steering Committee.

3. Core Steering Committee (CSC)

The Core Steering Committee is the governing body of the SCIP project. It is responsible for the overall architectural vision, core schema definitions, and final dispute resolution.

  • Authority: The CSC has final approval over all core protocol changes, cross-cutting architectural decisions, and the SCIP Enhancement Proposal (SEP) process. The CSC has the authority to veto technical decisions that do not align with the project's long-term stability.
  • Composition: The CSC is bootstrapped, and as the project matures, seats may be offered to external Domain Maintainers who have demonstrated exceptional leadership and cross-domain expertise.

The SCIP Enhancement Proposal (SEP) Process

To ensure predictability and avoid wasted engineering effort, all major architectural changes, protocol schema modifications, or significant new features must go through the SEP process.

  1. Draft: A Contributor or Maintainer submits an issue outlining the proposed design, motivation, and tradeoffs (using the SEP template).
  2. Discuss: The community and Maintainers debate the merits and technical details of the proposal asynchronously.
  3. Resolve: The Core Steering Committee reviews the proposal and the community feedback. The CSC will explicitly mark the SEP as Accepted, Deferred, or Rejected.
  4. Implement: Only after an SEP is accepted should significant engineering time be spent on the implementation pull request.

Decision Making

For day-to-day operations within specific domains, Domain Maintainers operate on a "lazy consensus" model—if no maintainer objects to a PR within a reasonable timeframe, it is merged.

For project-wide decisions, schema changes, and governance updates, the Core Steering Committee seeks consensus. If consensus cannot be reached, decisions are made by a simple majority vote among CSC members.

Intellectual Property

We do not require a Contributor License Agreement (CLA). When contributing to the project, you affirm that you have the right to submit the code under the project's open source license.

CSC Membership Lifecycle

We follow these rules to keep the Core Steering Committee (CSC) active and focused.

1. Adding Members

We may add new members as the project grows. We typically choose people doing impactful work in the Core Steering Committee.

  • Nomination: Any current CSC member can nominate a candidate.
  • Election: We need a two-thirds vote to approve a new member.
  • Sourcegraph Role: Since Sourcegraph financially sponsors SCIP, they can appoint internal members at any time.

2. Leaving the Committee

If you no longer have time to contribute, you should step down. You will become an Emeritus member. This means you can't vote, but we will still recognize your work in the repository. We might ask for your advice on complex issues in the future.

3. Inactivity

The CSC needs to respond quickly to avoid blocking others. If you ignore votes or reviews for six months, we will automatically move you to Emeritus status.

4. Removal

We may remove a member to protect the project. This requires a unanimous vote from all other active members. We only do this for severe Code of Conduct violations or actions that hurt the protocol's stability.