课程大纲

课程大纲

开源软件

课程编码:180086085405M4002Y 英文名称:Open Source Software 课时:20 学分:1.00 课程属性:研讨课 主讲教师:沈志宏等

教学目的要求
本课程是为计算机相关专业研究生开设的专业研讨课,系统讲解开源软件的基本概念、国内外开源社区现状、开源协议与政策、常用开源工具和应用技巧,对典型开源软件的项目结构、技术架构、社区发展过程进行剖析,并邀请一线专家(如木兰社区、Apache顶级项目成员)研讨交流。通过课程学习,学生可以掌握开源软件相关知识和实践技能,有效利用开源软件增强科研能力,提高科研效率,同时合理规避使用风险。

预修课程

大纲内容
第一章 开源基本概念与发展历史 1.0学时
第1节 课程简介
第2节 开源的基本概念
第3节 开源的发展历史
第二章 典型开源软件与开源社区 1.0学时
第1节 典型开源软件
第2节 典型开源社区
第3节 社区行为规范
第三章 开源软件工程 2.0学时
第1节 开源代码典型设计模式
第2节 开源软件工程与工具平台
第四章 开源软件项目管理 2.0学时
第1节 开源许可协议
第2节 知识产权管理
第3节 代码版本管理
第4节 供应链依赖管理
第5节 安全风险分析
第6节 开源商业模式
第五章 学生分组报告与研讨(一) 2.0学时
第1节 分组报告
第2节 开源一线专家(Apache项目、木兰社区等)分享
第3节 集体研讨
第六章 学生分组报告与研讨(二) 2.0学时
第1节 分组报告
第2节 集体研讨
第七章 学生分组报告与研讨(三) 2.0学时
第1节 分组报告
第2节 集体研讨
第八章 学生分组报告与研讨(四) 2.0学时
第1节 分组报告
第2节 开源一线专家(Apache项目、木兰社区等)分享
第3节 集体研讨
第九章 学生分组报告与研讨(五) 2.0学时
第1节 分组报告
第2节 集体研讨
第十章 学生分组报告与研讨(六) 2.0学时
第1节 分组报告
第2节 集体研讨
第十一章 学生分组报告与研讨(七) 2.0学时
第1节 分组报告
第2节 集体研讨

参考书
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、软件学报等国内外重要会议及刊物上,参与多项科学数据相关开源软件研发。