前几天看了一篇文章《5 Ingredients for Building Community》,原文讲了构建一个设计师社区需要什么,作者将这些总结成了5个P打头的英文单词:Purpose(目标)、People(人)、Practice(实践)、Place(场地)和Progress(进取)。仔细想想,这5项要求几乎可以覆盖到所有社区,当然开源社区也依旧适用,不过却因为开源社区的特殊性,又有了不同的变化和含义。
我认为中国的开源社区缺少很多基本的能力,因此我将这些品质要求,与原文这5个P打头的英文单词放在一起,最终是这样的:
Purpose(目标)
一个社区无疑必须要有一个清晰且简明的目标,能够用一句话直接说明。这里仅以开源社区为例,摘录了一些著名社区的例子:
GNOME 基金会:To create a computing platform for use by the general public that is composed entirely of free software.(以完全自由软件构建公共通用的计算机平台)
Fedora Linux:Freedom. Friends. Features. First.
OpenCV: was designed for computational efficiency and with a strong focus on real-time applications. (OpenCV 是设计用来大幅度提高实时应用中的运算效率)
Blender: We want to build a free and open source complete 3D creation pipeline for artists and small teams. (我们的目标是为艺术家和小型团队构建一个自由开源的全3D创意流水线)
上面这些例子都是国外的,国内有没有呢?当然也有,有些开源产品或开源社区的目标还是很清晰,但在表述上就比较罗嗦,无法直达人心。为什么要有清晰的目标?目的是用这些目标指导社区活动,也是为了找出愿意贡献其中的人。
People(人)
开源社区不同于其他社区,甚至与很多技术社区又有很多不同,这里面的关键是开源社区里的人是特定的一类人——黑客!每次我都要说,黑客与所谓“骇客”是不同,黑客以研究计算机并让计算机为人类服务为己任,而“骇客”则是以损坏别人的数字财物,盗取别人的隐私和财产为目的,是一种犯罪行为。“骇客”的行径是为黑客群体所不齿的。
那么黑客都有那些品质呢?这可以从《黑客——计算机革命的英雄》(Steven Levy 著)一书中得到解答,里面总结了一套黑客伦理,伦理原则强调”共享、开放、分散、为操纵机器不惜任何代价”,与PC文化与互联网文化的精神内核一脉相承:
对计算机的访问(以及任何可能帮助你认识我们这个世界的事物)应该是不受限制的
任何人都有动手尝试的权利!
所有的信息都应该可以自由获取。
不迷信权威——促进分权。
评判黑客的标准应该是他们的技术,而不是那些没有实际用途的指标,比如学位、年龄、种族或职位。
你可以在计算机上创造出艺术与美。
计算机技术可以让你的生活更美好。
所以秉持这样黑客伦理的人往往能够在开源社区中,有较高的地位并被社区所尊。因此构建一个开源社区,也就是在各种场合尽可能吸纳和寻找这样的优秀黑客人才。也正是因为有了这些人才能开展符合开源社区精神的实践。
Practice(实践)
社区里有了人,大家做什么事呢?其实大道理都懂,但现在中国的很多开源社区,让人觉得像“死”了一样,因为其已经很久没有实践活动了,没有聚会,没有代码,没有产出,更没有人际交流,可以说完全是名存实亡了。
开源社区根据目的不同要做的事情也不尽相同,以开发开源项目为目标的,主要活动肯定是以开发展开,比如编写代码、Bug维护、文档、美工和产品推广;而以推广技术为目标的社区,主要活动会围绕技术本身展开,比如实例开发、本地化/国际化、推广活动和市场。这些活动各有各的特点,也各有各的要求,不同的实践活动因为有了合作,而突显了团队协作的重要性,同时因为跨领域、跨学科的融合,为不同学术背景的人构建了一个充分交流和合作的平台。
由此其实可以推演出一个结论,所有这些实践活动的最终都是一件事——交流。就比如台湾的COSCUP(开源人年会),他们有一个清晰的目标:四成演讲,六成交朋友。这简明而清晰的目标直接述说了开源社区的根本目标,就是人际交流而导致的产出,开源正是因为社区交流和合作,而带来的新的开发方式上的巨大变革。因此开源社区的主要实践就是要促进人际交流,促进去中心化的合作。
Personality(个性自主)
与《5 Ingredients for Building Community》不同,这里不是Places(地点),而换成了Persionality(个性)。因为开源开发更多的是线上活动,线下活动比较少,更没有太多要求,而为了交流的目的任何资源都可以被利用起来,反倒是个性往往是被大家忽略的。
很多中国的开源社区有个不好的思想,认为开源社区必须“挂靠”在某个组织下面,或者大公司大企业,丝毫没有想过开源社区应该是独立自主的。其实这里我不想说太多个性,更多的是讲自主。开源社区必须有自己的风格,有独立的运营能力,而不能依靠别人的力量。因为越是依赖别人,就越是将自己应该承担的义务由别人来承担,与此同时也就把自己可以享有的权利,也一并让渡给了别人。因此开源社区必须明白这个道理。虽然俗话讲“大树底下好乘凉”,但离开了罩着你的“大树”,这个社区还能不能独立存在?还能不能独立运营下去?上面讲过的一些社区之所以后来名存实亡,就是因为缺少了独立自主的能力,最终葬送了自己。
不仅社区如此,社区里的每一个成员也都应有自主能力。能不能自主贡献开源项目,能不能找到自己在社区中的地位和价值,完全取决于自主的程度。台湾的g0v.tw(零时政府)有一句名言“不要说‘为什么没有人’,你就是那个‘没有人’”,这句话直接回答了”为什么没有人做XXX?“这种问题。对有志于参与开源社区的人来说,永远不要问”为什么没有人做XXX?“,”怎么没有人来做XXX?“这种问题,因为当你发现需要改进的时候,就是需要你贡献的地方,不要等着别人来做而你享受成果,而应该努力贡献在你发现的问题,也许这就是你价值体现的地方。
Progress(进取)
对社区***来说,能否提供给社区成员个人成长的空间是很重要的,但比这更重要的却是整个社区的进取能力。如果一个社区只有各种混吃混喝,或者开发的开源产品不能跟上时代,很快被取代,没有让人看到社区进取的能力,这样的社区会最终分崩离析的。
北京一个推广某开源项目开源社区,曾在2008年的一次活动后名噪一时,也深谙开源社区需要多多交流的道理,所以利用活动剩余的赞助费,盛情招待社区成员吃吃喝喝,这本是一件很好的事,可是后来很长一段时间,大家参加社区活动都为了蹭吃蹭喝了。多年后,这个社区渐渐名存实亡,无法开展起完好的活动了,甚是可惜。回顾这段过程,并不是因为大家蹭吃蹭喝,而是因为社区在推动技术上努力太少,后期也没有什么贡献了,无法招揽并留住新成员。
再举一个我参加过的例子,2012年和几位同好决定成立一个开源硬件的社区,目的是为了构建完全开源的四旋翼飞行器Open-Drone。社区规模还是很大的,也有大量活跃成员,甚至还上了《环球时报》(英文版)和《今日北京》(英文版)等报纸。但很快随着老成员离开北京,或忙于自身事物,社区最终在去年归于平静。现在回想,大家的目标是For Fun,而在技术层面迟迟没有太多推进,产品最终也没有原型开发出来,虽然最终有很多附加产品出现,但社区却始终没能发展和留住新成员。
说到底,社区的进取是伴随着每个社区成员的不断进取奉献的。上面的两个实例可以很清楚的看出,社区成员个人要有努力进取的动力,同时社区也要给这些成员发展的空间,鼓励和促发新成员找到自身价值,尽快融合到现有社区结构中来。
简单来说,一个目标清晰明确的社区,会吸引来那些适合的人,一起来做适合的事,在交流和合作中体现价值。而这一切依赖于社区和每个人的自主能力、进取精神和上升空间。
希望此文中所讲的开源社区最需要的Purpose(目标)、People(人)、Practice(实践)、Personality(个性自主)和Progress(进取),可以帮助那些迷茫在开源社区运营中的人们,一篇小文不足以解决所有问题,但我依旧希望可以指明一个方向。