/OSSDevGov2021

Open Source Software Development and Community Governance (开源软件开发与社区治理)

OSSDevGov2021

Open Source Software Development and Community Governance (开源软件开发与社区治理)

1、课程简介

开源软件开发是人类在互联网发展进程中探索出的一种面向全球的大规模软件协作开发生产模式,当下备受瞩目。开源软件开发的模式涉及到开发者、开源项目、开源社区、开源基金会等多个方面。本课程围绕开源协作过程中的核心要素,包括开源软件历史,开源软件开发过程,开源软件开发背后的协作原理,开发过程中的典型模式,了解开源软件开发过程中的管理方法与设计思维方法论,并通过实际的开源项目,带领大家实际参与到这场全球化的软件开发运动中。在此基础之上,课程进一步关注开源项目基础之上的社区治理,过各种数字化的手段,形成一个健康、可持续发展的开源社区。

2、学习目标与要求

  • 了解全球的大规模软件协作开发生产模式与开源软件背后的缘起;
  • 了解开源软件工程,掌握开源软件工程的工程方法,能够通过Git协作工具完成开源软件工程的整个流程;
  • 了解开源项目的开发模式,能够以贡献者的角色参与到实际的开源项目开发中贡献代码;
  • 了解开源项目的管理机制,能够以管理者角色参与到实际的开源项目开发管理中;
  • 了解开源社区的运作模式,能够以社区运营者角色参与到实际开源社区的治理中;
  • 了解开源社区的运营的艺术,能够通过数字化工具,衡量开源社区的健康状况,进而制定各种策略,保障开源社区的健康发展。

3、课程授课信息

  • 时间:每周一下午,第7 - 8节课(3点 - 4点40)
  • 地点:华东师大,中北校区,计算机楼115教室

01

4、课程内容与安排

Part 01:开源软件开发

第一次课(3月1日):开源简史与课程导览

第二次课(3月8日):软件工程视角

第三次课(3月15日):软件与开源商业化

第四次课(3月22日):管理学&经济学视角

第五次课(3月29日):开源协作与工程全流程

第六次课(4月12日):Git 原理与 GitHub 开放式协作

第七次课(4月19日):DevOps & Docker & CI/CD

第八次课(4月26日)Kubernetes 与开源

第九次课(5月10日):开源项目质量和代码管理

Part 02:开源治理与运营

第十次课(5月17日):开源社区治理与运营概览

第十一次课(5月24日):开源社区数据分析

第十二次课(5月31日):数据驱动的开源研究

第十三次课(6月7日):开源社区治理与度量指标

第十四次课(6月21日):开源合规和许可证艺术

5、考核方式

  • 期中:《Software Engineering at Google》
  • 期末:开源社区case study

6、参考资料