开源工作也需要构筑领域知识的体系
原文作者:X-lab
原文链接:https://mp.weixin.qq.com/s/ar2T3nmkVoSnlT0iL5NY7A
这篇笔记是对原文观点的一些整理。
在计算机科学(CS)中,有一个很有意思的交叉学科——生物信息学(Bioinformatics)。这个领域的 CS 研究人员会面临一个非常大的挑战,甚至成为整个领域的天花板,就是生物学的领域知识(Domain Knowledge),比如序列、基因、基因组、转录组 、蛋白质组、细胞表型等概念,及其背后的机理。因此,工作内容最多只能充当生物学家的工具,无法真正在 Natrue、Science 上收获顶级成果。
开源软件开发、开源社区治理、商业开源等,也需要掌握领域知识——开源领域知识(Domain Knowledge of Open Source)。对于从事 CS 领域的人员,和生物信息学面临的情况类似,对开源领域知识的欠缺,会严重影响在这些领域中的成就。
开源领域知识体系的构筑,存在巨大的挑战和困难,主要体现在四点:
1. 目前并不存在一个类似“生物学”这样的“开源学”知识体系,只能通过借鉴其他学科的知识进行拼接与搭建。
- 开源知识体系主要涉及软件工程学、管理学、以及经济学和法律学等中的部分知识。
- 开源社区研究的重点,大致可以分为几个场景:
1)广义的开发者:在数字空间中进行大规模协作过程背后的规律,进而为社区治理与运营提供指导;
2)企业开源治理:更加关注的是法律端的安全合规、以及和企业治理相关的管控手段;
3)其他开源场景:商业开源(开源投资)、政府开源、高校开源。
2. 开源领域知识需要非常强的实践性,很多问题只有亲自参与过,才能体会开放式协作这样的美妙工程。
- 开源背后的支撑技术发展异常迅速:Git 是2005 年发布的(工具),GitHub 是 2008 年正式上线(平台),而 GitHub Action 则是到 2018 年才开始服务的(流水线)。技术栈的飞速更迭,使得软件协同生产的模式变化巨大。
- 但知识培养和人才供应又难以匹配技术栈的飞速更迭:
1)第一,高校越来越不擅长这类实践性极强的教学活动;
2)第二,市场对集“专业技术”、“沟通管理”、“领域知识”于一身的开源人才需求旺盛,这需要学校、企业、社区联合培养,才能达到一定的效果。
3. 开源领域知识,不少内容都属于“暗默知识(tacit knowledge)”,源自个人的亲身体验,是与个人信念、视角及价值观等精神层面密切相关,是一种“行动中的知识(knowledge in action)”。说白了就是“只可意会,不可言传”。这对学习者来说并不友好。
4. 开源领域数据的特点是结构复杂性(代码数据、时序数据、关联数据、NLP 数据等)与语义丰富性(代码语义、社交语义、协作语义、技术语义等),即便是拥有了海量的全域开源数据,也不太容易像生物信息学那样,形成具有比较共识性的领域问题、数据问题和数学问题。
有一个开源胜任力的公式:
开源胜任力公式1. 开源知识:指对开源的核心概念和内容的认识和理解,属于知道是什么(know-what)的维度;
2. 开源技能:指通过有意识的练习和与他人互动而逐渐形成的在开源活动中的能力和策略,属于知道怎么做(know-how)维度;
3. 开源品行:指开源活动中的社交技能、行为和态度,这些特征表征了执行开源任务的意愿与敏感性,属于知道为什么(know-why)维度。
下面是 X-lab 给出的一份开源领域知识清单:
1. 讲座
- 开源纲目——面向开源研究的分类学(王伟)
- 开源社区数据分析与探索(赵生宇)
- 多角度开源社区分析(夏小雅)
- 开源社区作为知识交流的平台(陈久宁)
- 全职做开源项目是一种怎样的体验(张博)
- 更多:B 站视频资源
2. 课程
- X-lab出品:《开源软件通识基础》
- X-lab出品:《Working in Public》解读
- Dirk RIEHLE 教授的开源公开课:FOSS(自由与开源软件)
- Dirk RIEHLE 教授的开源公开课:COSS(商业开源软件)
3. 书籍
- X-lab(译),《开放式协作:开源软件的生产与维护》,华东师范大学出版社,2022.(即将出版)
- X-lab(译),《开源如何统治世界》,人民邮电出版社,2022.(即将出版)
- X-lab(译),《给所有人的 GitHub 通识课》,机械工业出版社,2022.(即将出版)
- 开源社(著),《开源时代》,人民邮电出版社. (出版时间待定)