根本就没有什么所谓的‘开源社区’!!!

本文并没有多大野心,试图将人们几十年来已经叫的颇为顺口的名词给更换掉,确切地说,是希望通过引入社会学的常见翻译,来将开源的核心所在给表述清楚,那些开发者们不然就无法被集体所认识,那么就很可能就会被一直蒙在鼓里,以为是纯粹技术的力量,而放弃了思考人类社会的协作艺术。

Fri Mar 20, 2020 | 6700 Words | 大约需要阅读 14 分钟 | 作者: 开源之道 |

缘起

2019年夏,上海文汇报业大厦,由华东师范大学出版社和文汇报联合举办的“杜威百年系列讲座”,迎来了新的一期,由张华教授讲解杜威的教育思想对中国的影响

当时我大胆的向张华教授提问的问题就是,哲学上或杜威先生所讲的Community是否就是我们现实生活中所天天日常讲的城市里的小区/生活社区?张华先生的回答是否定的。更多的时候Community翻译为共同体,而不是社区。

于是让我陷入了迷思,开始纠结我们已经交了几十年的”开源社区“,是否能够准确的表达其中的涵义?还是会给人们带来更多的曲解,以至于很多人在错误的道路上浪费了很多才华。

顺便提及一句,我的整个人被这次讲座彻底的改变了。作为一名常年在计算机行业混迹的开源布道师,跨专业所获得的知识远远超过我的想象。从此成为了杜威先生、实用主义追随者,当然后来又听了由陈亚军教授分两次讲的哲学讲座,更是受益匪浅:

  • 开放性
  • 动态变化性
  • 交互性

这深刻的让我理解了开源,拓展了我的视野,让我打通了职业、生活/教育、人生观、体育锻炼等诸多的人生环节。

在翻译上纠结的来由

在学术名词上的翻译,对于汉语来讲始终存在着很多问题,尤其是人文学科的对应问题,比如中国知名学者资中筠先生在《财富的责任与资本主义演变》一书中就对英文的词汇对应汉语的词汇进行了一番较真。

为正本清源,先咬文嚼字:中文统称的”慈善“一词,在英文中有两个词:”Charity“和”Philanthropy“,其含有有所重叠,也有所区别。二者都是指出自爱心而帮助需要的人。不过前者的原意是基督之爱,在行动上表现为以宽厚仁慈之心乐善好施。后一词由两个拉丁字根”phil“和”anthropy”组成,意思是“爱人类”,引申下去就是促进人类的福祉,较之前者社会性更强,覆盖面更广,更侧重长远效果。本书用“公益”一词代表“philanthropy”,以别与狭义的“慈善”。 。。。。。。 不论是“慈善”还是“公益”,有一点是共同的,即资金来源主要是私人,包括个人、家庭或企业,政府行为不在此列,因为这在政府是职责所在。

Community 翻译为“社区” 的年代与背景

将Community 翻译为”社区“,还要追溯到我国著名社会学家费孝通先生,20 世纪30年代初,费孝通先生在翻译德国社会学家滕尼斯的一本著作《Community and Society》(共同体与社会 著于1887年)时,从英文单词“Community”翻译过来的,后来被许多学者开始引用,并逐渐的流传下来。

汉语”社区“本身的意思,拆解开来就是:“社”是指相互有联系、有某些共同特征的人群,“区”是指一定的地域范围。所以,“社区”可以说是相互有联系、有某些共同特征的人群共同居住的一定的区域。

我们可以设身处地的将自己的思路回到20 世纪30年代初,中国刚刚走上现代化的道路,全国没有几部电话,电报也及其的少,城市的建设也是处于刚起步阶段,全国大多还是处于几千年来的农耕、宗族的小范围的乡镇,这也是费孝通先生的经典著作《乡土中国》的主要讲述的地方,如此将Community 翻译为”社区“实属高明、精准。

但是语言从来不会停止它自身发展的脚步,随着世界走进工业化、现代化、信息化,很多词汇都被创造出来,很多词汇的外延也在发生变化。让我们不妨回顾一下,把对应很多英文翻译为”社区“的单词。

社区对应下的英文词汇

汉语具备强大的概述能力,反过来讲,也意味着它很难精准的具备逻辑性的去描述,这也是它始终不会发展出计算机语言的根深蒂固的原因。有的时候,将很多社会团体,以一个”社区“二字统一起来理解,这也符合人之常情,毕竟这么做比较简单,但是这不符合科学精神,也不符合现代理性思维。我们将之一一的挑拣出来。

Group

这是一个较为常见的被翻译为“社区”的词汇,尤其是在IT领域,group 本身的意思是:

Several people or things that are all together.

没什么的,就是一些人聚在一起而已。 比如由商家的某个消费者组成的团体,我们可以常常可以看到某某软件公司做活动的时候,称自己的消费者团队为社区,甚至有些公司都直接将此类职位安排在Marketing部门,称之为“社区”运营。其本质上是松散的消费者组成的团体。

Forum

在20世纪90年代和21世纪初,在线BBS(Bulletin Board System 的缩写)风靡大江南北,尤其是和技术相关的,从业较早的一定听过以下论坛:

  • ChinaUnix
  • 天涯
  • 猫扑
  • JavaEye
  • 灰狐

在本土的一般称呼上,也会称这些论坛为“社区”,甚至是技术社区,如JavaEye社区。当下一些针对特定领域的也会成立论坛,中文称之为社区,如大名鼎鼎的:

  • Go中文社区(go china forum)

club

这个本来的意思是俱乐部的意思,这在改革开发后,是个蛮时髦的词汇,也有称之为会所的,一般以高门槛的参与,交会费为主,某种时候是一种身份的象征,但是也可以叫做社区,比如InfoQ中国旗下的TGO鲲鹏会,就是这么称呼自己的:

TGO 是汇聚全球科技领导者的高端社区,我们希望让所有孤军奋战的技术管理者都找到属于自己的圈子

Social group

社交的属性,是人类基本的本能之一,人天生就有社交的需求,这也是为什么互联网的支柱之一,就是社交,如腾讯、FB 这样的公司能够崛起的原因。当由于社交而形成一个小的圈子,比如吃饭、运动等,甚至打游戏也可以形成社交群体。而这个在FaceBook上更为挖掘的淋漓尽致。而商家的翻译也是遵循着汉语的习惯:社区!

在线兴趣小组

在IT界最为知名的学术机构 ACM ,按照各种不同的研究领域形成了各种SIG(Special Interesting Group,特别兴趣小组),这是一种不拘一格的划分方式,不是那种统一规划式的树状结构,在现代各种学科融合是一种非常合理的方式。但是依然不耽误人们称之为社区。不过这个一般会加上一个前缀,比如SDN社区、存储社区、教育社区。

专业社团

这个最接近开源共同体的组织或机构,但是由于其任命性质而和开源共同体作出了本质的区别。在中国有CCF ,叫做中国计算机协会,是由政府机构主导的,取得相关专业资格的人可以参与的一个组织,全国各地拥有相应的分舵,类似一个松散的行业协会,但是计算机这个大专业包含的内容太多了,以至于他们组织起来探讨问题的时候实在是太少了,颇是官僚机构,每每换届选举的时候,倒是特别的积极。

教育和社会学下的 Community

说了这么多形形色色被称之为”社区“的各种社会团体,我们也该收敛一下了,接下来我们就来谈谈教育和社会学下的共同体。

在这里我们就要提到著名哲学家约翰杜威的实践了,约翰杜威先生也是著名的教育家,而且对中国有着深远的影响。杜威认为,既然教育是一种社会生活过程,那么学校就是社会生活的一种形式。他强调说,学校应该“成为一个小型的社会,一个雏形的社会。”在学校里,应该把现实的社会生活简化到一个雏形的状态,应该呈现儿童的社会生活。就“学校即社会”的具体要求来说,杜威提出,一是学校本身必须是一种社会生活,具有社会生活的全部含义;二是校内学习应该与校外学习连接起来,两者之间应有自由的相互影响。

但是,“学校即社会”并不意味着社会生活在学校里的简单重现。杜威又认为,学校作为一种特殊的环境,应该具有3个比较重要的功能,那就是:“简单和整理所要发展的倾向的各种因素;把现存的社会风俗纯化和理想化;创造一个比青少年任其自然时可能接触的更广阔、更美好的平衡的环境。”

1918年,杜威创办了杜威学校。旨在将其教育理念落地,如合作式学习、做中学(Learning by doing)等

这也是日本著名教育博士佐藤学提出的”学习共同体”,我们可以在这里阐述一下“学习共同体”提出的背后的哲学:

三个原理——“公共性”、“民主主义”、与“卓越性”——组成。“公共性”原理意味着,学校是各种各样的人共同学习的公共空间;是为了实现所有儿童的学习权、建设民主主义社会的公共使命而组织起来的。

“公共性”原理是由“民主主义”原理所支撑的。这里所谓的“民主主义”既不是政治性的制度,也不是多数决定的原理。它意味着约翰杜威所说的“各种各样的人协同的生存方式“(a way of associated living)。公共教育的学校的使命就在于实现民主主义社会,学校本身必须是借助”民主主义“构成的社会。因此,学校必须成为个性交响的场所。在这种学校里,学生、教师、校长、家长,每一个人都是”主角“;每一个人的学习权和尊严都应受到尊重;各种各样的思考方式与生活方式都应受到尊重。

同时,学校必须是追求”卓越性”(excellence)的场所。无论是教师的“教”还是学生的“学”都必须是卓越的。这里所谓的“卓越性“并不是指谁比谁优越,而是指无论何等困难的条件下都能各尽所能追求最高境界。同艺术与学术一样,教与学也是创造性的实践。

上述三个原理构成了创建”学习共同体“的哲学基础。”公共性“原理要求:倾听他人的声音,向他人敞开心胸。这是对他人的宽容精神和尊重多样性的精神。”民主主义“原理要求:学生、教师、校长、家长结成平等关系,每一个人都是学校的”主角“,实现各自的权利,承担各自的责任。“卓越性”原理要求:追求至高的境界。

这里所有的Community,都被国内的社会学家、教育家解读为共同体,尤其是华东师范大学的钟启泉教授。

约翰杜威及其背后的实用主义,将会是开源之道解读开源的哲学原理重要的部分,日后会慢慢的展开。这里仅为大家引用一下约翰杜威在《公众及其问题》中提出的关于知识和共同体之间的关系的论述,以让读者了解对于开源,实用主义是多么的重要:

我们始终在指出,知识是沟通,也是理解。我牢牢记着每个人说的话,从学院派的角度来看,他并没有受过教育:“有时候,它们会被发现,不仅被发现,也被了解。” 学院派可能认为,一件事被发现时,就会被了解。我的老朋友知道,一件事只有在公开、分享以及可在社会上获得之后,才能完全被了解。记录和沟通是知识不可分割的部分。关在个人意识中的知识是虚构的,社会现象知识尤其依赖宣传,因为只有通过宣传,才能获取或检验这种知识。共同体生活事实如果没有向外传播,从而成为共有财产的话,它就是自相矛盾的。宣传并不是到处分散。播种的方法并不是随意撒播,而是刻意种植,期待它能生根,并有发芽的可能。沟通社会探究的结果就是舆论形成的种子。

这篇精彩的论断,几乎把开源共同体的精髓都概括起来了!(聪明的读者,你们知道怎么经营开源项目了吗?)

开源的特点

总结开源的特点,除了OSI对其所生产的社会力量——软件之外,还有很多属性散落在各种学术论文、期刊、项目代码、线下会议等等各处。我们不妨仅从这个团体来尝试总结一下:

  1. 来自接入互联网的全球成员共同打造
  2. 多样性:在开源的世界里,以打造出色的软件为目标,会剔除所有其它的属性:性别、种族、性取向、身体缺陷、年龄
  3. 在公开透明的技术手段(邮件列表、IRC、Wiki)处理问题、制定决策
  4. Peer Review 是基础,相互帮忙是常态。
  5. 社会资本(Social Currency/Capital)相比于其它更重要

开源是一个共同体

以上所论证,开源这个世界,称之为社会,确实是有点过大,虽然其具备社会的很多属性,尽管其已然是让人们已经知道的文化之一,但是其并没有政治、外交、自身经济独立等实体,我们这里不妨定义一番:

为了实现一个开源软件项目,基于互联网,由企业、个人、非营利组织等形成的团体成员(接受过现代计算机科学的训练),在文化上能够达成一定共识,来去自由,进行一定的社会治理、活动、交流等,所形成的合作共同体。

这里引用“共同体”这个名词的创建者——费迪南滕尼斯所说的一段话,来诠释开源共同体:

劳动是所有价值的源泉。在手工工场里仅仅通过共同的最终目标以及一致的劳动操作方法,劳动者才被结合在一起;然而无论如何,最终目标和操作方法都可以被视作劳动产品(因为它们是纯粹思想的产物),因而被当成雇佣者和领导者的真实的财产。在真正的工场里,劳动者本质上通过他们与机器的共同的、必然的联系统一起来,机器构成了工厂的可见躯体。无论任何情形,以下的事实是明显的:通过理性地规划材料、指定计划并使用工具,劳动实现了统一,只有劳动的统一才构成真正的生产原则。

​ ———— 《共同体与社会》

开源共同体这个群体的主要成果就是软件项目本身,围绕软件的构建而产生的文化、方法论、协作方式等等其它,而软件开发本身是个非常巨大的挑战,在人类历史上,还没有那个工程像软件工程这么至今也没有个什么标准之类的,甚至连质量控制都是模棱两可的。源码是唯一可以掌控的,通过大规模的Peer Review来完成这些!而工程师本身的素质和素养是绝对的核心。

何为合作共同体?

此概念来自于张康之先生的《共同体的进化》一书中所阐述的概念:

人类社会是以共同体的形式出现的,在人类历史傻姑娘的不同阶段,共同体的形式和性质都是不一样的。在农业社会的历史阶段,人类的共同体形式属于家元共同体的范畴;在工业化的过程,人类建构起了族阈共同体;全球化和后工业化将预示着合作共同体的形成。对共同体的把握,需要从社会整合机制、人的生活方式以及人的存在形态三个方面入手。

……

只有当人类建构起了一种合作共同体,才会使人拥有作为个人的完整的生活,从而成为真正独立的、完整的和自由自觉的个人。

开源项目作为一个非血缘关系、宗族关系;非师生关系、裙带关系;非法律实体的组织关系;也不是社会主义动员的群众关系;仅仅因为是从个人的利益出发,主动的运用自己作为人的技能,而去协作、默契的完成某个特定的功能,当然目前该合作共同体还有很多的限定,尤其是目前有所建树的领域:知识(Wikipedia)、软件代码(linux等),这要特别的指出其中的载体:全球互联网!

“社区” 的局限性

咬文嚼字的结果,那就是“社区”这个词的概念和外延无法涵盖“open source Community”这个词组的意义,无法解读其中所蕴含的意义,尤其是区这个字,太限制人们的想象力了,而开源之道曾经不止一次的强调过,开源须站在世界的角度来看待,而且要想伟大的米尔斯学习:

人类的多样性也包含着个体的多样性;这些同样须被社会学的想象力所把握和理解。在此想象中,1850年的婆罗门与伊利诺伊州的拓荒者站在一起;18世纪的英国绅士和澳大利亚土著人比肩而立,同时在场的,还有一百年前的中国农民,当代玻利维亚的政治家,法国的封建骑士,参加1914年绝食抗议的英国女权运动者与一位好莱坞新星和古罗马贵族。写到“人类”,就不能不写到这些男男女女——既有不凡如歌德,也有平凡如邻家女孩。

人类的迷思的其中之一,就是人的心智在思考一个词汇的时候呈现在脑海中的是什么?因为人理解抽象的事物的时候,会从现实中寻找能够理解的内容。那么当我们在提起”社区“这个词的时候,或者更直接点说:“开源社区”,读者你脑子里呈现出的样子是什么了呢?

社区,还是回归到最为常见的解释为妙:

一个社区至少包括以下特征:有一定的地理区域;有一定数量的人口;居民之间有共同的意识和利益,并有着较密切的社会交往。一个村落、一条街道、一个县、一个市,都是规模不等的社区。在日常生活中,人们常提及的社区往往是与个人的生活关系最密切的、有直接关系的较小型的社区,如农村的村或乡、城市的住宅小区等。

这样的解释,加上开源二字,冲突的、变扭的、矛盾的、不自然的东西太多。所以开源和社区二字是不应该组合在一起的。也就是说:根本就没有所谓的开源社区!

开源之道总结

当人们在具体的做事情的时候,是不会怎么考虑更高层的制度问题的,也不在乎过去全球化、互联网化的高度协作的,除非在之前有着明确的约定,或是在失败之后需求另外出路的时候可能会关注。这就是开源至今并没有发展出一门社会理论的完整学术报告的关键原因所在。在上篇文章:开源共同体内的角色分析(个人与机构分别来谈论),笔者谈到了研究开源的与实际核心贡献者之间的割裂状态就是最大的例证。

开源之道希望冒这个险,尽可能的在开发者们进行劳动之前,将这些内容传递和交流起来,尤其是什么是开源共同体?这种和具体的编程语言、性能架构、优雅算法并存而隐秘的非常重要的内容。不能理解这个共同体,那么也将很难理解软件这个行业所形成的现代世界的基石到底要走向何方。社会与市场究竟谁能走得更远。

参考材料

  1. 维基百科:社区
  2. 《乡土中国》费孝通,北京大学出版社,2012-10
  3. 《公众及其问题》约翰·杜威,新华出版社,2018-1-1
  4. 《学校的挑战——创建学习共同体》,佐藤学,华东师范大学出版社,2010-8
  5. 《共同体与社会》, [德]斐迪南·滕尼斯,商务印书馆,2019-2