Skip to content

Adopt English as the project language for issues and PRs — reduce fragmentation and triage load #763

@HaleTom

Description

@HaleTom

Summary

Many issues and PRs in this repository are written in Chinese (e.g., #741, #729, #727, #723). This is understandable — Xiaomi is a Chinese company and the project has README.zh.md. However, the project's upstream community (opencode/anomalyco) is English-speaking, and the project aims to be an international open-source project. A single project language should be chosen, and for a public open-source project seeking international contributors, that language should be English.

Choosing Chinese is feasible but would alienate the existing opencode community and limit the contributor base to Chinese speakers. Choosing English is the international standard and maximizes the pool of contributors and reviewers.

This is not a criticism of Chinese-language contributions — it's a practical governance recommendation for a public open-source project.

Why this matters

  1. Reviewer bottleneck. Non-Chinese-speaking maintainers and contributors cannot review Chinese-language issues or PRs. This creates a structural bottleneck where only Chinese-speaking team members can triage a significant portion of the issue tracker.

  2. Community fragmentation. When some issues are in Chinese and others in English, the community splits. English-speaking contributors cannot learn from Chinese-language bug reports, and Chinese-speaking contributors miss English-language discussions. Knowledge doesn't flow across the language divide.

  3. Search and discoverability. GitHub search, issue deduplication, and Stack Overflow-style knowledge sharing all depend on a shared language. Mixed-language issue trackers make it harder for anyone to find existing reports before filing new ones.

  4. Precedent. Major Chinese-origin open-source projects (Alibaba's Ant Design, PingCAP's TiDB, Bilibili's danmaku, Tencent's V8 patches) all require English for issues and PRs. They provide Chinese docs as a supplement, not a replacement for project governance language.

Suggested changes

1. Add a language policy to CONTRIBUTING.md

Add a section like:

Language Policy

All issues, pull requests, code reviews, and commit messages must be in English. This ensures the entire community can participate regardless of native language.

If English is not your first language, that's fine — write in whatever English you can. We care about the technical content, not grammar. Machine translation tools can help:

2. Update issue templates

Add a notice to each template (.github/ISSUE_TEMPLATE/bug-report.yml, feature-request.yml, question.yml) in the description field:

Please write your issue in English. Issues in other languages will be closed. Use DeepL or Google Translate if needed.

3. Enforce: close non-conforming issues

Add to CONTRIBUTING.md under "Issue Requirements":

Issues not written in English will be closed as non-conforming. The author is welcome to reopen after translating.

This is not hostile — it reduces triage load and keeps the issue tracker usable. Projects like nodejs/node, rust-lang/rust, and golang/go all enforce English-only issues for the same reason.

4. Keep Chinese documentation as a supplement

Keep README.zh.md and any other Chinese-language documentation. Translated docs are great — they lower the barrier to entry. The policy is about project governance language (issues, PRs, reviews, commit messages), not about documentation or casual conversation.

What this is not

This is not about banning Chinese from the project. It's about choosing one language for project governance so that:

  • Every open issue and PR is reviewable by every maintainer
  • The issue tracker is searchable by every contributor
  • Duplicate issues are reducible
  • The project remains accessible to the international open-source community

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions