CANN 组织链接: https://atomgit.com/cann
community仓库链接:https://atomgit.com/cann/community

目录

项目定位与核心价值

项目结构深度解读

1. 治理章程(GOVERNANCE.md)

2. 组织架构详解

3. 贡献流程规范化

社区参与实战指南

1. 新人起步四步法

2. SIG专项小组参与

社区治理机制实战

1. 提案(Proposal)完整流程

2. 争议解决机制

社区资源与支持体系

1. 成长支持计划

2. 沟通渠道矩阵

最佳实践与常见陷阱

✅ 推荐做法

❌ 避免行为

成果与影响力

立即开始参与


项目定位与核心价值

CANN community 仓库是CANN开源社区的核心治理中枢,相当于社区的"宪法"和"运行手册"。它定义了整个开源社区的组织架构、协作流程和治理原则,为全球开发者的高效协同提供了标准化框架。

项目结构深度解读

1. 治理章程(GOVERNANCE.md)

这是社区运行的根本大法,明确了:

核心治理原则

markdown

- **开放式治理**:所有决策过程公开透明
- **贡献者平等**:基于贡献而非身份获得话语权
- **技术导向**:技术决策由技术专家主导
- **渐进式演进**:治理机制随社区发展持续优化

关键条款解读

  • 贡献者晋升路径:明确从User→Contributor→Committer→Maintainer的成长阶梯

  • 决策机制:日常决策采用Lazy Consensus,重大事项需正式投票

  • 争议解决:设立技术委员会作为最终仲裁机构

2. 组织架构详解

三层治理体系

text

1. **技术委员会(TSC)**
   ├── 由核心Maintainer组成
   ├── 负责技术路线规划
   └── 决策架构性变更

2. **特殊兴趣小组(SIG)**
   ├── 按技术领域划分
   ├── 如:推理优化SIG、算子开发SIG
   └── 拥有领域决策自主权

3. **工作小组(WG)**
   ├── 临时性任务团队
   ├── 如:文档改进WG、生态兼容WG
   └── 任务完成后解散

各角色职责表

角色 权限 晋升条件
User 使用、反馈 注册账号
Contributor PR提交、Issue讨论 1个以上合入PR
Committer PR审核、Issue处理 6个月持续贡献
Maintainer 仓库管理、版本发布 TSC提名+投票

3. 贡献流程规范化

标准PR处理流程

Issue分类处理机制

python

# community/processes/issue_management.md 定义的分类标签
ISSUE_LABELS = {
    "bug": {"priority": "high", "sla": "7天内响应"},
    "enhancement": {"priority": "medium", "owner": "相关SIG"},
    "question": {"priority": "low", "responder": "任意Committer"},
    "documentation": {"priority": "medium", "sla": "14天内处理"}
}

社区参与实战指南

1. 新人起步四步法

第一步:了解社区规范

bash

# 克隆community仓库获取所有文档
git clone https://github.com/Ascend/cann-community.git
cd cann-community/docs

# 必读文档清单
必读文档 = [
    "CONTRIBUTING.md",      # 贡献指南
    "CODE_OF_CONDUCT.md",   # 行为准则
    "COMMUNICATION.md"      # 沟通规范
]

第二步:选择入门任务

markdown

推荐新手任务类型:
- [good-first-issue] 标签的问题
- 文档错别字修正
- 测试用例补充
- 示例代码优化

第三步:完成首次贡献

bash

# 标准贡献工作流
1. fork目标仓库
2. 创建特性分支
3. 本地开发测试
4. 提交PR并关联Issue
5. 根据review意见迭代

第四步:参与社区活动

markdown

定期参与:
- 双周技术分享会(周四19:00 GMT+8)
- SIG小组周会(各小组独立安排)
- 季度社区大会

2. SIG专项小组参与

如何加入SIG

python

# 以加入"模型优化SIG"为例
申请步骤 = {
    "step1": "查看SIG章程(sig-model-optimization/CHARTER.md)",
    "step2": "参加至少两次SIG例会",
    "step3": "完成一个SIG相关PR",
    "step4": "向SIG Lead提交正式申请"
}

SIG内部协作示例

markdown

# 模型优化SIG工作看板
## 进行中项目
- [x] ResNet50量化精度提升(负责人:@zhangsan)
- [ ] YOLOv5多batch优化(招募中)
- [ ] 新量化算法提案讨论(周三会议)

## 近期成就
- 2024.Q1:BERT推理性能提升35%
- 2024.Q2:发布模型优化最佳实践白皮书

社区治理机制实战

1. 提案(Proposal)完整流程

markdown

# RFC-2024-001:引入动态shape统一接口

## 提案阶段
1. **草案编写**:使用RFC模板
2. **社区讨论**:邮件列表+双周会议
3. **意见收集**:21天公示期

## 决策阶段
4. **TSC预审**:技术可行性评估
5. **社区投票**:Maintainer参与
6. **结果公示**:3天异议期

## 实施阶段
7. **任务分解**:创建相关Issue
8. **开发实施**:指定Owner
9. **验收发布**:SIG验收+TSC批准

2. 争议解决机制

yaml

# community/governance/dispute-resolution.md
争议处理流程:
  轻度争议:
    - 第一步: 相关方直接沟通
    - 第二步: SIG Lead调解
    - 时限: 7个工作日
  
  中度争议:
    - 第一步: TSC指定调解人
    - 第二步: 技术方案评估
    - 时限: 14个工作日
  
  重度争议:
    - 第一步: TSC全体会议
    - 第二步: 社区投票
    - 第三步: 治理章程修订(如需要)

社区资源与支持体系

1. 成长支持计划

markdown

## 导师制度(Mentorship)
- **新人导师**:分配专属导师指导前3个月
- **成长路径**:每季度评估,明确下一阶段目标
- **技能培训**:定期举办技术工作坊

## 认证体系
- CANN贡献者认证(10+个PR)
- CANN专家认证(主导1+个核心特性)
- CANN布道师认证(技术分享+社区推广)

2. 沟通渠道矩阵

渠道 用途 响应时间
GitHub Issues 技术问题讨论 48小时内
邮件列表 正式提案、通告 72小时内
Slack/DingTalk 即时交流、协作 实时
双周会议 技术分享、决策 定期
季度大会 路线图发布、表彰 季度

最佳实践与常见陷阱

✅ 推荐做法

markdown

1. **提问前**:先搜索历史Issue,使用模板提交问题
2. **PR提交**:确保CI通过,添加测试用例
3. **代码审查**:聚焦技术讨论,保持建设性
4. **社区互动**:尊重多样性,遵循行为准则

❌ 避免行为

markdown

- 在未讨论的情况下提交大型重构PR
- 跨多个仓库提交相关性不强的修改
- 忽视代码规范和测试要求
- 在技术讨论中引入非技术因素

成果与影响力

通过community项目的规范化治理,CANN社区已实现:

量化成果

  • 贡献者增长率:季度+35%

  • PR平均处理时间:从7天缩短至3天

  • Issue解决率:提升至92%

  • 社区活跃SIG数量:12个(持续增长)

生态影响

  • 培养50+名Committer

  • 孵化20+个生态项目

  • 建立产学研协作网络

  • 形成国际化贡献者分布


立即开始参与

第一步:星标仓库

bash

# 关注社区动态
gh repo watch Ascend/cann-community

第二步:加入对话

  • 订阅邮件列表:cann-community@lists.xxx.com

  • 加入Slack频道:#cann-contributors

第三步:做出第一个贡献
从帮助改进community文档开始,实践你刚刚学到的社区规范!


CANN社区坚信:每一个优秀的开源项目背后,都有一个健康繁荣的社区。期待你的加入,共同构建下一代AI计算平台!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐