目录

《开源软件开发》课程说明

课程简介

《开源软件开发》是一门面向计算机相关专业本科生开设的实践型课程,旨在帮助学生系统理解开源软件的发展模式、协作机制与工程实践,培养学生参与真实开源社区、理解现代软件生态以及开展协同开发的能力。

当前,开源软件已成为云计算、人工智能、大数据、操作系统与基础软件的重要基础设施。以 Linux kernel、Kubernetes、PyTorch 等为代表的开源项目,正在深刻影响全球软件产业与数字经济的发展。与此同时,开源开发模式也从传统的小规模协作,逐渐演化为跨组织、跨地域、持续演进的大规模协同创新模式。

本课程采用“理论讲授 + 工程实践 + 社区参与”相结合的方式展开教学,以学生参与真实开源项目贡献为主线,帮助学生建立对现代开源生态、开发流程、协作规范与治理机制的整体认知。


课程目标

通过本课程的学习,学生将能够:

  1. 理解开源软件的发展历史、组织模式与生态体系;
  2. 掌握 Git/GitHub 等开源开发工具与协同流程;
  3. 熟悉 Issue、Pull Request、代码评审、提交规范等核心贡献流程;
  4. 理解开源许可证、知识产权与开源合规问题;
  5. 了解企业参与开源、开源商业模式及开源软件供应链安全;
  6. 掌握开源项目健康度分析与可持续治理方法;
  7. 具备参与真实开源社区并完成贡献的基本能力;
  8. 理解人工智能时代开源软件开发的新模式与新挑战。

课程特点

1. 理论学习与工程实践结合

课程既介绍开源软件的发展历史、协作机制与治理模式,也注重学生的实际工程能力培养。学生将在课程中学习真实开源项目的开发流程,包括 issue 分析、代码提交、Pull Request、代码评审以及社区协作等内容,通过实践理解现代开源软件开发模式。

2. 多维度团队协作开发能力

课程不仅关注代码开发,也强调:

  • 协同开发;
  • 社区沟通;
  • 项目治理;
  • 文档与规范;
  • 持续集成与代码评审。

3. 前沿软件开发理论与实践

课程内容融合:

  • 软件工程;
  • 开源治理;
  • 软件供应链安全;
  • 软件生态与可持续发展;
  • AI时代的软件协作模式。

4. 鼓励交流讨论

课程采用类似翻转课堂(Flipped Classroom)的教学方式,鼓励学生围绕开源项目实践过程进行主动学习与交流讨论。课程设置三次阶段性汇报,学生需要围绕项目选择、贡献进展、技术问题与社区协作经验等内容进行分享,通过汇报与讨论提升工程表达能力、团队协作能力以及对开源生态的理解。


课程内容

章节 内容
Lecture-01 开源软件历史与发展现状
Lecture-02 开源软件开发工具基础
Lecture-03 开源贡献入门:Issue
Lecture-04 开源贡献入门:拉取请求与代码评审
Lecture-05 开源贡献入门:代码提交
Lecture-06 开源项目实战训练(以 dubbo-go 为例)
Lecture-07 开源许可证与法律
Lecture-08 开源项目商业参与
Lecture-09 开源安全与软件供应链
Lecture-10 开源项目健康度量与可持续治理
Lecture-11 智能时代的开源贡献

其中,“智能时代的开源贡献”部分将重点讨论生成式AI、AI Agent 与开源生态之间的关系,包括 AI 辅助开发、AI 生成贡献、软件供应链风险以及 AI 对开源协作模式的影响。


教学方式

课程采用多种形式开展教学:

  • 课堂讲授;
  • 文献阅读与讨论;
  • 开源案例分析;
  • 工程实践;
  • 社区贡献;
  • 项目汇报。

课程强调“做中学(Learning by Contributing)”的理念,鼓励学生通过真实贡献理解开源软件开发过程,并成为所选开源项目的贡献者。


实践内容

学生需选择一个真实开源项目,完成至少一次完整开源贡献流程,包括但不限于:

  • Issue 分析与讨论;
  • Bug 修复;
  • 文档完善;
  • 测试补充;
  • Pull Request 提交;
  • 代码评审参与;
  • 社区交流与反馈。

课程鼓励学生参与国内外主流开源社区。


适合对象

本课程适合:

  • 具有一定编程基础的本科生;
  • 对开源软件、软件工程、软件生态与AI辅助开发感兴趣的学生;
  • 希望提升工程实践与协作能力的学生。

课程预期收获

完成本课程后,学生将能够:

  • 独立参与开源项目协作;
  • 熟悉现代软件开发工作流;
  • 理解开源生态运行机制;
  • 具备一定的软件治理与工程协同能力;
  • 为未来从事软件研发、科研创新或参与国际开源社区奠定基础。

参考资料

关于

开源软件开发(Open Source Software Development)课程

406.0 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802032778号