开源软件
课程编码:180086085405M4002H
英文名称:Open Source Software
课时:20
学分:1.00
课程属性:研讨课
主讲教师:沈志宏等
教学目的要求
本课程是为计算机相关专业研究生开设的专业研讨课,系统讲解开源软件的基本概念、国内外开源社区现状、开源协议与政策、常用开源工具和应用技巧,对典型开源软件的项目结构、技术架构、社区发展过程进行剖析,并邀请一线专家(如木兰社区、Apache顶级项目成员)研讨交流。通过课程学习,学生可以掌握开源软件相关知识和实践技能,有效利用开源软件增强科研能力,提高科研效率,同时合理规避使用风险。
预修课程
无
大纲内容
第一章 开源的基本概念与发展历史 1学时 沈志宏
第1节 课程简介
第2节 开源的基本概念
第3节 开源的发展历史
第二章 开源软件与开源社区现状 1学时 王华进
第1节 开源软件供应链分析
第2节 国内外典型开源社区
第三章 开源许可协议与政策 2学时 沈志宏
第1节 开源许可协议分析
第2节 开源与知识产权保护
第3节 开源商业模式
第四章 开源社区运营(一) 2学时 沈志宏
第1节 开源软件社区结构
第2节 一线专家(木兰社区等)邀请报告
第五章 开源软件工程 4学时 王华进
第1节 开源软件工程范式
第2节 开源协作与版本控制
第3节 分组报告(一)
第4节 模块依赖管理
第5节 CI/CD
第6节 分组报告(二)
第六章 软件开源的注意事项 1学时 沈志宏
第1节 开源社区行为指导
第2节 开源安全风险
第七章 典型开源软件分析 3学时 沈志宏
第1节 开源代码典型设计模式
第2节 分组报告(三)
第3节 开源软件分析方法
第4节 典型开源软件案例分析
第5节 分组报告(四)
第八章 开源社区运营(二) 2学时 沈志宏
第1节 开源项目管理要点
第2节 一线专家(Apache项目等)邀请报告
第九章 学生分组报告与讨论 4学时 沈志宏
第1节 分组报告(五)
第2节 分组报告(六)
第3节 分组报告(七)
第4节 分组报告(八)
第5节 分组报告(九)
第6节 分组报告(十)
参考书
1、
精通Git 第2版 开源项目贡献指南 Apache孵化器指南
斯科特·查康
2017-09-01
人民邮电出版社
课程教师信息
沈志宏,正高级工程师,博士生导师,现任中国科学院计算机网络信息中心大数据部主任、中国科学院科学数据总中心常务副主任、大数据分析与计算技术国家地方联合工程实验室总工程师,《数据分析与知识服务》期刊编委、CCF大数据专委会执委、CCF开源委员会执委、中国通信学会开源技术委员会委员,研究方向为大数据管理与处理、图数据库管理系统、分布式计算、语义网技术,目前主持国家重点研发计划项目“面向国家科学数据中心的基础软件栈及系统”、中国科学院网信专项项目“科学大数据工程(三期)”。主持开发分布式数据管理发布系统VisualDB、科学数据搜索引擎Voovle、大数据流水线PiFlow、融合数据库系统PandaDB等开源软件系统,发明专利授权22项,在国内外重要刊物及会议发表学术论文30余篇,学术编著1部,译著1部,软件开发类编著3部。积极参与软件开源,主导的开源项目在github/gitee平台获stars数2500+,forks数1000+,部分软件在相关软件社区(Apache Calcite、Neo4j、OpenKG)得到推荐和引用。王华进,男,1987年生,博士,副研究员,中国科学院计算机网络信息中心,主要研究方向为大数据管理、处理技术,研究成果发表DASFAA、CCGRID、DEXA、软件学报等国内外重要会议及刊物上,参与多项科学数据相关开源软件研发。