开源正在走出软件领域,影响其它产业————“Open”一词的释义

2017年开门红,开源发生的事情莫过于宜家开源旗下产品设计,前有沙发,后有室内立体花园。是的,开源软件的方法论和思想已经渗透到其它行业,从人工智能到家具再到食物。本文试图找出开源除软件之外还有哪些?跟着学者的脚步,探寻“open”一词的更多意义。

文体尝试

本文试图解读论文:Fifty shades of open ,作者:Jeffrey Pomerantz and Robin Peek

是的,作为科学的探讨开源,如创新、方法论等,已经有很多的学术论文了,“开源之道” 暂时没有精力来做一些翻译(更何况大多数还有版权问题)。但是这些又对于了解和理解开源非常重要,所以“开源之道”尝试一种新的文体,也就是对论文进行概括性的介绍。目的有二:

  1. 为欲深入研究者,提供一个指南。
  2. 为只要结论者,速读时代,走个过场,留个印象。

Open 的50层意义

开放源代码、开放访问、开放社会、开放的知识、开放的政府、以及开放的食品、开放设计等等,开放一词已经被赋予了太多的涵义。有些意义非常的明确,通过字面意思就可以理解到,而有些则不可以,其背后的内涵需要进行解读。本文就是试图解决这个问题,理出开放这个词的主流意义。注意,50并非指的是确切就有50种含义,而是说比较多,超出十几种的样子。

“Open” 原本的涵义

“Open”这个词汇本来很普通,几千年来其含义都没怎么变化,具牛津英语大词典释义:就是能够通过或访问某物。

大约在15世纪的时候,出现了“Open House”和 “Open air”,前者的意思是建立一种欢迎的姿态,后者是某外部的空间不会关闭。但是这里的背景是说的并非是私人的,而是属于社区内所有成员的空间。当时间进入19时间,图书馆被要求更多的开放,这时出现的词有“Open shelves”、“Open stacks”等,是放书的方式和结构。20世纪,“open”一词明显进化的更加的快速:“open society”出现在第一次世界大战,多样性的诉求 、 “open skies” 则说明了航空业的发展、另外就是1969年大英帝国成立了第一家开放大学!

接下来是21世纪,“Open”一词呈爆发性的增长,一下子赋予了其太多的意义,而让这一切的发生的原因却是来自于和“Open”看起来毫无关系的词:“free”。待我们慢慢道来。

追溯自由软件和开源软件的历史

1983年,Richard Stallman 开创了GNU项目,并在随后的1985年创建了自由软件基金会,开启了一场轰轰烈烈的自由软件运动,Richard Stallman 定义了自由软件的四大自由(也是开源之道公众号自动回复所引用的):

  • Freedom 0: 你可自由的按照你的意愿去运行软件,无论基于何种目的。
  • Freedom 1: 拥有学习程序如何工作的自由,并且按照自己的意愿去修改它,成为你想要的样子。
  • Freedom 2: 有分发副本的自由,以帮助街坊邻居。
  • Freedom 3: 修改后的副本分发的自由。

自由软件的定义,软件更强调的自由本身,而不是价格。正如 Richard Stallman 所写:“你应该思考“自由”是公开的演讲,而不是免费的啤酒。” 这是一种非常高的境界,以人的隐私和自由意志为基础,尽管不排除商业,但是基本上找不到任何的商业模式,除了大公司的捐赠之外。

就这样十几年过去了,终于有妥协的声音站出来了,那就Bruce Perens和Eric Raymond 所定义的“开源”,并在1998年成立了开放源码促进会,Eric Raymond 大名鼎鼎的《大教堂与集市》影响了无数人,也是Netscape决定走开源路线的主要参谋,Bruce Perens则是Debian的最初的领导者之一,并起草了Debian自由软件指南,以及后来的开放源码促进会的开放源码定义,相对于自由软件定义,开放源码定义是参考它来着,不过对于商业有所放松,不再那么的苛刻。

正式由于OSI对于开源的定义,让“Open”一词产生了很多衍生,更加由于开源软件的成功,其标志是Linux、Apache、Docker、GitHub的流行,改变了世界的样子。

开放意味着权利

自由软件除了发展了基金会模式,以及开发之外,还定义了许可协议——GPL,通用公共协议,GPL赋予了软件用户的四大自由,并且还针对“版权所有”,争锋相对提出了“版权保留Copyleft”,其实“copyleft”丢失了重要的一个部分:合法权利的概念就是,要理解版权所有的重要性。其实无论是GPL也好,copyleft也罢,都是对于美国联邦知识产权法的回应。

另外一个类似的许可是知识共享(CC),由GPL所衍生出来的,知识共享不仅仅是指软件,还指其它创造工作。亦由四个定义:

  1. 归属权:所有分配的作品和基于它的衍生作品必须记入作品的创作者。
  2. 非商业:衍生作品不能用于商业用途。
  3. 分享强制:衍生作品必须按照与原作品相同的条款许可。
  4. 不可衍生:作品某种意义上可以分发,但是必须是未经修改的,保持整体的,不可基于它在做衍生。

其实,GPL也好,CC也罢,都离不开美国的知识产权法,这是有着很深的根源的。后来又衍生出针对硬件的开放设计基金会、开源硬件、开源硬件协会等,都是根据开源协议所衍生出来的。

自由软件的自由以及开源软件的开放性从根本上说是合法的权利:可以运行一个软件,重新分发它,可访问源代码等,因为一个软件上的版权所有者已经使用了许可证,该许可证明确地授予该软件的用户的权利。

开放意味着可访问

可以说,这些权利中最重要的是访问。若是对于软件或其它的创意工作没有访问权,其它后来的都是白搭。无论是自由软件定义还是开放源码定义,都明确定义了访问。尤其是开放源代码的定义:“开源并不仅仅意味着访问源代码”,它需要符合许多其他标准,这意味着访问源代码是其他标准的必要前提条件。

相应的也产生了组织:开放访问促进会(BOAI):“它在公共互联网上保持免费可用,允许任何用户阅读,下载,复制,分发,打印,搜索或链接到这些文章的全文,抓取它们进行索引,将其作为数据传递给软件,或将其用于任何其他合法目的,没有金融,法律或技术障碍,除了与互联网本身无法接触的那些障碍之外”。

BOAI更多的受欢迎的是在科学领域,不仅是自由,也免费!

开放的访问,简直是学术界的乌托邦,不仅是科学界,还有文化界也在提倡,甚至是OpenGLAM计划(GLAM是画廊,图书馆,档案馆和博物馆的缩写),也要求自由和免费。

开放意味着能使用

如果说访问是许可证赋予的最为重要的权利的话,那么仅次于它的就是能够使用了。

关于使用,最为典型的例子莫过于教育!比如开放教育协会所定义的开放教育:“资源,工具和实践,采用开放共享框架来提高全球的教育机会和成效”。而开普敦开放教育宣言则称之为:“地球上的每个人都可以获得和参与所有人类知识的总和”。再次说明,能够紧随可访问之后的就是能够使用。

关于开放教育的实践者如MIT的OpenCourseWare项目,正是由于OCW,才“使得几乎所有麻省理工学院教学中使用的材料都可以在网上免费使用”。另外就是MOOC,大规模开放在线课程,这意味着教育的民主化,全部的开放性。

开放意味着透明

Debian 社区是第一个将自由软件衍生到社会正义的,在Debian社会准则下的自由软件向导,这最初的起源,要追述到美国的《独立宣言》,这似乎也符合林肯所提出的政府希望的样子“来自人民,用之于民,”。

卡尔波普尔在《开放社会及其敌人》,详尽的阐述了政治的所有决定都应该是全部透明的。基于卡尔波普尔的理念,George Soros 在1993年创立了开放社会促进会,后更改为开放社会基金会http://www.opensocietyfoundations.org/,这就是“开放政府”的理论依据。

美国前总统奥巴马,提倡“透明和开放的政府”,这就是后来成立开放政府促进会,以及后来的政府数据公开:(http://www.data.gov/)的设立。Data.gov 不仅允许,还鼓励人们的访问,甚至其本身也是使用开源软件所构建。

其实,政府永远不可能去真正的透明了。似乎是个一言难尽的话题。

开放意味着参与

开放源代码、自由软件,离不开大众的参与,而这也是自由软件基金会、开放源代码所定义的。参与到社区的工作。这里面谈到一个重大的问题,若是一个开源项目,只有人使用,而参与的很少,那么这个项目就缺少持续性的发展。从长远的角度,一个软件需要修复漏洞、增加新功能、适应新的环境,若是没有人参与,就无法往前发展。

其实,这个世界上有接近90%的开源都失败了,大多的原因是公地悲剧!开源可能意味着软件的自由,但这在理论上是正确的。在实践中,参与开源社区的要求很高,因为需要高水平的编程技能才能做出有意义的贡献。

没有参与的开放,几乎可以说毫无意义。

开放意味着Openness

Openness最具代表性的就是互联网的发明者、创始人——Tim Berners-Lee ,由万维网联盟所倡导的开放标准:使用W3C流程进行标准开发另外要求在开放治理意义上的开放标准:开发过程是透明的,任何人都可以参与。

Berners-Lee认为是网络价值的关键在于这一开放性。开放标准运动是基于开放性,在上述所有形式中,都是社会有益的;因此,开放性本身在社会上是有益的。OpenStand 从字面上认为开放标准使世界变得更美好。

开放意味着哲学上与开放原则相一致

这个世界还有比Richard Stallman更为坚决的人?至少我是心存怀疑的,但是Richard Stallman是第一个提出自由软件并不意味着免费,后来还真有人提出来“开源的啤酒”,不仅自由,而且免费。

“免费啤酒”如果说只是围绕开放所经历愚蠢的开场白。那么像“开放可乐”就更理解不了了。可乐的配方,基于GPL许可发布。这个似乎是某些人曲解了饿Stallman的意思了。

当然还是有一些正儿八经的,比如“开源种子促进会”,针对的是那些申请了专利的植物种子,OSSI致力于促进植物育种者之间的开源原则。许可更加的接近于开放的设计和开源硬件。

还有诸如:

  • 开放食谱项目:“数据库技术是使用的开源技术,但是存放的数据是有版权所有的。”
  • 开放农场:开源的农业和园艺信息。
  • 开放食物网络:是一家非营利组织,已经开发了一个在线市场,将人们与当地农民联系起来。
  • 开源蜂巢:是一个使用开源硬件的项目,特别是各种类型的传感器,如温度和湿度,以监测蜂箱和跟踪蜂群的健康。

所有的这些项目都是非常有意义的,但是使用“开放”一词,多少有些变扭,“开源软件”意味着软件本身是开放源代码的;“开放数据”意味着数据是开放的;“开放硬件”意味着硬件的设计文档是可以公开访问的;但是蜂巢未必真的是指蜂巢开放,而是指在蜂巢中的传感器;食物也并不没有开放的概念,而是指农场所使用的软硬件的开放。换句话说,在这里使用“开放”不是指资源本身,而是指用于构建资源的工具的性质,或者指提供资源的。

这里还值得一提的是开放生态学,这是一个多学科的合作,使用开放式设计原则开发现代生活中需要的一套最重要的机器:拖拉机,烤箱,转子,卡车等。

越来越多地使用“开放源代码”来表示这种类型的社区参与,其实完全和软件没有任何关系。这甚至产生了:开源宗教。Yoism就是一例。

总结

时代在变化,以大历史的视野来看开源,本来是件微不足道的小事,一个小人物,用意志和道德战胜了强权的封闭。30年之后,几乎彻底埋葬了当初的商业产业。更不用提整个产业的受益者——人类本身。世界趋于复杂,科学在发展,技术在进化,开放是人类持续发展绕不过去的路径。

如此看来,开源软件的影响要超乎你我的想象。特斯拉开放整个电动汽车的设计,以谨慎著称的宜家都开放了沙发等家具的设计,称2017为开源元年,一点都不夸张。开源正在从软件领域扩散,其方法论和哲学思想正在影响和改变世界。