陈本峰:用开放的心态做事情

个人简介 陈本峰,云适配创始人CEO,专注互联网标准以及浏览器相关技术研究超过10年。毕业于中国科技大学电子工程系,获得香港科技大学计算机科学硕士并师从浏览器行业泰斗Christian。曾申请一项国际发明专利以及多篇顶级学术论文;著名的IE 404页面就是出自陈本峰之手。国际互联网标准联盟W3C中国区唯一HTML5布道官,专注互联网标准以及浏览器相关技术研究超过10年。曾任微软美国总部IE浏览器核心担任研发工程师,发布了IE8、IE9、IE10并且参与IE的HTML5引擎设计开发以及下一代互联网标准HTML5国际标准制定。 获得微软“最有价值专家”荣誉;微软最佳产品贡献奖;第15届留交会领军人才,2013年中关村十大海归新星;香港特别行政区"优秀人才"计划等荣誉;2015年入选国家“千人计划”。 2012–至今创办美通云动(北京)科技有限公司(云适配),担任董事长兼CEO。

QCon是由InfoQ主办的全球顶级技术盛会,每年在伦敦、北京、东京、纽约、圣保罗、杭州、旧金山召开。自2007年3月份首次举办以来,已经有包括传统制造、金融、电信、互联网、航空航天等领域的近万名架构师、项目经理、团队领导者和高级开发人员参加过QCon大会。

   

1. 各位InfoQ的网友大家好,现在我们是在QCon北京的现场,作客我们专访间的是云适配的创始人CEO陈本峰先生。首先陈总先跟我们的观众简单介绍一下这次Amaze UI以及你为什么要开源Amaze UI这件事情。

陈本峰:我讲一下Amaze UI的历史,大家都知道云适配的业务,我们是通过在网站的前端页面里插入一行代码,加入网站,从电脑版转换成手机版。当时我们做得非常早,从2012年就开始做了,那时候市面上缺乏一款比较好的HTML5的移动端的框架,当时做HTML5也非常少,可能业内唯一的一个就是jQuery Mobile,就是jQuery出的一个移动版。我们当时评估了一下,它性能是比较差的,执行起来非常慢,用户体验很糟糕,所以我们才决定自己开发一款。当然这个东西如果没有成熟,我们肯定也不好意思拿出来开源给大家用。经过云适配在整个两年的发展过程中,我们积累了大量移动端的HTML5的控件,像菜单、轮播图、列表等各项控件。网页开发就是由很多控件组成的,这些控件根据客户的需求,有各种各样的样式,比如菜单我们大概就有20多种样式,有的用户喜欢点一下下拉出来的,有的喜欢点一下从旁边侧滑出来,有的喜欢直接放在页面的最上面,全部摆出来,等各种各样的用户需求都有。我们也碰到很多兼容性的问题,大家都知道做前端,浏览器兼容性是一个非常头疼的问题,比如微信的浏览器、QQ浏览器,还有百度浏览器、UC浏览器等各种各样的浏览器,我们也修复了很多兼容性的问题,后来觉得我们已经做了这么多的工作,如果其他的开发者要去开发一个HTML5的页面,他同样也要去重复做这么多工作,这样对社会劳动力来说是一个巨大的浪费,所以我们后来就把它开源出来,这样别人就能够很快地利用我们这个框架去开发HTML5的前端页面。正好也是在2014年的时候,H5开始慢慢又火起来了,以前曾经有一段时间很火,后来又到了低谷,然后到2014年的时又火起来了,越来越多的开发者开始从事H5开发,我觉得这个时候把前端框架共享出来,其实对整个H5开发社区来说是都有比较大的推动作用。

   

2. 也就是说在开源之前你们做了很多准备工作,从整体框架上一些功能的补充上,丰富完了之后才把它开源的?

陈本峰:对,这个其实是我们整个云适配产品的一部分,所以是经过很多客户检验过的。在开源之前,我们全国大概就已经有十几万个网站都是基于这个Amaze UI的了。我们从PC把它转成手机的时候,转过来的结果都是用Amaze UI来呈现的。在这个情况下,等于说经过了十几万的移动网站的验证,所以它不是我们凭空想出来的,而是一套已经很成熟的东西。

   

3. 那你开源之后有没有想过,会不会害怕影响公司的核心竞争力?毕竟像大互联网公司,它们也有自己的浏览器,它们也要做自己的产品,开源之后,你不害怕影响自己的竞争力吗?

陈本峰:首先我们的核心竞争力不只是Amaze UI这一块,云适配的转换是我们另外一块竞争力。从另一个角度来说,我们更多的是希望推动整个H5行业的发展,因为我们的整个业务都是在H5这个行业里面的,如果H5这个行业做不起来,核心竞争力就没有。就好像你去了一个沙漠,这个沙漠就你,你说你是这个沙漠里的第一名,没有用,这个沙漠本来就养不活几个人。我们希望这个行业是欣欣向荣的,像一个大城市,你住这个大城市里面,也许你不是第一名,但是前几名也可以过得很好,主要是这个考虑。所以其实做技术的人,更多是抱着一种开放的心态去做事情,我们是要培养整个行业,然后再考虑在这个行业繁荣的前提下,公司的竞争力是什么。

   

4. 既然Amaze UI已经开源了,你们还有专职的工程师负责开发,为什么?既然开源了,交给社区来做不好吗?

陈本峰:这个就是今天下午我会讲到的,我的演讲里面会讲怎么做开源,其实你会发现国外的那些成功的开源软件,基本上都是专门团队在做的。业余花时间去做的,肯定不会做得非常好,因为你的时间、精力有限,没法保证产品更新的进度,没法保证社区响应的速度,这个产品做着做着慢慢就没了。一开始肯定是得靠你自己把这个产品做得比较流行,然后才会慢慢有人来贡献。对一个开发者来说,如果让他去贡献一个非常小众的产品,他也不愿意,他觉得自己花了这么多时间精力,最后做出来的产品没有用,他肯定不愿意来贡献,所以你只能通过自己的力量,把这个产品做到有足够多的人用,这个时候才会有开发者愿意来贡献,因为他觉得他的工作将来可能会受到社会的认同。

   

5. 我们现在看到项目代码的贡献者还是比较少,你觉得这个是运营方面的问题还是跟国内开源的现状有关系呢?

陈本峰:我觉得主要还是环境的问题,国内开源的环境的问题。其实可以看看国内所有的开源项目,国内非常突出的开源项目并不多。GitHub上面有1万多人,国产开源项目里面,超过1千的其实都没几个,大概可能是个位数的。国内参与开源或者是去引导开源的人群还是比较小的,在这种情况下,显然也不会有太多人来贡献。目前Amaze UI暂时还没有英文版,所以国外的开发者贡献不多。我们现在已经有两个国外的开发者了,他们不懂中文,但是他们能来贡献,说明编程语言还是相通的,HTML还是相通的。我相信随着Amaze UI影响力的扩大,未来我们会去做英文版,到时候会有越来越多人参与进来。当然国内开源社区的‘气候环境’还是需要慢慢培养的。

   

6. 现在关注的人越来越多,你的项目肯定会收到很多反馈,但是你们人力又比较有限,这个时候你们是怎么处理那些新需求的?有没有借鉴国外开源项目的一些成功经验?

陈本峰:Amaze UI项目的运作基本上是按照国外一个比较成熟的开源项目去运作的,在发布一个新版之前,都是会先讲,你可以去Amaze UI的GitHub官网看一下。第一,我们上面会写road map,比如说2.0要做什么,2.1要做什么,2.2要做什么,3.0要做什么,我们都写上去,让这些开发者心里一开始就有个预期,我要做什么,这跟真正做产品还是不一样的,做开源和做闭源产品不一样,闭源的产品可能是你发布的时候,你跟大家说,新版发布了,大家去下载吧。开源强调的一种精神是全民参与精神,所以一开始我们在做产品规划的时候就通知大家了,大家根据自己的想法来贡献。第二,我们会在GitHub上面的Issues里面创建各种各样的里程碑,用户提的反馈、bugs,我们要把那些Issues加进来。第三,对每个Issue都会有一个优先级的确认,我们把它分成几个级别,P0、P1、P2、P3、P4,P0是24小时之内马上要回复的,P1是在接下来要发布的版本修复的,P2就是我们尽力去修复的,P3就是可能将来考虑的,我们有一个很明确的划分。这样使用者一看我们的划分就清楚了。他如果觉得这个时间周期比较长,可以直接过来就把代码改了,把问题就修复了。确实有一些开发者在使用过程中,他们看到有一些好的东西,一些功能,或者发现一些bug,他们就直接修复并提交上来。

   

7. 其实国内开源的环境,刚才也提到过,不是像国外那么好,但是你们的项目做得还不错,能分享一下你们做开源项目的一些运营经验吗?

陈本峰:这里面是今天下午要讲的一些内容,有几方面。第一,这个项目一定是有实际的需求的,真正解决用户的问题的,而且这个需求还算是比较普世的,也就是说你的目标用户群要比较大,前端框架这一块其实需求是相对来说比较大的,你看GitHub上面Star排名第一的是什么,是Bootstrap。Bootstrap有7万多个Star,排名第二的是Node,Node是3万个Star,第一名比第二名强这么多,就说明前端框架的需求本身就是非常强烈的。第二,我们有专职的团队在做这个,我们会很频繁地更新,也是给使用者很强的信心,这个事情不是我们做了就算了,随便丢出去一个看看大家怎么样,然后自生自灭,不是这样的,我们把它作为一个严肃的公司产品。

   

8. 我之前听说,很多国内的公司对开源的态度是,开源不是一种态度,而是有没有这个能力,开源后要把项目继续维持下去。

陈本峰:对,这是第二个。第三,我们用一种比较成熟的,借鉴国外的开源项目来运作的。我们会让用户更多地参与到整个项目中来,即使他们不写代码,但至少他们知道这个产品下一个版本要发布什么,下一个版本我们会修复哪些问题。我们一开始就提出来了,然后我们在下个版本规划时,我们也会让用户参与。有什么建议你可以现在提,我们可以全部写在项目规划里面去,这是一种真正开源的运作方式。

   

9. 你觉得公司应该怎么样培养员工的这种开源文化和开源意识?

陈本峰:我觉得我们公司是一个工程师文化的公司,大家比较重技术。我觉得对于工程师来说,还是比较喜欢开源的。技术人之间交流,即使语言交流不通,你讲英文,我讲中文,但是代码是一样的,这个东西能够沟通。所以我认为开源其实就是程序员与程序员之间沟通的一种方式,因为我们公司是一种工程师文化,所以开源比较符合我们整个企业的价值观和文化。

   

10. 这种开源文化对公司有什么积极的影响吗?

陈本峰:我觉得这种文化对公司的影响是,大家会更加热爱钻研新的技术。我们要通过Amaze UI去引导最新的一些开发的技术,我们做的不是去兼容什么IE6、IE7这些老版本的浏览器,而是说我们尽量想让更先进的技术应用到网页开发里面来,所以我们在3.0的规划里面,我们提出了要用React。React是一个非常新的东西,但是其实从去年开始,我们就已经开始规划要用React了,在React大红大紫之前我们其实就已经想到了用React。在去年4月份的时候,在杭州的一个JS大会上,我也提出来,我认为未来网页开发的趋势,前端开发趋势是组件式开发,其实React是对组件式开发一个非常好的技术实现,所以我们一直在探寻哪一种技术最适合组件式开发这种理念,而React在我们看来是对组件式开发包装得非常好的一套框架,所以我们大胆地采用了React。

   

11. 最后一个问题,您在微软总部从事了很长时间的IE浏览器开发。现在中国W3C有一个兴趣小组,他们在起草一些跟Web出版有关的规范文档,这个事情你有没有参与或者有没有了解?你怎么看这个问题?

陈本峰:这个事情其实我一直是在关注的。关于W3C这一块,我其实参与W3C是非常早了,十年前我就在W3C里面,当时在香港W3C,当时内地还没有W3C,其实内地的W3C是从香港的W3C转移过来的,把那个W3C办公室就搬到了北航这边,这个过程我是全程参与的。我当时就在香港的W3C,帮助他们从香港搬到北航。这就不得不说下我的导师,他是W3C香港的主席,W3C有另外一个组织叫iW3C,属于一个专门举办各种W3C学术会议的组织,我的导师是这个组织的主席,所以国际上所有关于W3C的会议、学术讨论都是他来主持的,他是个台湾人,他这么深入去参与W3C的活动是因为他觉得在互联网标准这一块,需要有华人的参与,要不然老外制定的这些标准最后都没有考虑到中国的需求。他举了一个例子,比如说中文的排版,台湾和香港是有那种竖排的,从上往下排、从右到左这种竖排,但是今天来看网页其实是不支持的,那就是因为中国人没有在早期参与互联网标准的制定,所以他一直坚守这个理念,我们中国人一定要非常深度地参与到W3C的标准制定里面,这是他一直教导我的。所以我后来一直都是做这块东西,浏览器,包括做浏览器过程中也参与W3C标准的制定。像现在中国的互联网,以前我们只是被动地去接受国外的这些标准,因为以前中国的互联网还不够那么发达。今天你看像BAT、小米在国际上已经开始有影响力了,在商业上有影响力的同时,我们肯定要开始追求在标准上面有影响力。如今,如果你再参加W3C的一些国际研讨会,你会发现越来越多的中国公司,像BAT、360、小米、华为这些公司都会参与到这个标准的制定里面,我觉得这是个好事。这需要一个过程,因为毕竟这些标准的讨论全部都是英文的,大量的英文文档,对于国人来说还是有一定困难的,而且都是非常技术化的东西。但我也在这个过程中看到情况在慢慢改变,以前是完全不参与,现在至少开始在听了,也开始会有一些简单的反馈,但我相信未来也许就会有更多的主导性的工作在做了。

   

12. 您认为这种主导将会是公司行为吗?比如说微软本身就是一个跨国企业,它在对我们东亚语言,尤其是中文这方面做了很多工作。您现在做的Amaze UI也是Web版的,也要面对这个问题,您觉得这是我们国内公司去追求的,还是以其他的方式来推进这个标准的制定呢?

陈本峰:这个还是要看公司的阶段,我们现在是一个创业公司,所以我们现在所处的阶段就是把HTML5的标准变成一个实用的工具,提供给大家。但是随着工具的影响力越来越大,我们肯定是希望更多参与到这个标准里面去。像今天中国参与W3C标准制定比较活跃的一个就是华为,华为在WebRTC这块参与很多,就是通过Web的形式来做视频、语音通话,现在是不支持了,以后估计直接在浏览器里面实现。Mozilla和Chrome已经实现了。像这个标准,我看华为就参与得比较深,因为华为有交换机,它有服务器这块的产品,交换机支持什么样的协议,就能让你制定一些标准,我相信未来会有越来越多这种例子出现。

你可能感兴趣的:(陈本峰:用开放的心态做事情)