目录

oss-build-course

开源软件构建技术课程

课程介绍

《开源软件构建技术》课程渗透开源文化与价值观,系统性介绍开源软件开发与构建所需核心技术,详细讲解开源社区支撑工具的使用方法与行业最佳实践。课程完整覆盖版本控制系统、主流构建工具、问题追踪系统、持续集成与部署工具全链路开源实践;不仅讲解 Git、Maven、Jira/GitHub Issues、Jenkins/GitHub Actions 等工具实操,还通过真实工程案例串联整套工具链,形成标准化开源开发工作流。同时融入大语言模型时代下开源社区落地编程实战,以实战导向帮助学生快速从理论过渡到工程实践,完整掌握开源开发全流程。


从个人开发到开源协作的成长路径

配套专属教材

本课程配备独家官方同名配套教材《开源软件构建技术:理论与实践》,由王莹、黎立、王伟、朱志良老师联合编撰,电子工业出版社出版。


教材宣传图

教材宣传视频


视频封面:《开源入门到精通|从理论到实战,一本书读懂开源生态》
👉 在B站观看

教材定位与价值

本书面向开源软件工程实践,强调“理论 + 实战双驱动”,围绕开源开发全链路能力构建,帮助读者实现从开源使用者到核心贡献者的跃迁。教材紧贴产业发展趋势与真实工程规范,系统覆盖开源生态核心知识体系,是兼顾高校教学与工程实践的体系化教材。

内容体系与核心模块

教材围绕开源软件生命周期构建完整知识体系,主要包括:

  • 开源基础与生态:开源发展历史、生态格局、主流社区运作机制
  • 开源合规与治理:许可证体系、合规风险、供应链安全与社区治理
  • 开源开发工具链:Git、Maven、GitHub/Gitee/GitLab、CI/CD、DevOps
  • 工程实践方法:代码管理、Issue 协作、Pull Request、Code Review
  • 持续集成与质量保障:Jenkins、GitHub Actions、自动化测试与发布
  • 开源社区实践:真实项目案例解析与参与路径指导
  • AI + 开源融合:结合 LLM、LangChain 等技术的开源实践场景

开源软件构建全流程与生态协作全景图

本书特色

内容架构

教学与资源支持

教材不仅提供理论内容,还配套完整教学与实践资源:

  • 电子课件与教学视频
  • 完整实验与项目案例代码
  • 实践任务文档与报告模板
  • 软件工具与环境支持

实现“理论学习 + 实践训练 + 工程落地”一体化教学支持。


课程背景

开源软件已在科学研究、工业制造及日常生活中承担关键基础设施角色,在云计算、大数据、人工智能等领域成为技术发展主流模式。国内 openEuler、TiDB、OceanBase、PaddlePaddle、DeepSeek 等优质开源项目持续壮大,开源已成为软件技术创新与产业升级的核心范式。

相较于传统软件开发,开源具备充分共享、自由协同、无偿贡献、用户创新、持续演化等特征,重构了经典软件工程的开发流程、协作逻辑与质量体系。当前众多企业内部均推行开源开发模式,用以提升研发创新能力、开发效率与产品质量。

但目前高校相关系统化开源课程稀缺,学生缺少体系化理论学习与工程训练;初学者想要参与开源贡献时常无从下手、门槛较高。为此本课程面向计算机相关专业本硕生开设,补齐开源理论、工具链、社区协作与工程实战能力短板,适配新时代计算机人才必备知识体系。

课程目标

本课程以学生参与真实开源项目并做出实际贡献为主线贯穿全程,通过课程学习期望达成:

  1. 深入理解开源软件的开发方法、演化过程与支撑技术体系;
  2. 具备将抽象理论、工程方法落地到真实开源项目的实践能力;
  3. 熟悉开源社区运行规则与协作规范,掌握参与开源贡献的基本流程;
  4. 熟练掌握 Git、GitHub/Gitee/GitLab、CI/CD、Code Review 等开源必备工具与最佳实践;
  5. 建立开源合规、供应链安全、社区治理的认知,具备独立入门开源、持续自我进阶的综合素养。

先置知识

类别 要求
必须基础 • 熟练掌握至少一门主流编程语言%%BR%%• 具备基本英文文献阅读与线上沟通能力
推荐基础 • 对开源文化、计算机前沿技术有浓厚兴趣,具备自主学习与自驱力
可选基础 • 开发过一定规模软件项目%%BR%%• 修读过软件工程相关课程%%BR%%• 阅读过软件工程专业书籍

内容提要

本课程采用理论讲授 + 开源实战融合模式,围绕开源全生态完整展开:

  1. 开源模式基础:开源发展历史、互联网协作演进、工业界开源理念与生态格局
  2. 开源开发活动:开源标准流程、社区维护与协作模式、贡献指南、沟通规范、Issues 管理、Pull-Based Development
  3. 工具与最佳实践:Git 版本控制、GitHub/Gitee/GitLab 平台使用、CI/CD 与 DevOps、Code Review 流程、Good First Issue 入门方法
  4. 前沿与工程治理:开源社区治理、商业开源协作模式、开源生态建设、软件供应链安全、可持续发展与开源实证研究方法

课程设计体系图

课程考核方式

课程采用过程性+终结性综合考核模式,每学期细则略有调整,以当学期发布的作业要求为准。

考核构成

模块 占比 内容说明
平时作业 40% 理论作业 + 开源工具链实践(Git / Maven / CI/CD / AI应用)
课堂讨论 20% 开源项目分享 + 技术专题研讨
期末作业 40% 真实开源项目贡献与成果报告

平时作业说明(核心实践)

  • 理论作业:围绕《开源软件许可证》完成合规与案例分析

  • 实践作业:

    (1)Git版本控制与协作实践(第3章)
    系统掌握Git基础操作与协作流程,包括:

    • 本地仓库初始化、文件提交与基本工作流
    • 分支创建、切换、合并及冲突解决
    • 历史版本查看、回退与标签管理
    • GitHub远程协作流程

    (2)Maven构建与依赖管理实践(第4章)

    • Maven项目创建与构建
    • 依赖引入与管理
    • 依赖传递机制分析
    • 版本冲突解决

    (3)持续集成与自动化部署实践(第5章)

    • GitHub Actions自动化测试
    • 静态网站部署(GitHub Pages)
    • Web应用自动部署
    • Jenkins CI/CD流水线

    (4)开源智能应用开发实践(第7章)

    • DeepSeek-R1 API调用
    • LangChain框架实践
    • AI应用场景开发

课堂讨论(20%)

  • “开源好物”分享会
  • 开源供应链可信保障技术研讨

期末作业(40%)

  • 参与真实开源项目并完成实质性贡献
  • 提交项目成果报告

课程作业设置图

学分 / 学时分配

课程为 2 学分,总学时 48 学时(3 学时 × 16 周)

  1. 课程讲授:50%
  2. 课堂研讨与文献分享:20%
  3. 开源项目实践与报告撰写:30%

头歌平台

本课程在头歌平台同步建设了在线实训课程,用于支撑课程的实践教学与能力训练,形成与课堂教学、教材内容相配套的完整学习体系。

课程地址:https://www.educoder.net/paths/krytlieb

头歌平台围绕课程内容构建了结构化的学习与实践环境,共包含 8 个核心实验,每个实验均以“关卡”形式呈现,通过真实工程任务帮助学生理解和掌握开源开发流程与工具链使用。具体实验清单如下:

序号实验名称对应章节实验内容简介
实验一Git基础操作第三章掌握 git init 初始化仓库、git add / git commit 提交修改、配置用户身份信息、查看状态与历史记录,完成对 README.md 的修改与提交。
实验二Maven项目创建与仓库操作第四章学习克隆远程仓库、使用 Maven 原型(archetype)生成 Java 项目结构,配置 groupId/artifactId,并将项目代码提交到 Git 仓库。
实验三自动化单元测试(GitHub Actions)第五章为 Python 项目配置 pytest 单元测试环境,编写 .github/workflows/ci.yml 工作流,实现每次推送或 PR 时自动运行测试,并观察通过/失败状态。
实验四静态文档自动部署(MkDocs + GitHub Pages)第五章使用 MkDocs 构建技术文档站点,配置 deploy.yml 工作流,将 docs/ 目录下的 Markdown 文件自动构建为静态网站并部署到 gh-pages 分支,最终通过 GitHub Pages 访问。
实验五GitHub Actions 部署 Flask 应用到服务器第五章通过 GitHub Actions 实现 Flask Web 项目的自动化构建、测试与部署,将应用部署至头歌服务器。涵盖 SSH 密钥配置、Supervisor 进程管理、GitHub Secrets 配置等完整流程。
实验六Windows 环境下的 Jenkins CI/CD(Python Web)第五章在 Windows 系统上安装 Jenkins,配置 Pipeline 实现 Flask 项目的代码检查、依赖安装、单元测试、代码覆盖率报告、构建打包及部署。包含 Jenkinsfile 编写与插件配置。
实验七DeepSeek API 调用实践第七章获取 DeepSeek API 密钥,使用 OpenAI 官方 Python 库(openai)调用 deepseek-reasoner 模型,构造 system/user 消息,实现问答交互与异常处理,理解兼容 OpenAI 接口的大模型调用逻辑。
实验八LangChain 框架调用 DeepSeek第七章使用 LangChain 的 init_chat_model 统一接口初始化 DeepSeek 模型,构造 HumanMessage 请求,完成对数值数组的平均值和最大值计算,掌握流式输出与结果解析。

:每个实验均配有详细的命令行操作步骤、代码示例及常见问题解决方案。平台同时提供知识图谱、学习进度与排行榜机制,帮助学生系统化掌握从代码提交到自动部署的全链路开源实践技能。


头歌平台课程界面展示

课程培养体系

课程构建了“了解开源基础→掌握进阶技术→成为开源达人”的成长阶梯,通过“开源+AI+SE+信创”融合的课程体系,覆盖四大核心培养方向:

  1. 开源合规
  2. 开源代码管理
  3. 开源社区贡献
  4. 开源技术研讨

课程培养体系图
关于

本课程依托教师联合自编专属配套教材(《开源软件构建技术——理论与实践》),紧扣行业真实开源工程标准,系统讲授开源发展历程、开源合规、Git 工具、DevOps、开源供应链安全及项目实战等核心内容,理论与实操并重,依托专属教材完整知识体系,助力学习者快速搭建开源技能框架、实现从入门到进阶,适配高校课堂教学与职场自学提升需求。

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

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