S3: 贡献开源阶段¶
目标 :学习开源基础技能并通过代码或文档的贡献实践开源。
一、开源基础技能¶
Git 学习 :¶
- Git 的基本操作 :系统讲解 clone、commit、push、pull、merge 等基础操作的命令、用途与使用场景,帮助初学者快速上手。
- Git 的原理 :深入剖析分支、HEAD 指针、合并冲突等核心概念,助力开发者理解 Git 底层运行逻辑,更好应对复杂情况。
- 进阶技能 :介绍使用 Git 提交签名、提交模板的方法与优势,提升代码提交的规范性与可追溯性。
代码托管平台 :¶
- Github、Gitlab、Gitee 等的使用技巧 :分享各大主流代码托管平台的特色功能、高效使用诀窍,如项目搜索、个性化设置等,满足不同开发者需求。
- 项目管理功能 :详细阐释 Issue、Milestone、Wiki 等功能在开源项目管理中的运用,助力团队协作与项目推进。
如何写好一个 commit message :¶
- Linux Kernel Patch :解析 Linux Kernel 项目中 commit message 的规范与范例,学习行业标杆经验。
- Conventional Commits :介绍通用的 Conventional Commits 规范,掌握一种广泛适用的提交信息编写格式。
- RustSBI 项目的 commit message 规范 :以 RustSBI 项目为例,了解特定项目的个性化要求,拓宽规范认知广度。
文档撰写¶
讲解开源项目中文档撰写的重要性、基本规范(如格式、语言风格)、常用工具(如 Markdown 编辑器),培养撰写高质量文档的能力。
二、计算机基础知识¶
The Missing Semester of Your CS Education¶
推荐学习这一经典课程资源,填补计算机科学知识体系漏洞,夯实基础。
不同方向的简单介绍与开源项目 :¶
- 系统开发 :介绍 Linux Kernel、QEMU 等开源项目,阐述系统开发领域的关键技术、应用场景,帮助开发者找准兴趣点。
- Web 开发 :讲解 React、Vue 等热门 Web 开发框架对应的开源项目,分析其优势、适用范围,开启 Web 开发探索之门。
- 网络 :剖析 WireGuard、Cilium 等网络相关开源项目,揭示网络领域前沿技术与创新应用。
- 数据分析 :介绍 Pandas、Jupyter 等数据分析利器背后的开源项目,了解数据分析流程与实践要点。
- 人工智能 :解读 TensorFlow、PyTorch 等人工智能框架所属的开源项目,洞察人工智能发展趋势。
- 找到适合自己的方向并选择活跃的开源项目 :引导开发者依据自身兴趣、技能专长,在众多方向中筛选合适的开源项目深入参与。
三、表达与交流的重要性¶
- 如何清晰表达问题和想法 :传授有效沟通技巧,如组织语言逻辑、突出重点,确保在开源协作中准确传达信息。
- 如何有效进行跨文化交流 :鉴于开源社区的全球化特性,分享跨文化交流注意事项,如尊重文化差异、避免误解,促进国际合作顺畅。
四、学会如何提问¶
- 如何查找资料 :教导善用 Google 和 Stack Overflow 等搜索引擎与技术问答平台,快速定位所需知识,自主解决常见问题。
- 提问的基本规范 :强调明确描述问题、给出复现步骤的重要性,提高问题被解答的效率,维护良好社区氛围。
五、参考任务¶
- 学习使用 Git,完成一次 Fork 并提交 PR 的流程。
- 选择一个开源项目,通过贡献文档或代码提交一个 PR。