编辑:李明康
责编:袁睿斌
作者:课程助教 - 苏斌
主讲教师:张齐勋(北京大学)、赵生宇(同济大学)
本次课程的主题为《如何提交一个合格的PR》,主讲者为来自北京大学的张齐勋老师和来自同济大学的博士研究生赵生宇同学。
张齐勋老师首先回顾了前五次课的主要内容,然后由赵生宇老师主讲今天的课程内容。
实操基础:Issue的功能有哪些?
Issue的构成包括标题(Title)、内容(Body)、评论(Comments)、标签(Labels)、指派者(Assigness)、所属项目看板(Project)和里程碑(Milestone)。
Issue的典型功能是提供一个提问和交流的平台,可以在这里提交软件使用过程中出现的bug,也可以提交软件还需要添加的功能模块。
理论基础:异步沟通与信息沉淀
Issue的理论基础概念包括异步沟通和信息沉淀。
异步沟通的优点包括跨时区合作,个人开发者的时间成本低;不过异步沟通存在着以下挑战:总体沟通的时间成本较高、需要尽量减少沟通的回合数并且需要尽量在一次沟通中表达尽量多的内容。
信息沉淀的优点包括把所有信息都沉淀下来,可后期检索,此外沉淀信息可为后来人提供有效的查询路径。
实操进阶:多角色视角下的Issue
在共同协作的开发模式下,沟通是必不可少的环节,那么如何降低总体的沟通成本呢?赵老师提出了“开源社区是互惠互利,谁也不欠谁”的观点:对于开发者而言,提出Issue之前需要先搜索有无相关的历史Issue,避免重复提问。提交Issue时,内容也尽量详实充分,例如如果是Bug,说明运行环境、参数配置等,最好是可以提供日志或最小可复现仓库;对于维护者而言,需要做到的是维护良好的社区沟通环境、提供有效的沟通指引、使用模板指引开发者提供更全面的信息并且设计有效的流程使得Issue可以被更快地响应。
理论进阶:管理学视角下的Issue流程
赵老师从管理学的视角下解释了开源过程中的相关概念。
管理学的主要目的是在现有条件下通过合理的组织和配置各种资源,提高生产力水平。则以下概念从管理学的角度可以这样理解:
异步沟通:减少同步沟通而减少核心维护者的时间成本;
信息沉淀:减少反复沟通而减少开发者搜寻解决方案的成本和维护者反复回答的成本;
流程清晰:减少决策的心智成本同时降低响应时间从而使开发者有更好的体验;
流程自动化:减少组织的制度成本而使整体项目可以更加顺滑的运转。
活动回顾视频
点击小程序观看第6期活动视频哦~
开源社简介
开源社是由国内外支持开源的企业,社区及个人,依“贡献,共识,共治”原则,所组织的厂商中立、纯志愿者、非营利的开源联盟,旨在共创健康可持续发展的开源生态体系,并推动中国开源社区成为全球开源软件的积极参与及贡献者。我们专注于开源治理、国际接轨、社区发展和开源项目。
相关阅读 | Related Reading
开源特训营 - Lesson 1 - 开源基础
开源特训营 - Lesson 2 - 项目启动
开源特训营 - Lesson 3 - GITHUB仓库管理
开源特训营 - Lesson 4 - 如何运营社区
开源特训营 - Lesson 5 - 社区如何评审代码
开源特训营
喜欢本篇内容请给我们点个在看