什么是开源?
从开源空间(Open Source Space)说起
开源空间(Open Source Space):一个边界封闭,内部开放的空间。在这个空间里,人们围绕数字公共产品(服务),进行开放式协作。
什么是数字公共产品(Digital Public Goods)?
按照 数字公共产品联盟 的定义,包括:开源软件、开放数据、开放人工智能模型、开放标准和开放内容。
在一个 DPG 标准定义的页面中,还详细列出了 9 条指标和要求(indicators and requirements)。
- Relevance to Sustainable Development Goals(与可持续发展目标的相关性)
- Use of Approved Open Licenses(使用经批准的开放许可证)
- Clear Ownership(清晰的所有权)
- Platform Independence(平台独立)
- Documentation(文档)
- Mechanism for Extracting Data(提取数据的机制)
- Adherence to Privacy and Applicable Laws(遵守隐私和适用法律)
- Adherence to Standards & Best Practices(遵守标准和最佳做法)
- Do No Harm by Design(无害化设计)
- Data Privacy & Security(数据隐私与安全)
- Inappropriate & Illegal Content(防止不适当和非法的内容)
- Protection from Harassment(防止骚扰)
什么是数字公共服务(Digital Public Services)?
这是一个尚未被明确定义的概念,在上述的 DPG 中,也可以认为涵盖了数字公共服务的情况。但是,很多数字公共服务,本身就是平台,因此也很难要求其:Use of Approved Open Licenses(使用经批准的开放许可证)以及 Platform Independence(平台独立)。因此,需要另外进行定义。
作为服务,我认为需要关注:
- Public accessible API(提供公开访问的API)
- Adherence to Privacy and Applicable Laws(遵守隐私和适用法律)
- Data Privacy & Security(数据隐私与安全)
- Inappropriate & Illegal Content(防止不适当和非法的内容)
- Protection from Harassment(防止骚扰)
- Documentation(文档)
- Equal protection of the legal rights of all users(平等保护所有用户的合法权利)
- Respond to comments in a timely manner and build together with users(及时响应意见并与用户共同建设)
例如:github.com、gitlab.com、blogger.com、google.com、youtube.com、circleci.com、vercel.com等等,都是数字公共服务的例子。
数字公共产品与数字公共服务的区别是什么?
数字公共产品,可以基于“开源/Open Source”进行协作。而数字公共服务,往往并不提供源代码(Source Code),只能进行有限的开放式协作。
基于开源的协作,则是一种更加彻底的开放式协作。
数字公共产品与数字公共服务的关系是什么?
有大量的数字公共服务,就是将数字公共产品以云化方式部署之后,提供出来的服务。
数字公共产品的生产过程,本身也离不开众多的数字公共服务。
数字公共产品与数字公共服务的开发者、使用者,人群高度重叠。
什么是开放式协作(Open Collaboration)?
根据维基百科的定义开放式协作是指任何“依赖目标导向但松散协调的参与者相互交流以创建经济价值产品(或服务),并向贡献者和非贡献者提供”的创新或生产系统。它在开源软件中得到广泛应用,但也可以在许多其他实例中找到,例如在互联网论坛、邮件列表和在线社区中。人们认为开放协作也是支撑各种不同企业的运营原则,例如比特币、TEDx和维基百科等。
原文: Open collaboration is any "system of innovation or production that relies on goal-oriented yet loosely coordinated participants who interact to create a product (or service) of economic value, which is made available to contributors and noncontributors alike." It is prominently observed in open source software, but can also be found in many other instances, such as in Internet forums, mailing lists and online communities. Open collaboration is also thought to be the operating principle underlining a gamut of diverse ventures, example including bitcoin, TEDx, and Wikipedia.
开放式协作的主要特征
2019年,我在2050的一个论坛上,对于开放式协作的总结主要是四个特征:
- 人人平等与精英治理
- 最小共识与快速迭代
- 工具辅助下的公开透明
- 在社区中酝酿创新
经过这几年的思考,我觉得可能需要另外总结一下:
- 开放参与,来去自由
- 有明确的规则,但是也允许开放讨论,可以不断改进
- 最基础的规则,是通过License规范的
- 基于数字公共服务,使协作过程,开放透明
- 独特的荣誉与激励机制
- 不断酝酿的创新,且与社区活跃度高度正相关
为什么开源空间的边界是封闭的?
事实上,原本的世界,尤其是物理世界,多数时候都是互相隔绝,互不开放的。由于互联网构造的数字空间,使得比特流能在全世界范围内的高速流动,而且成本极其低廉。这就为数字公共产品、数字公共服务的开放性,提供了基础。
但是,这些可以被公开访问,众人协作参与开发、改进的数字公共产品/服务,并不是凭空出现的,而是从现实世界,商业世界生长出来的。现实世界的约束,商业规则的约束,就是这个开源空间的边界。
例如:有很多数字公共服务平台,本身的源代码是不开源的。作为数字公共产品,也可能存在开源的版本和不开源的版本。当我们谈及开放式协作的激励机制时,也会讨论到精神激励之外的物质激励。
每当我们遇到这些难以回避的问题时,我们就触碰到了开源空间的边界。
那么:到底什么是开源?
开源,最简单的说法,就是开放源代码,作为形容词,开源软件,就是开放源代码的软件,开源硬件,就是开放源代码的硬件。作为名词,可以定义为以开放源代码为特征的开放式协作模式。
再展开说就是:通过源代码开放,使得开放式协作得以可能。这些源代码,既是开放式协作的基础,也是开放式协作的最终产出物。
再进一步展开就是:开源由开源规则、开源对象、开源基础设施、参与主体组成。是参与主体在基础设施之上针对对象在遵循一定规则下的一种开放式协作模式,其目的是为了能产生公开复用的产出物。
- 参与主体遵守开源规则,进行开放式协作
- 开源对象,就是以方便协作的形式公开的数字公共产品
- 开源基础设施,就是数字公共服务
修订记录:
- 开源对象,就是以源代码形式呈现的数字公共产品。根据谭中意的建议,改为:开源对象,就是以方便协作的形式公开的数字公共产品