不会太灰暗的未来

霍炬前阵子写了一篇「歪理邪说」:《无论强人工智能能否出现,人类的未来注定灰暗》我第一遍阅读的时候,发了一条微信:「好一篇歪理邪说,一时间竟无法反驳」。潜台词是:总觉得有哪里不对,还是很想反驳的。。。

简单总结霍炬的观点,我认为主要包含以下两点:人们无意识地,甚至主动的分享自己的隐私;这些隐私被大公司掌握,辅之以大数据分析,以深度学习的方式理解用户,进而对人类行为实现操控。

在经过几周的思考之后,我打算将自己的观点表达如下:

1. 我的隐私,我自己都知道吗?

在没有查看网站访问日志之前,我根本不记得自己一天看了多少网站,浏览了多少内容。在没有佩戴智能手环之前,我不知道自己每天走了多少步路。在手机没有GPS定位功能之前,我甚至会偶尔迷路,不知道自己身在何处。

当然,我每天浏览的网站,走了多少路,心跳水平,吃了什么,去了哪里,都是可以算作我自己的隐私。但是,我要么自己根本不知道,或者因为信息琐碎,我自己也记不住。

那么,这些我自己都搞不清楚的隐私,还算是隐私吗?如果,这些隐私没有别人知道,我自己也不知道,这种隐私,有什么价值呢?如果是没有价值的隐私,有保护的必要吗?

换句话说,如果我上传了这些隐私(我原来自己都不知道的隐私),给我带来了更多的收益,这个是不是好事呢?

2. 基于隐私的增值服务,存在诸多灰色地带

众多的服务,哪怕是传统服务,也需要了解用户的隐私。我去做按摩,我的按摩师傅会问我:你最近哪里不太舒服。去医院看病,负责任的医生也会询问我的既往病史。如果不了解这些信息,他们就无法提供针对我的服务。

进入网络时代,我们会向从未见过的人,甚至某个网站,透露自己的隐私。我们的信用卡号,我们的身份证和年龄性别。如果我们想要去网上征婚,那还得填写更多的内容。

为什么我们愿意主动填写这些信息?因为需要换取更好的服务。

再进一步,针对一个人的数据,力量是不足的。如果网站能够收集足够多人的数据,统计、分析、甚至预测。假设:根据不同地区,针对不同商品的搜索频率,预测不同地区的商品需求趋势。这当然能够帮助商家赚取更高的利润。但是也的确能够让用户在下单购买时,以更快的速度,收到货物。

如果,网站在收集这些需求数据的时候,能够只做汇总,不记明细。那么,用户来说,就只有益处,没有损害了。

事实上,所谓隐私,是针对不同的个人意愿而界定的。我的个人信息,如果我不愿意他人知道,那就是我的隐私。如果,我不介意他人知道,那就不是隐私。

不过,我想要举一个非常令人困扰的例子:「我在微信或者微博上,分享自己孩子的照片,甚至还有姓名和乳名。这是不是会存在问题?」很多爸爸妈妈都在这么干,而且往往乐此不疲。另一方面,也有很多「有识之士」指出:「这会给人贩子、诈骗犯、敲诈勒索的绑匪以可乘之机!」

甚至,如果存在某个刻意针对你的家伙,默默收集你的各种公开信息,就能做到对你了如指掌,进而对你不利。在过去,他可能需要去翻你家的垃圾桶,再私下找你的身边人打听。现在,他们坐在家里,就能够搜集到这一切。甚至,有某种地下的黑色产业链,在兜售各种隐私的信息,以方便他购买。

问题在于:我不介意他人知道的一些个人信息,究竟是否有可能损害我的利益?而我在交出这些信息的时候,是否已经知道这一点?假设,我们公开分享的所有信息,事实上都可能对我们不利,这样的概率有多大?我们应该放心大胆的分享吗?还是应该不怕一万、就怕万一?

3. 权利的转让与契约的成立

如果跳出IT、网络以及隐私的范畴,我们可以找到另外一些相近的例子——国家与政府的出现。在国家与政府出现之前,人类比现在自由得多,当然,也短命得多。安全没有保障,随时可能被人干掉。人们居住的地方,也缺乏各种公共设施,没有路灯,没有医院,没有警察,没有城管,没有环保局,没有……

没有这些公共的服务,人类自然都朝不保夕,直到他们愿意让渡自己的一部分权利,教给一个公共的政府,由这个政府,提供各项公众需要的服务。

当然,一旦政府出现,就有了自己的生命力,甚至可能违背创立者的本意。这才是需要监督政府的根本原因。让渡权利,订立契约,保持监督。这就是现代国家的「契约论」基石。

西方的众多知识分子,有一个永恒的命题:「警惕政府走向独裁」。但是,无论多么警惕,无论多么强调监督,「取消政府」的言论,绝非主流。也不可能成为主流。

回到隐私的话题上来。我们上传自己的隐私,同样是基于我们与服务商之间的「契约」的。也许我们通常不看那些契约的文字,也许我们往往不关心可能的条文陷阱,也许我们的信息,会落入不怀好意的人手中。但是,我们已经无法回到过去,无法停止使用众多的网络服务,无法放弃在朋友圈发照片了。

唯一的选择,只能依赖法制,持续向前。如果法制不健全,就推动法制的健全,推动对服务商的监管,如此而已。

那种担忧人类注定会走向灰暗未来的心态,与担忧人类早晚会落入独裁者之手的心态一样。是相当「杞人忧天」的。

4. 借助工具,认识自己?

「认识你自己」,这是古老西方的格言。「人贵有自知之明」,这是古老东方的格言。问题在于,如何才能做到呢?在传统的方法中「反思、静观、禅修」,也许是可行的办法。在科学昌明的现代,也许工具可以帮助我们。

在霍炬的文章里,有一个很有趣的「近未来幻想」,可以通过分析购物者的心跳、血压等身理特征,判断对于这个人最具有吸引力的商品价格。

这其中有啥问题吗?以这种价格购买这种商品,违背了用户的意愿了吗?根据不同的供求关系,确定销售价格,原本就是「政治正确」的经济学规律。那么,在大数据支撑之下,商品能够根据每一个个体的需求强烈程度,确立一个针对性的价格,不是更加符合经济学规律吗?

假设通过机器的分析,我们掌握了用户的真实需求强度,这究竟是一种操纵,还是一种迎合呢?

假设,我们通过个性化推荐,列出了用户真正想要的商品,用户会因此感到恐慌吗?假设,我们不是以程序方式揣摩用户心理,而是由一个经验丰富的导购小姐,带领用户完成选购,是不是就不会令人恐慌了呢?

那么,我们恐慌的,是不是「程序而非人类,猜出了我的心意」这一事实呢?

血压计、心电图、X光机,种种医学手段,帮我们更加真实的掌握自己的健康状况,当然也能够帮助我们发现疾病,尽快恢复健康,延长寿命。那么,如果随着科技的发达,某种机器和算法,能够帮助我们更加深入的认识自己,了解自己,这样会带来什么样的益处(坏处)呢?

5. 怎么才算作被操控?怎么才算作被洗脑?怎么才算作被决策?

任何人都害怕自己被人操纵,当然,更糟糕的是被机器操纵。问题在于,怎么才算是被操纵、被洗脑、被决策呢?

当年在知乎,我曾经回答过一个类似的问题。简单说:「过程中是否可以反悔;事后是否可能后悔」。

我们在网上购物,购得兴高采烈,事后又号称自己要剁手云云。我也没听说过有几个人,真正的剁了手。如果商家提供了7天无理由退货,在7天之后,你还没有退货。那就不要说自己是被操纵购物的。

霍炬文中的有一段话,可以算作是一种惊人的预言:「那时候人们就会有更多行为会按照人工智能程序所规定的方式进行,并且,还会发自内心的认为那是他独立自主的产生想法。人会完全会成为程序的终端,为程序贡献数据,按照程序引导产生行为,依赖程序生活和工作。」

在我看来,这段话称得上是危言耸听。背后的逻辑,是对技术深深的恐惧。

6. 人是生而自由的,却无往不在枷锁之中。

在没有任何技术介入的情况下,我们从一生下来开始,就会受到引导、规劝、甚至强制教育。父母会告诉我们,这样做是对的,那样做是错的。如果干了某些事,就一定会挨揍。

在上学以后,我们读书、学习,书本上,课堂上,老师的耳提面命,书中的价值灌输。什么样的少年,才是一个好少年?我们如何才能带上小红花?我们如何才能称为三好学生?我们如何才能当上班干部?

在生活中,小说、诗歌、散文、杂志,在向我们倾诉着各种不同的价值观。形形色色的广告,在以种种价值观,无所不用其极的诱导我们消费。身边的同学、同事、朋友、亲戚,也在不断的向我们传递他们的价值观。

我们一路行来,哪有一天躲得过呢?

三十而立、四十不惑,追求的无非是确立自己的价值观。我们不断学习、思考、总结、成长,无非是为了不受人惑、有自己的主见。

那些读完了霍炬的文章,认定人类的未来注定会灰暗的朋友,也许已经不自觉的接受了某种灌输。比起尚未到来的「人工智能操纵你的未来」,只怕已经被一篇文章洗了脑!

7. 未来真的会那么灰暗?

我一直觉得未来学家,是一种非常高大上的、安全的职业。当然,他们最好不要预测自己活着就能够看到的未来,免得到时候麻烦。

那篇引发了霍炬文章的「介绍强人工智能」的文章,其中的逻辑,也非常吊诡。如果未来机器的智商,是人类的成百上千倍,差距大到了蚂蚁与人类的差距。我们谁有资格预测未来呢?蚂蚁有资格预测人类社会未来的发展趋势吗?

与其勉强预测,写些危言耸听的文章。倒不如老老实实的承认:未来无法预测!把小说写得像科普文章,真的靠谱吗?

未来将从何而来?我不知道。在我看来「未来不会那么灰暗」,至于理由,也许是因为我比较乐观吧……

三代开源社区的协作模式

一、研发工具与研发模式

据说,人之区别于禽兽,最大的特征在于利用,甚至发明工具。在没有任何其他工具时,我们只能借助于自己的肢体,一旦有了工具之后,我们的能力将会大大的增加。

但是,从另一个角度来看,工具也同时在限制我们的能力,甚至限制了我们的行为模式与思维模式。有一句俗话说得好:「手里拿着锤子,看见什么都像钉子。」

而在研发工具的领域,我们观察到另外一些有趣的现象:因为软件研发工具的开发者,同时也是工具的使用者。因此,他们不仅仅会受制于工具,也往往会由 此被激发,开发出对自己而言更加趁手的工具。开发者与使用者身份合二为一的现象,使得研发工具的发展,简直可以用「日新月异」、「层出不穷」甚至「争奇斗 艳」来形容。

随着软件复杂性的不断增加,以及软件开发的参与者不断增多,团队协作的辅助软件,也开始不断增加,随后我们发现:工具不仅仅限制了个人的行为模式,更进一步限制了团队的协作模式。

软件研发企业的管理者,往往会有某种错觉,他们会认为:管理就是定下制度、流程与规范,然后「下面的人」就会照此执行。因为有人「听话」,有人「不听话」,所以才需要奖励与惩罚的制度,来帮助管理者推行他的「规则」。所以,他们一般都很喜欢看《执行力》这样的书。

在开源社区,事情变得有些不一样。虽说开源社区也有「领导者」,甚至往往会有「精神领袖」,但他们并没有暴力手段,也没有经济手段,甚至行政手段。因此,要协调一帮自由散漫的黑客,共同开发高质量的开源软件,必须有更加高明的手段。

由于一切都是Open的,所以:不仅代码人人可见,开源社区的协作模式,也暴露在众目睽睽之下。从某种意义上来说:这促进了开源社区的协作工具的开发、进而使得开源的研发协作模式,以远远超过企业内部的演化速度飞速演化。

二、第一代开源协作模式

第一代开源协作模式,在早期几乎没有符合自身特殊需要的工具,有什么用什么,因此最为常用的email,被发展为Maillist,成为整个开发团 队的协作核心工具,大多数操作系统内置的diff/patch工具,使得代码的交流以email patch为主。这些老牌的开源项目,从使用RCS、CVS,到了后来也开始逐步引入svn/git,bugzilla这样的工具,但是围绕 mailing list开展协作的特征,则持久不变。

作为协作核心的Maillist

一个开源社区,往往就是一个邮件列表,随着软件的日益复杂,社区的不断扩大,邮件列表也会不断分化,通常会划分为:核心组、开发组、用户组。开发组与用户组的邮件列表,随着软件的架构分化为多个模块,还会进一步分解。

在邮件列表里,所有的用户都是平等的,在无法用工具保障流程的情况下,社区逐渐发展出了一套严格的邮件礼仪和格式规范。不规范的邮件,不会被理睬;不礼貌的家伙,甚至会被赶走。

邮件越来越多,即使分成多个邮件列表,依然太多。Archive这样的邮件归档、查阅的工具,就必须得有了。一封邮件,大家都来回复,严格re:的标题,组成了一个可供追溯的线索。

在邮件列表里,通常出现个人的名称,加上Reported-By、Tested-By、Acked-By的标记,即是一种代表个人名义的认可,也是流程规范的一部分,更是计算各人贡献的依据。

Bugzilla应运而生

在邮件中,有一类话题是最活跃的,那就是bug。但是,通过翻找邮件查阅bug的最新的解决状况,是非常困难的。一个bug,从提出,到最终解决, 并被确认在哪一个版本中发布fix,是一种稳定的状态转化模式。一个专有的处理工具,势必应运而生。Bugzilla、trac等一批工具,就由此被创造 出来了。

代码提交流程的规范化

开源社区,表面上非常的崇尚民主自由,但实际上却盛行精英主义、甚至是个人独裁的。我们往往会给某个开源项目的创始人,冠以「仁慈的独裁者」的头衔。虽然,是否仁慈,大家不得而知,但独裁确实是显然的了。

最大的独裁,是代码的管理权。因为作为创始人与核心开发者,他们往往以一己之力,贡献了绝大多数的代码,确定了项目最初的架构与发展方向。他们不会容忍任何人随意地向代码库提交代码。

在邮件列表中,一个新来的家伙,从没人认识,到能够独立的向代码库提交代码,非得经历艰辛的历程不可。这样的历程,简单的说,就是一次一次的 Code Review。被审核通过、合入代码库的patch越多,一个人对于社区的贡献就越大,可信度也越高,身份地位也逐步提高,然后,他也就可以去 Review其他人的代码了。

总结:在简陋的工具条件下,发展出高效、严格的社区协作模式

三、第二代开源协作模式

第二代开源协作模式,有两大特征:Web化、集成化。随着Web技术的不断成熟,开源社区也开始创造一个又一个的Web开源项目,其中Web化的项 目管理工具,如雨后春笋般冒了出来。在wikipedia上,issue-tracking systems列出了55个,project management software列出了152个,其中开源的也有30+,open-source software hosting列出了22个,堪称蔚为壮观。

这类平台又可以分为两大类:基于开源的项目管理工具或issue tracking工具,自建平台,以JIRA、DotProject、Redmine为代表;基于免费开源托管平台,以SourceForge、Google、LaunchPad为代表;

第二代的开源项目管理工具,可以说,主要是在向企业内的开发管理学习。文档、流程、角色、权限、统计报表等等功能,都开始出现了。有些开源项目,也在用这些东西。

以SourceForge与Google Code为代表的开源托管平台免除了开源项目搭建自己的官方网站,管理工具,代码仓库之类的繁琐事务,大大促进了开源项目的发展。不过,由于平台的功能总是受限的,因此自建门户,自组工具的开源项目依然层出不穷。

issue & milestone

在第二代开源协作模式日渐成熟的过程中,另一股潮流也正方兴未艾:「敏捷软件开发」。其中,最为深入人心的概念之一,就是每个迭代,完成一批User Story

在开源社区,这个概念被进一步演绎:无论是bug和feature,都被统称为issue。这些issue,被分到不同的milestone(版本),即使最后有可能延期,milestone也会定义一个预期完成时间。

这是好事?还是坏事?其实很难评价,因为从开源的原始教义而言:所有的贡献,都是自愿、随机、不可预期的。为自然生长的软件,规定里程碑,本来就显 得荒谬。但是,从另一方面而言,我们可以引用另一个中国人过马路的例子:「不管红绿灯,凑够一堆人就过马路」,开源软件,往往也是「不管里程碑,稳定一堆 特性和bugfix,就发布一个版本」。

如果在开源软件很少,更别提形成开源生态圈的情况下,这种随意的做法还是可行的。但是在大量软件,相互依赖的情况下,一个开源项目要赢得其他协作项目的信赖与协作,必须给出稳定的规划,以便相互配合。

这种规范,也是被逼出来的。

服务平台化

虽然黑客们喜欢写程序,但是要写的程序实在太多了,能够不重复造轮子,有现成的好工具可以直接拿来用,也是件好事。如果可以打开一个网站,注册一个用户,创建一个新的项目,剩下的事情自有平台帮忙打理,那么大家都可以愉快、专心的写自己的代码了。

平台在逐步进化,因而能够帮助开源项目,打理越来越多的事务。通常主流的开源项目托管平台,都能够完成:

  • 在线代码浏览,并能够支持不同的配置库
  • 需求管理、Bug管理,通常合并为Issue tracking
  • 版本与里程碑管理
  • 文档编写与管理,以Wiki的形式为主

更进一步的,还有能够完成:简单的自定义工作流、文件夹与静态资源管理、输出各种统计报表、甚至提供论坛、搜索、邮件列表以及各种排行榜等等。

在此之前,一个开源项目,是一个社区。到了大平台的时代,整个平台,构成了一个更大的社区。

总结:以Web形式提供的集成化开源项目托管平台,标志着开源项目的协作模式,进入成熟期

四、第三代开源协作模式

到了MySpace、Facebook与Twitter这样的SNS网站的兴起,开源项目的协作模式,受到SNS的启发,也随之进入了第三代,以 Social Coding为核心的开发协作模式,这样的模式在以Github为代表的网站上,体现的最为充分,众多的模仿者也层出不穷。过去的开源项目与托管平台,都 是以项目为中心来打造,而Github则是围绕着参与开源的人来打造。首先满足的不是项目的需求,而是个人的需求,由于对人的黏性大大增加,也使得 Github成为近年来最具吸引力的开发社区。

围绕着Github,一大批周边扩展服务被建立起来,构成了一个更加有活力的生态圈。而程序员们,不仅在Github上参与开源项目,更在Github上结交朋友,分享经验,增进能力。甚至这样的协作模式,还拓展到了编程领域之外,成为开放式协作的流行模式。

激励机制

第三代开源协作模式,以Github为代表,以Social Coding为精髓,这一代模式想要解决的问题,是激励机制的问题。

第一代开源协作,虽然创造了一批大大有名的项目,但事实上却是一个非常小圈子的事业。即使是最为成功的Linux内核开发,也不过1000~2000人。一旦人多事杂,就会出现管理混乱的现象。

第二代开源协作,虽然借鉴了很多企业界的规范管理经验,但是在事实上,却是不适应开源软件的风格的,举一个例子:在Redmine中存在的角色、权限、工作流之类的东西,实际开源项目使用的,却非常少。

第三代开源协作,借鉴了社交网络中的各种数值化模型,关注者数量,Star数量,Fork数量,Issue数量,Pull Request数量,都在显要位置标示出来,对于开发者形成正向激励,还有很多的统计图表,形象的展示了项目的活跃程度。

开源社区,原本就有非常深厚的,统计补丁数计算贡献度的传统,这一点在Github被发扬光大,可以说是优秀的继承与创新。

基于fork/pull request的协作机制

在github,一键就能够fork自己的分支,然后可以跟原有的分支毫无关联,也可以非常方便的提交pull request,这就带来了更加频繁的分裂,使得分裂常态化了。

原来的开源社区,开发者修改了代码,希望能够贡献给社区,需要穿越种种障碍,如果社区不接受,最后开发者只能逼不得已,自己开一个新的分支,变成一个新的项目。

在分裂是异常的状态下,分裂是罪恶的,是不应该的,是会带来阵痛的。当分裂变得常态化,pull request也变得常态化,分分合合,以每天N次的速度发生,恰恰因为如此,他不再是一种罪恶,而是一种健康的、向上的、以更快速度进步的模式。大家不 再是在一个版本下,各自贡献,而是在各自的版本下,独立发展,想分就分,想合就合。

Pull request,从一个代码合并的方式,变成了开发者之间主要的交流方式,他们发现,最好的交流,正是通过源代码来交流,一切的讲道理,都不如用源代码来讲道理。这恰恰是程序员们最习惯,也最喜欢的一种交流方式。

围绕Github出现的扩展服务

较之上一代的平台,Github提供了优秀的开放扩展机制:OAuth、API、SDK、WebHooks、ServiceHooks等等,使得围绕Github,扩展各种满足项目特定需要的服务,变得非常容易。

这就是从上一代平台的开源大社区,进化为「围绕Github的开源生态圈」。

到目前为止,Github一共支持超过170个不同的扩展服务,其中较为热门的服务有:

  • 与其他项目管理工具集成(Bugzilla,Asana, Basecamp,Redmine,JIRA,ZohoProject)
  • 与持续集成服务集成(Travis,Bamboo,CircleCI)
  • 与消息通知服务集成(Amazon SNS,Email,IRC,Jabber)
  • 与DevOps服务集成(AWS OpsWorks, DeployHQ)

Github 开放平台与API,基于Github OAuth API,其他网站可以支持开发者用自己Github账号登录,并使用一些有趣的服务。

  • Cloud IDE,用Github账号登录,直接在浏览器里打开一个IDE,编辑自己在Github上的开源代码
  • Resume Service,根据开发者在Github上的各种社交行为与开源项目贡献度,自动生成格式化的简历

这些扩展服务,极大的丰富了开源生态圈的内涵。

总结:社区天生就应该是社交化的,Social Coding与开源社区,简直就是天作之和。

五、开源协作模式的新探索

Git:作为标配

目前看来,git作为分布式配置库的王者地位,已经不可动摇了。能够初步总结的原因,至少有三个:

  • git与github互相促进,作为全球最大也最流行的开源社区,他的标配是git。这也导致越来越多的开源项目,选择git作为标配
  • 众人拾材火焰高,越是参与开发的人不断涌入,越是帮助git发展得更快。这是一个赢家通吃的世界
  • 开源生态圈的出现,使得围绕git、github发展出一大批相关的开源项目、开源工具以及次级社区。这一现象,在docker横空出世之后,再一次得到展现。

Code Review:必不可少

开源社区,一直有非常悠久的CodeReview的历史,哪怕在最早的mail & patch的时代,Review也是开源协作的头等大事。仅仅梳理Review的历程,也可以看到其中工具与流程的发展。

最初是邮件review,然后是在集成平台上内置review功能,或者提供更强大的review插件。到github创新的提出pull request,则是一种更加方便有效的review模式。

与此同时,独立于集成平台的专门的code review工具,也开始发展起来:Review Board、Google Gerrit、Facebook Phabricator是其中重要的几个代表。

Workflow:百花齐放

在git逐步流行之后,大家发现基于git可以选择的「玩法」实在是太多了。从最初写下一行代码,到最终出现在项目发布的版本之中,期间可以有无数的「路径」。

在git-scm.com官方教程《ProGit》里,提及了三种:集中式工作流、集成管理员工作流以及司令官与副官工作流。

在蒋鑫的《Git权威指南》里,又提及基于TopGit、基于submodule、基于subtree、基于repo、基于gerrit、以及git与svn配合使用的不同工作模型。

再后来:GitFlow、Github的Pull Request、以及基于Github的Github Flow等等工作模式,堪称百花齐放。

为什么会出来这么多workflow?因为团队与项目的差别,实在太大了。现在到我们简直无法想象:那些在各种情况下都坚持使用SVN都开发者,是怎么熬过来的?

当然,从另一方面来说:选择太多,也会带来另一种烦恼…

CI、CD、DevOps

从Everything as Code到Everything Automation,是另一个越来越明显的趋势。前两天,我从机场出来,正好看到两个并列的广告牌,一个广告的大意是:「UPS助您打通全球供应链」、 另一个则是「中国银行助您打通全球供应链」。这真的很有意思,看来在各行各业,大家都开始在关注整个生命周期的各个环节之间的打通。

只是,在软件领域,我们会感觉到这是一种回归。毕竟,最初的软件开发,都是很简单的。在一台计算机上,自己写程序,自己编译,自己调试、运行,最后发布。既不用依赖他人,更不用等待什么流程。

随着项目越来越复杂,参与的人越来越多,我们的软件,不能仅仅运行在自己的机器上,或者需要部署到服务器上,或者需要发布到某种平台上。在协作者众多的情况下,如何分工合作?
在开发者水平参差不齐的情况下,如何保证质量?在分工、协作、流程与质量保证的要求之下,如何提高效率?

这些都是DevOps致力于解决的问题,也是DevOps不断得以发展的原动力。

总结:开源社区,始终在进步,Github代表的也只是「一代」而已,新的一代协作模式,还会被创造出来的。

六、暗线:工具、习俗背后的逻辑

过去是如何?未来又会怎样?想要回答这类问题,其实需要更加深入的思考:「开源社区的协作模式,为何会变?变化背后的逻辑是什么?」

开源社区研发工具的两大目标:降低门槛,提高效率

开源社区,与普通的软件开发最大的不同,就是参与者多多益善。在《大教堂与集市》中,Eric Steven Raymond总结到:「如果开发者协调者有至少一个像Internet这样好的沟通媒介,并且知道如何不靠强制来领导,那么多人合作必然强于单兵作 战」,这简直就是绝妙的预言。虽然当年的ESR也许并未预测到,基于Internet会出现那么多辅助开源的相关工具(他们当时还只有邮件列表)。

所以,开源社区一直在致力于两个看上去相反的目标:「吸引尽可能多的人,以尽可能简单、便捷的方式,参与到开源中来」、「在人多得超乎想象的情况下,依然能够保持,甚至不断提高效率」。

如何计算参与者的贡献?

开源社区,不会给参与者发工资,因此激励是一个大问题。公平、公开、公正大计算所有参与者的贡献,以所有人都能够接受都形式,计算并公布各种排行 榜,可以说是开源社区特有都「刚性需求」,因此SNS与开源社区的结合,成为必然。以后,面向开源协作的大数据分析,也一定会出现。

如何激励、吸引、回报参与者?

计算参与者的贡献,仅仅是公平激励的基础。让激励变得有趣,变得有价值,变得有意义,则是吸引与回报参与者的不二法门。因此:游戏化的思路,会被越来越多的引入到开源社区中来。

如何保障项目质量?

开源项目保障项目质量都最大利器,是引入数量众多都热心测试者。但是,仅仅有人愿意测试,主动、积极都帮助测试,已经越来越不够了。随着项目越来越复杂,开源项目必须逐步走出仅仅依赖肉眼、依赖人多+运气的质量保障模式。

自动化测试、以及更加规范的Review流程,则是必然出现,而且将越来越重要的环节之一。

如何协调一致的工作?

自由与规范,计划与变化,兴趣与责任。经常会在社区里,成为争论的热点话题。虽然在《大教堂与集市》中,ESR极力鼓吹「礼物文化远远胜过交换经济」,但是:「在一个庞大的社区,各种各样的事务都需要有人去完成,而且还不能漫无章法。」

因此:「某种调节手段、协调者与协调机制、甚至是看不见的手」之类的东西,会慢慢的回到社区

如何在社区里平等、高效的协商?

目前来说,依然只能是线上讨论+线下开会。虽然,很多开源社区,开始学习《罗伯特议事规则》这样的开会圣经。但是,开会依然是最令程序员感到苦恼的事情。在这方面,将来会不会出现更好的辅助工具,这方面很值得期待。

结束语

唯有变化,是不变的。开源协作模式,同样如此。惟愿我们,能够成为推起其前进的力量之一。

转、进、定——我的2014

看着很多朋友,都纷纷在总结回顾自己的2014,我也试着总结一下吧,原本想按照往年的传统,选一个年度汉字的,结果思前想后,发现至少需要三个字,才能表达这一年的林林总总。

一、转:这一年我有三大转变:

  • 加入华为,而且干满一年了;
  • 开始跑步,而且喜欢上跑步了(不是坚持,就是喜欢);
  • 彻底离开知乎,而且真的戒掉了;

二、进:这是我进步非常大的一年,因为在华为的工作与开源有关、与研发有关,我思考了很多、很多,也有了很多的收获。

在多年以后,也许会有人评价,2014年是华为的开源元年,而我们则是这一重大变革的亲历者。

从这个意义上来说,我感到非常自豪。

三、定:从而立到不惑,慢慢的就能定下来了

40不惑,无非是心有定见,眼看马上就要39了,我仔细思索了一下自己的心路历程,渐渐的感到:自己的想法,已经很少左右摇摆,虽然心态依然开放,但判断却很少犹豫,这大概就是一种不惑吧。

最后,祝愿所有的朋友,新年快乐,万事如意!身体健康,阖家幸福!

再也回不去的那三年

离开创新院,已经2年了。至今我还记得,老郭与我谈话,告知我被公司「Fire」时,是2012年的平安夜。我百感交集,又故作轻松的与朋友聊天:「哈哈,真是不错的圣诞礼物啊!这回还赔了不少呢!」事实上,哪怕有一线可能,我也是绝不想离开创新院的。在创新院的三年,是我的职业生涯中,最愉快、也最难忘的三年。只可惜,那是再也回不去的三年了。

刚刚离开创新院的时候,固然是内心愤懑不平,对盛大也有很多私下的批评。但是,在后来的日子里,我倒是越来越怀念盛大,越来越怀念创新院的氛围,也越来越能够以平常心,看待那三年里的是是非非了。

一、那些美梦成真的日子

在很多人的职场梦想中,大概都有这么几条吧:轻松但却有趣的工作;投缘而又能干的同事;再加上各种贴心服务的工作场所;以及拿到足够体面的薪资。在创新院的那三年,我们大多都是在过着这样的日子。
每周一次的分享会,各种各样的牛人会跟大家分享新鲜的观点以及有趣的经验。台下坐着一群兴致勃勃的同事,一场分享会往往开得热火朝天,大家吵得天翻地覆。后来,我们经常会把分享会,称之为「拍砖会」,因为非此不足以形容其激烈程度。
当然,另一个令我自豪的成就是:「我在创新院,人称砖王」。被我拍过的同事简直数不清,可以说犯下了「累累血案」!更加有意思的是:2010年的创新院年会,公司竟然给我发了一块金砖,正式册封我为「砖王」,只可惜那块金砖是巧克力做的,哈哈!
拍人者也常被人拍。别看我在外面的技术分享,也常常被人以为是技术大牛。他们是不知道我在创新院里,被人拍得有多惨。我至今还记得,被老莫拍过关于NoSQL的技术演讲;被Hax和Tinyfool拍过关于开源的技术演讲;被Neo拍过关于开放平台的技术演讲。那些拍人与被拍的经历,都令我获益良多。
在创新院,我与很多人成为了朋友。我们常常会打一杯免费咖啡,找一个舒服的沙发,然后坐下来随意的聊一些有趣的话题。我还记得第一次和tinyfool聊天,是关于中医的,他是一个坚定的中医黑,而是我一个不太坚定的中医粉。我还记得第一次和Felix Ding聊天,是因为我们都非常喜欢村上春树的小说。我还记得第一次和橙子聊天,是因为他的桌子上堆满了大大小小的魔方。我还记得和老许有一次非常深入的聊天,是我以盛大今日的记者身份,对他进行采访。
09年~10年的创新院,弥漫着一种创业的氛围,我们在一起聊得最多的,是新技术、新模式、新应用、新机会。几个投缘的朋友,聊得深入透彻之后,就开始准备材料,去上计委会,看看能不能获得立项的机会。
美好的回忆实在太多,但是,我必须转入下一节了。

二、那些Bambook的前尘往事

我和老范都是铁杆的网络小说迷,在进盛大之前很多年,我们就已经是起点的高V了。自从知道创新院里有一个电子书项目之后,我们就一直非常关注,经常回到楼上去找他们那帮兄弟闲聊。
再后来,电子书正式发售,我和老范又作为高级帮闲,每周旁听他们的运营例会。而且时不时的会忍不住发表自己的各种意见。
再后来,搞Bambook开发大赛,我、老范、雪愚、winter、周劲羽等很多很多人,都参与其中。盛大当时也财大气粗,花了100万来搞一个比赛。我们一群人也相当的尽心尽力,算是将这个比赛做得皆大欢喜了。事后有一个朋友,在跟我聊天的时候,还谈起这次比赛,他说:「现在看来,你们盛大对开发者,还是很靠谱的。」我听到这样的评价,真是极为自豪。
再后来,大年不再主管Bambook,来了新的CEO。公司开始反思电子书在生产与推广过程中的「大手大脚」,压缩成本,缩减预算。原本计划中的Bambook开发者大会,Bambook第二届、第三届大赛,Bambook开放平台的后续计划,全都被砍掉了。
再后来,我们淡出了Bambook团队,陆陆续续听到了各种各样的坏消息,最后在一个月前,我听说Bambook已经彻底Over了,团队的人也全部走光了。
这是一个曾经聚集了非常多牛人的优秀团队。这是一个曾经生产出了比Kindle好得多的电子书的果壳电子。这是一个曾经有着良好口碑与开发者忠诚度的开放平台。却被一个又一个愚蠢的高层决策,最终废掉!

三、那些盛大云的前尘往事

老许、老季、老何,都是让人树大拇指的大牛。他们都曾经是盛大云计算的掌舵人。离开盛大之后,这几位依然混得风生水起。但是,令人费解的是:在盛大,他们就是没做成事。这不禁令人想到了橘生淮南与淮北的典故。
最可惜的,还要数老何,因为当年的盛大云,在他的带领下,一度红红火火,牢牢占据国内云计算厂商的第一梯队。虽然盛大云和阿里云都有无数的人在骂,但似乎骂盛大云的人,还略少一些。在云计算这个领域,盛大曾经是大有希望的。
再后来,盛大云战略转型,开始专注于服务内部,特别是服务于酷六那个扶不起的阿斗。
再后来,盛大云就从大家的视线中消失了。
作为一篇回忆创新院的文章,的确不该在盛大云这边着墨太多,就此打住吧。

四、所谓战略家

此处删去500字

五、孵化器与御林军

还是回到创新院的主题上来吧,在我看来,创新院从创立之初,就存在着隐患。最大的矛盾,在于桥哥和大年,对于创新院的看法不同。虽然大年是创新院的院长,但是桥哥才是真正决定创新院生死的人。
大年是一个非常理想主义的人,而且常常有很多奇思妙想,创新院就是他的理想国,也是我们这些人的乌托邦。曾经在某一次会议上,我随口说了一个设想,大年当场就大为赞赏。我也没有特别在意,谁知道,后来大年还为此特别奖励了我一万元,就为了一个点子,而且还是一个尚未实现的点子。
在刚刚离开盛大的日子里,我曾经愤愤不平的对朋友说过:「大年建了一个游乐场,我们以为是进来玩的,没想到我们是进来被玩的。」到现在,平心而论,我们应该说:「大年是真心实意的,找我们来一起陪他玩的。」
但是,桥哥的想法大不一样。他并不是在招揽志同道合的同伴。正如盛大集团官网首页的桥哥题词:「最高的工资给最优秀的人才,最优秀的人才创造最大的价值」。一种老板雇佣打工仔的心态,表露无遗。
在桥哥的眼中,创新院就是他的御林军,要「召之即来,来之能战,战之能胜」。如果不能作为国际级大牛为桥哥装点门面,就必须为集团创造价值。在内部,我们知道,桥哥是可以从创新院收税的。只是,大家从来不清楚,收税的比例是多少?
随着创新院的大多数项目,轰轰烈烈,热热闹闹,却乏善可陈。集团收税的比例,就越来越高,越来越多的人,被拉出去支援别的项目,别的业务,别的公司。最夸张的一次抽调,就是全集团共同支援酷六那回。前前后后,只怕投入了有几百个人年的力量。
我曾经有一次跟老郭打电话,痛陈「帮忙的坏处」,我对老郭说:「你把他们招进来,是让他们进来实现梦想的,是让他们来创业的,现在他们都被拉出去帮忙了。那么咱们这个创新院,当初的初衷又到哪里去了呢?」
现在想来,老郭又何尝不知道这些,不过他也无能为力罢了。因为不能通过创新,证明创新院的价值,再不通过输出技术支援证明价值,创新院的就要被干掉了。

六、「为什么盛大创新院多方出击,但真正给力的产品不多?」

这是2011年,知乎上的一个问题。我当时还在创新院,自然不能有太多的批评,兼之又不愿匿名答题,所以就写了一个放之四海而皆准的回答,大意是:「创新本来就难,慢热的创新尤其需要等待,一项创新,在他刚刚诞生的时候,很可能是一点都不酷,一点都不给力的。」
当时hax就给我留言:「老庄,应该匿名再答一个。」时隔三年之后,我打算再回答一下这个问题。
有些话,我当时的确没说错,一个非常确凿的证据,是wifi万能钥匙。当时在创新院立项的时候,几乎没有人看好,在分享会和计委会上面,他们都被拍得很惨。包括我当年,也是绝对不看好的。记得当初还跟张发有激烈的争论了很久。真的万万没想到,这个产品,现在会发展得这么好!
霍炬说:「创新院乃至盛大后来出现的问题,并不在创新院本身,更不在老郭或者大年。甚至说问题在于盛大集团,或者问题在于陈天桥,我觉得都算不上公平。」我是不能同意的,在我看来:作为一场「共业」,身在其中的每一个人,都有责任。从最上面的桥哥,到大年,到老郭,到我们这些普通的创新院的每一个成员,全都有不可推卸的责任。
下面开始正面回答问题:
在我看来,创新院的最终失败。主要有内外两个方面的原因。
主要外因,是集团对待创新院的态度与政策,存在摇摆与短视。或人才储备,或装点门面,或随时抽税,或弃若蔽履。
内因又可以分开N条来说:
其一:过于宽松,缺少紧迫感。对于创新,宽松当然就够了。若要创业,一定得有紧迫感。在创新院有一项令人感动的政策:「大年说过,只要创始人不放弃,我们就一定不放弃」。简直是超感人的理想主义。但是,对于身在其中的我们而言,那就是只有胡萝卜,没有大棒了。
其二:人才结构不合理,全是高手,而且大多数都是技术方面的高手,没有中手、低手。更缺乏设计、产品、运营、市场的人员。整个创新院,几百个高手,牛人,全都想自己立项,到后来也立了无数的项目。每个项目,都只有创始人,都严重缺人。想要找一些能够干杂事的人手,领导说了:我们创新院不能招这种太低端的人才。
其三:管理架构不合理,明明想要做一个孵化器,却没有必要的孵化机制,配套设施,培养与辅导机制。一个巨大的扁平化的架构,上百个团队,几乎所有的事情都需要直接找老郭汇报。就算老郭是铁人+超人,也不可能同时处理好这么多事情。
这些原因,导致的结果就是:创新项目一大堆,每一个项目都缺胳膊少腿,往往努力而不得其法,不得其人。更有甚者,混日子也混得不错。

七、结束语

当年我曾经写过一段话:创新院作为一个真人MMORPG,就是大老板出钱,让二老板玩的一个游戏。其他人都是来陪玩的。大老板没钱以后,这个游戏就没法继续玩下去了。
现在看来,实在是过于激愤了些,现修正如下:创新院是一个极度理想主义与极度现实主义无法调和后的一场悲剧。作为悲剧中人,我们都曾经做过一场美梦,只是梦醒之后,大家都再也回不去了!

ps:关于盛大的开源往事,以及盛大的经验值体系,我曾经另外写过两篇文章,这篇文章里就不再扯到了。

企业开源杂谈

良法美意的命运——聊聊盛大的经验值

写给知乎:最艰难的告别

这一周,我的工作量很大。因为,我下决心要告别知乎了。为了让自己绝对不可能再回来,我做了以下一些事情:

  • 关注的80+话题,一一取消关注
  • 关注的50+专栏,一一取消关注
  • 关注了880+知友,一一取消关注,就像是向880+朋友,一一道别
  • 收到了2000+个邀请,积压着一直没有回答,也只能一一忽略,抱歉
  • 关注了3000+问题,一一取消关注,这样我就不会看到自己关心的问题的最新回答了
  • 回答了1200+问题,一一看过,有价值的移到自己的blog,然后全部删除,有时候还要再回顾一下评论
  • 写了110+篇专栏,一一看过,转移,删除
  • 卸载了手机上的知乎

这些事情,花了我7~8天的时间。写完这篇专栏之后,我会把知乎的密码改成一个自己永远都想不起来的乱码,以确保自己再也上不了知乎。

 

来知乎已经四年了,我也曾经说过:「说了这么多,但是,我从来没有想过,要戒知乎!知乎依然是我现在最喜欢,也最经常去的网络社区(没有之一)。」

为什么要这么干呢?因为对知乎,彻底失望了。事情的来龙去脉,可以看这几篇文章:

一篇锤子手机总监级别的软文是怎样诞生的?

[知乎专栏–思考IT]运营的底线

[知乎专栏–私吐槽]是什么人,在修改问题?

[知乎专栏–私吐槽]知乎,你们这样真的有意思吗?!!

如何看待『Smartisan OS 中的定时静音功能』问题下出现的许多知乎用户认为是软文的现象?

这个问题里的黄继新的回答!

Smartisan OS 中的定时静音功能设计过程是如何的?

以及这个问题的修改记录里,众多知乎员工的身影!

 

既然想走,那就走得彻底些,最后的最后,我的心情非常复杂,却不想写什么狠话。2年前,我曾经为知乎写过一首诗,就以这首诗,作为这段时光的结束吧。

 

对酒当歌,叹人生兮几何。
古有屈原,咏天问与九歌。
浩瀚苍茫,当上下而求索。
时光荏苒,惜岁月之蹉跎。

昔日艰难,有凿壁而偷光。
发奋苦读,常刺股与悬梁。
名师难遇,千里求学他乡。
知音难觅,伯牙摔琴心伤。

今非昔比,求知易如反掌。
身无长物,揽万卷于网上。
问答辩难,可教学而相长。
千里知音,未谋面却来访。

知乎出世,聚英才于一堂。
稀有社区,以认真为风尚。
妙问妙答,常有缘得欣赏。
牛人高人,可讨教也无妨。

赞曰:
惟愿知乎常驻世,惟愿知友常交流;
惟愿知识常流传,惟愿智慧常增长。

[知乎专栏–思考IT]运营的底线

在2年前的一个回答里,我谈到了知乎走向失败的风险:可能导致知乎走向失败的最大风险是什么?

周源的理想是:

  • 知乎将持续产生高质量、可沉淀的信息,并让有价值的信息和人都关联起来

而我的担忧是:

知乎的运营,一直都在追求优质的回答。这是大家有目共睹的。但是,何为优质呢?
1、大家都赞同?
2、运营的员工有偏爱?
3、名人?
4、能够激发更多的讨论?
5、具备足够的深度和长度?

这些都可能不是优质的判断依据,但是也有可能被用来判断是否优秀。

我担心的最大的问题,就是知乎运营团队,在何为优秀的判断上,默默的,不自觉的,有意无意的,向KPI低头,向热闹低头,向名人和大企业低头

最终,从一个一流的问答社区,变成为一个二流的,却标榜自己是一流的问答社区。

现在,李奇作为一名知乎员工, 在微博上看到了「好的内容」,就在微博上邀请,然后在知乎「提了一个最适合朱萧木回答的问题」,然后再自己点赞,然后在推送到知乎日报。

这,已经大大的越过了内容运营的底线,而是在践踏的知乎,作为一个问答社区的原则!

在这个问题下,目前有38个回答被折叠,据说原因是「并未回答问题」。但是:「李奇根本就不是在提问」,他只是用提问的形式,「导入了一篇外部的内容」,因为手法拙劣,结果被抓了现行,遭到了吐槽!

一个更加有趣的现象是:Smartisan OS 中的定时静音功能设计过程是如何的? – 知乎用户的回答

这篇@土星光环 拉偏架的「回答」,同样没有回答问题,却依然高高在上。

这真的令人感到不齿!

update1:

对于「donhi feng 是知乎员工」的猜测,是我的错误记忆与判断,特此删除并致歉!

update2:

如果我是李奇,我会这么做: 提一个问题「手机的静音功能设计,应该考虑哪些因素?」

然后,将各个手机厂商相关人等,邀请来回答这个 问题。

然后,等待各种优秀的回答浮现出现,择优挑选上日报。

[知乎专栏–思考IT]长假记事——聊聊用户体验

在国庆长假的前几天,我在知乎看到了两个回答,心中虽然有些想法,却不知如何表达,也就存在心里,出去旅游去了。

为什么阿里系软件体验都不好?

百度阅读还有什么不足,阅读产品让你来做你怎么做?

虽然这两个答案,我都不太喜欢,但是却不想正面评论,只想讲几个旅游途中发生的小事。

一、华为E585

因为要自驾游,而且是从上海出发,沿途经过南浔、湖州、宣城、芜湖、巢湖等地,所以配一个3G转无线WIFI,非常有必要。在淘宝上与卖家聊了10分钟,在众多的华为E5中,选择了号称性价比最高的E585,再买了一张联通的15G年卡,共计:497元。

但是,这个小玩意却给我们的这趟旅途,带来了极大的方便,全程随身WIFI,流量与网速都丝毫不必担心,唯一的苦恼,是5小时左右,需要充一次电,但是这也合情合理,毕竟那么小小的一个机器,能够撑5小时,已经很不错了。

对于产品的基本要求:提供符合我预期的功能,不要给我带来烦恼

二、高德地图与百度地图

我一直在用高德地图,在相当长的时间里,它也工作的不错。直到这回在芜湖,有一个宾馆,它没有找到。害我们钻到另一个莫名其妙的弄堂里去了。

还好有E585,我当场下载了一个百度地图,搜到了宾馆。

过了两天,在巢湖,我怀着再给高德地图一次机会的心情,搜索了一次加油站。 结果还是没有找到,我用百度地图,再次搜到了加油站,顺利加到了油。

最近,高德地图,还在搞一个活动:「你敢用,我敢赔」。但是,我根本不会想找他赔钱,我直接就换了另外一个地图来用了。

对于产品的基本要求:首先完成基本功能

购物网站无法完成购物,地图App无法找到地点,阅读软件让人无法顺利阅读,这种软件,就没有存在的必要。

三、微信

我们家在微信上有一个群,所有的亲戚都在里面。这次出门,我们基本上每天会在群里发一些旅游的照片。有一天照片发得晚了些,老妈的电话就打过来了:「怎么今天没有拍照片吗?还在等着看呢!」

国庆期间,我爸妈在上海,自得其乐的玩了很多地方,然后每天都在朋友圈里发照片。我有一天忘记点赞了。老妈的电话又打过来了:「我们今天去了XXX和XXX,好多人都看到了,都夸我们了,你看了吗?」我赶紧打开微信,把该补的赞补上了。

回到上海,老妈捧着她的手机过来,第一件事就是让我帮她看看,怎么他的微信又要重新登录了。

这里虽然只是说我老妈,但实际上,我身边的几乎所有父母辈的老人,都极其热衷使用微信。虽然他们很多地方不会,而且学得很慢,操作很慢,打字也很慢。但是这丝毫不妨碍他们,每天玩得不亦乐乎。

对于产品的终极要求:抓住核心需求,满足核心需求

四、 结束语

再来谈谈我对阅读的根本需求的看法:作为一个经常在手机上阅读的人,我大概有百分之90的时间,都是在进行翻下一页的操作。在这个过程中,我的用户体验如何?或者换言之:什么样的阅读体验,才算是顺畅的?

能够顺畅的阅读一本书,这是核心需求。

其次,如何找到我想要读的书?以及,我可能会喜欢的书,该如何找到我?这其中存在一个过犹不及的问题:书太少,没办法读,简直就没有打开App的动力。书太多,读不完,也会有另一种自暴自弃的压力。

所以:根据用户的实际阅读进度,推荐新书,我觉得是一个重要的需求。

因此,我比较认同百度阅读的PM,@冶林 的观点:「细节是否重要?很重要,但是如果连根本需求都没有做好,细节做的再好也还是没用。」

[知乎专栏–思考IT]成功的开源项目都有什么样的特点?

前几天,我在知乎回答了一个问题:成功的开源软件都有什么样的特点?

一、萌芽阶段
1. 解决实际问题,这是核心,不一定要特别创新,特别酷,当然如果有的话是加分项
2. 定期发布,及时接受反馈,不断满足用户需求,形成稳定预期

二、成长阶段
1. 出色的宣传手段,引导传播的能力,很多不错的开源项目因为这一点不够,始终默默无闻
2. 足够好的协作机制,虽然开源社区通常有较为成熟的玩法,但是做得不够好的项目比比皆是
3. 友好的参与引导,不断的吸引新人加入贡献(包括新手指南,开发文档,Demo等等)

三、成熟阶段
1. 商业介入,获得资金支持(很多一开始选择了不太具备商业价值的开源项目,会始终非常小众)
2. 良好的社区氛围,老人有地位,新人有上升空间,公开透明不内斗
3. 正确的方向感,是长期繁荣的保障

以上这些,都依赖于一个最重要的先决条件:足够强大、足够优秀的创始人+领导者!

这两天又思考了一下,发现开源软件与开源项目,还是有一些差别的。通常来说:开源软件,主要是供最终用户使用,而开源项目,则是一个更大的概念,可以做一个菱形图来说明:

在开源项目的基础上,可以创造一个好的开源生态圈,而基于开源生态圈,会产生一个甚至多个不同的开源产品。这里说「开源产品」,也就包含了「开源软件」与「开源硬件」。

因此,深入思考的结果就是:优秀的、成功的开源产品,依赖于良好的开源生态圈,而良好的开源生态圈,严重依赖于最初开源项目的定位与类别。

例如:依赖于Wordpress的平台,诞生了一大批Wordpress的插件。依赖于Eclipese的平台,又诞生了一大批Eclipse的插件。Firefox、Chrome莫不如是。

所以:一个能够让开发者参与扩展的平台,是建立生态圈的重点之一。

再者,开发、调试、发布、获取、升级、评价这些扩展插件,是否易懂,是否方便,是否快捷,也是一个生态圈,是否能够健康的重要支撑特性。

例如:ruby的gem,nodejs的npm,就是极大的提升了ruby与nodejs的生态圈活力

所以:一个能够支持生态圈得以出现的机制,一个能够辅助生态圈形成的工具,至关重要。

再深入的想一层,当我们开发一个软件,他应该具备哪些功能,他的可扩展性该如何实现,则是考验最初创始人的架构能力的关键。

例如:UNIX/Linux的核心思想:「一切皆文件」

再如:Rails的核心思想:「约定大于配置」以及「Rack架构」所带来的活力

所以:优秀的架构,能够从一开始,就为开源生态圈打下良好的基础。

[知乎专栏–思考IT]下一代研发平台的四块积木

最 近正在看一本书,就是之前介绍过的Jared Diamond写的《第三种黑猩猩》,昨天又读到了其中一段,是讲人类如何分析动物的语言的。在引入了录音技术之后,人类对于猴子的语言的了解,有了突破 性的进展。通过分析,我们分析出了10个词汇。在没有先进的录音分析技术之前,哪怕是最有经验的动物学家,也没办法了解这么多。另一方面,对于大猩猩的语 言的分析,却很困难,因为他们动来动去,不容易录音。

回到研发的话题,在我看来:缺乏对于研发过程中各种行为的分析,是无法真正改进研发 管理的关键原因,程序员每天到底花多时间编程?花多少时间看文档?花多少时间开会?一个Story,会经过多少道工序,最终被开发完成,发布上线?如果研 发的效率不高,最大的瓶颈到底是在哪个环节?

大数据分析工具出现之前,这些答案,都是被一种奇怪的方式回答的:数据散乱,随意,缺乏统一的标准,领导想看了,下面的人就去搞一个Excel。

如果我们有了足够好的大数据分析工具,问题就得到解决了吗?实际上并没有这么简单。究竟应该采集哪些数据呢?在研发的过程中,相关人员,究竟发生了哪些行为呢?这些行为,是能够被分析的吗?是能够被量化的吗?

我 发出了一个邮件,包含了一个word文档作为附件。这个行为的含义,如何分析?以Github为代表的Social Coding,在我看来,最大的贡献是将原来含混的研发行为,原子化了。star、watch、fork、issue、pull request、follow,过去可能都是在email里完成的。通过社交化服务将研发行为原子化,也因此使得量化这些行为,变得可能。

在写Blog的时候,我们会引用其他人的Blog,这时候,BSP就会帮我发出一个PingBack,告诉那篇Blog,它被我引用了。但是,在开源项目的领域,还缺乏这种项目之间的PingBack机制,因此在项目与项目之间的关系,我们还很难梳理清楚。

一个可以期待的功能特性,应该是基于开放平台的OpenAPI的,假设每一个开源项目托管平台,都支持UseIt这样的API,任何使用了它的项目,或者部署了这个开源项目的平台,都会发出一个UseIt的请求给它。该是多么美好的未来啊?

最后,我们再来回顾一下动物语言的研究,为什么大猩猩的语言不好研究?因为采集数据困难。从这个角度来说,如果开发人员都在自己的本地机器上工作,大多数时候不联网,那么研发数据的采集就会非常困难。如果基于云计算的开发平台能最终普及,所有的研发行为,都实际上在云平台上发生,我想:这个故事就基本上完整了。

因此,我们得到了这样四块积木:大数据分析+社交化服务+开放平台+云计算=下一代研发平台

无觅相关文章插件,快速提升流量