如何快速上手一个开源项目

项目洞察

社区治理

  • 运作方式(独裁、共建);
  • 核心人物(commiter);
  • 参与方;
  • release 节奏(feature、bugfix 版本周期);
  • 社区交流方式(PR/ISSUE、邮件列表、SLACK/IRC/微信);
  • 当前/未来发展;
  • ……

源码托管

  • 托管平台(GitHub、gitee、私仓);
  • 贡献方式;
  • License;
  • CLA/CCLA;

CI/CD

  • CI 系统(GitHub action、Jenkins、circle CI、trivia CI);
  • 架构(x86/arm、CPU/GPU、……);
  • CI job 内容(unit test、集成测试、端到端测试、……)。

学习方法

  • 官方网站、文档、源码(重点)【非翻译版】;
  • 主流媒体(官方 blog、知乎专栏、知乎订阅号、领域 KOL);
  • 搜索引擎(Google);
  • 其它(教学视频、自行发现等)。

注意:

  • 刚开始尽量看英文原版的文档(信息最完整、准确),有了整体的认识之后,可以再针对某些部分去看一些中文的网站、视频等;
  • 搜索引擎不要用百度!

需要重点关注的文件

  • README:项目介绍;
  • LICENSE:许可证;
  • CONTRIBUTING:贡献须知;
  • setup.py:……(Python 项目);
  • ……