在《连线》杂志的工作之余,我运营一个叫 DIYDrones 的网络社区。人们在这里协作开发开源无人飞行器(UAV),就是那种不用人操控也能自己飞的东西,包括固定翼、直升机、四轴飞行器... 以及任何靠螺旋桨实现自主飞行的小家伙们。
DIY 飞行器社区创造出来的东西难以数计,其中最成功的当属 ArduPilot 系列,从名字上你大概就能猜出它是基于 Arduino 计算平台的。我们属于开源硬件运动的一部分,也就是说,在我们社区制作的飞行器当中的硬件和软件都是开源的。尽管我和社区中其他一些成员名下也都有各自的商业公司(我的叫做 3D Robotics[1])进行此类硬件的制作与销售活动,这并不意味着任何人——千真万确,任何人——不能在遵守开源协议的前提下使用我们社区的设计、制作成品并贩卖,从而在市场上与我们展开竞争。听上去可能有些疯狂,但这种程度的开放能够带来比那些传统的、闭源的研发公司更快速、成本更低的创新。唯一存在的风险是其他公司可以完全合法地克隆同样的产品出来,并以更低廉的价格销售。
而这就是发生在 2010 年底的真事。我们听说中国人山寨了我们的 ArduPilot Mega,在淘宝、eBay 和其他电商网站销售。这些山寨品做工精良,功能健全,甚至把我们全英文的用户手册和软件里的部分内容都译成了中文。
社区成员向我报告了这些明目张胆的「强盗行径」,想知道我们会就此做些什么。
「什么都不做。」我说,然后写了篇帖子阐述我的想法:
这一切的发生,不仅在预料之中,也是被鼓励的。软件的分发成本几乎为零,可以被免费使用;硬件因为制造成本的限制,必须收取最小费用以保证存活和健康发展,但硬件的设计本身也是免费的。所有的知识产权都是开放的、免费的,社区成员可以免费使用、改进,并在此基础上制作他们自己的产品。
这种模式天然蕴含了产品被克隆的可能性,这也是在我们的开源协议专门许可的。最理想的情况是人们会改进这些开源产品以满足市场的不同需求或填补市场空白,这正是开源运动所期望看到的结果之一。那么,如果有人仅仅克隆个一模一样的出来,然后卖得更便宜,这能行吗?能行,没问题,把选择权交给市场。Arduino 开发板也遇到过完全相同的情形。有些山寨品的质量较次,不过就算品质相仿,多数人还是会选择 Arduino 官方出品。如今,山寨品所占市场份额很小,而且集中在对价格敏感程度较高的地域——比如中国。说实在的,能够打入低端市场也是创新的一种体现,并不是一件坏事。
我个人很愿意看到中国人对 ArduPilot Mega 进行的二次开发,原因如下:
- 我们的文档被译为中文是件很好的事,这能让更多人接触到 DIY 飞行器及相关理念;
- 这意味着某种程度上的成功——你做出了人们确实想要的东西,才会有人来克隆你;
- 有竞争总是好的;
- 即便始于克隆,这些行为也存在逐渐演化为真正的创新和改进之可能。别忘了我们的协议当中明确要求任何衍生设计均须保持开源。如果有中国团队做出比我们更棒的设计,那岂不更好?这样我们也有了山寨他们的机会... 就像他们对我们所做的那样,我们可以按照他们的设计来生产,也把他们的中文文档译成英文,让这些产品走出中国市场。双赢!(人总有梦想的权力吧 ;-))
就在我写完上文不久,一位叫做 'Hazy' 的社区成员回复了帖子,说他就是山寨 Arduino 开发板的团队成员之一,文档是他翻译的。我先是称赞了他们团队的开发速度,然后问他可愿意把他的中文译本加入我们的官方文档当中去,放到我们在 Google Code 上代码仓库的 wiki 里。他同意了,我便给了他编辑权限,这样用户在读文档时从此可以选择阅读中文版。
当时我们在用 SVC 做版本控制(现在是 Git),Google Code 对 SVC 有基本支持。Wiki 页面就是储存在我们飞行器的源代码仓库当中的一些文件,而我对于权限管理没有分得太细,为了让他人能够编辑 wiki,我直接会给他整个代码仓库的「提交」权限,也就是说拥有 wiki 编辑权限的人,就能在整个代码仓库里创建和编辑任意文件。
当我给社区成员开放权限的时候,我都会叮嘱他们当心别因为疏忽就把代码给搞坏了,对于开发团队的成员就会叮嘱得更细致一些,因为他们要是捅娄子会捅得比一般人更大。但,我忘记叮嘱 Hazy 了。
Hazy 做的第一件事是把中文译本无缝集成进手册里,这样用户只需点击一个链接就能在中英双语之间轻松切换。
尔后,因为他也是 ArduPilot 专家(这个自然,他们团队可把我们的产品整个儿山寨了一遍),他开始修正英文手册当中的错误。我能看到他提交的修改:不仅正确,而且很聪明,英文书写也非常完美。
接下来发生的事情更有意思:Hazy 开始修正代码里的 bug. 刚开始我还以为他是把 wiki 文件放错了文件夹,仔细一看,他是把代码文件放进了正确的文件夹,他不仅改正了 bug,还妥善地写好了相关文档。没想到这位 Hazy 也是个程序员!
我谢过他做的修正,然后就没多想这回事。结果 Hazy 开始源源不断的提交代码,他开始顺着我们的 issue 列表往下捋了,那都是我们的开发团队因为忙碌而无暇处理的各种 bug. 这些 bug 一个一个地接连被他修复。
时至今日,他已成为我们开发团队中的最佳成员之一。虽然仍未谋面,但我会问起关于他自己的一些事。
他真名叫做黄小江,住在北京,当时是北大计算机科学技术研究所的一名博士生[2]。他给我讲了他的故事:
「我从小就喜欢各种模型,最喜欢的是遥控飞机。一直到大学毕业后,我才买得起遥控直升机,后来也买了遥控卡车和飞机什么的。有时虽然因为『玩玩具』被人笑话,但我还是挺开心的,毕竟这就是童年的梦想啊。后来在网上无意中发现了 ArduPilot,马上就被他的强大所吸引。我的一些朋友对它也颇感兴趣,但英文文档在阅读时多少有些不便,我就把文档译成了中文,希望为 ArduPilot 的中国粉丝们提供一些便利吧。非常感谢你在 DIYDrones 所做的一切,因为你让越来越多的人梦想成真。」
这一切很有几分魔幻色彩。最开始,当我们就这些山寨开发板展开讨论时,一些社区成员认为这与发生在其他产品身上的「中国式山寨」别无二致,我们唯一该做的就是让这些强盗吃官司。但我还是扭转了讨论的基调,仅仅通过指出一个简单的事实:他们的行为并未违背开源协议,他们的产品既可以被称为「山寨」,同样完全可被视作「衍生设计」。
只要不去妖魔化中国团队,不把他们视为强盗,相反,把他们看做社区中的一份子去对待,他们就会表现得如同社区中的其他成员一样。Hazy 就是一个明证,他没有仅止于消费我们的劳动产出,也为整个项目做出了自己的贡献。
现在「强盗」也开始替我们工作了。他们与我们一同为改进这些科技从而给大家带来福利而工作,而非只知道利用我们的科技成果。Hazy 实现了他的梦想,在他实现梦想的过程中同时也帮助我们每个人离自己的梦想更近,这就是社区的力量。
关于社区,我们每个人都有自己的故事,也都有过被伟大的社区所感染的经历,上例只是沧海一粟。建立一个社区是件非常复杂的工作,需要非常细致深入的思考和深谋远虑的规划,同时也需要一种自由的精神,它能给社区成员以力量去实现超乎想象的壮举。
在探索社区的道路上,朱诺·培根是一位勇敢无畏的导游,你也不可能找到比《社区的艺术》更好的路书。在本书的初版当中,朱诺已然为构筑和完善一个社区所必须具备的知识打好了异常坚实的基础,此次付梓的第二版不仅拓展了全书的框架,同时也增补了大量的成功案例,足以在社区的建立和运营过程当中作为绝好的决策依据。朱诺的经验与洞见与这些发生在现实世界中的真实案例结合在一起,必将是你通向一个成功社区的强有力的指引。
——克里斯·安德森
《连线》主编,《长尾理论》作者,DIYDrones 创始人
加州伯克利
2011 年 11 月 15 日
[1] 克里斯·安德森在撰写此文整整一年后从《连线》杂志辞职,专心运营他的 3D 机器人公司
[2] http://www.icst.pku.edu.cn/lcwm/index.php?title=%E6%96%B0%E9%97%BB
原书:购买实体 | 下载 PDF