网易云信项望烽:开源最初都是被动的

开源不只是开源代码,还包括长期的维护开源项目的过程。开源的核心和精髓是什么?能否引用延伸至其他领域?国内开源技术发展现状如何?面临哪些挑战?本文来自开源中国【开源访谈】和网易云信移动端技术专家项望烽的访谈记录。

访谈实录

Q:能否先介绍您自己和您的职业经历?
大家好,我叫项望烽,2009年毕业后进入网易,前期主要负责 pc 端的一些工作,11年以后负责移动端 IOS 开发。主要是负责网易泡泡、易信、云信等 IM 产品及 SDK 的开发。

Q:您所理解的“开源精神”是怎样的?
我所理解的开源精神:一是分享,二是共同进步。
我个人开源的初衷非常简单,就是觉得有趣。我将自己的 idea 做出来后开源和大家分享,然后收到一些反馈。大家(包括我)都可以从中学到知识。

Q:您开源过的项目有哪些?为什么想要开源呢?现在还有维护和更新吗?
刚进入职业生涯时有很多不懂的地方,为了多学习多实践,开源过一些小项目去验证一些观点。
其实一开始开源也是被动的,写了这么多的代码,需要有一个托管的平台来存放。那时候做的比较多的只是开放了源代码代码。由于工作与时间的缘故,很多项目现在基本没有维护了。
2011年负责移动端iOS 开发后,随着经验的积累,有了更多的想法,想做更多更好的产品出来。一有 idea 时,会先上网搜集资料是否有类似的产品可供参考,很多时候都没有找到。这时就想自己造一个出来。造出来发现功能、性能都不错,于是开源出来和大家一起分享,大家就不用再重复造轮子。  
移动端 iOS 方面的话,开源了一些组建,比如符富文本的组件,目前都还有在维护。

Q:在参与开源工作的过程中有什么心得可以分享的吗?
一是坚持。坚持不懈地维护开源项目。有一些项目开源后很流行,关注度和使用度很高。但由于一些原因,不再维护了,这个项目就直接沉寂了。
打个比方,IOS 开发方面很有名的开源 http 类库—— ASIHTTPRequest。这是 IOS 开发者除苹果自带的项目外必用的一款框架。但,作者很快就停止了对这个项目的维护更新,不再支持后续高版本的 IOS ,这就导致之前使用了这个类库的开发者只能将它舍弃掉,重新用别的来替换。
所以说,一个开源项目,特别是热门的开源项目,无法长期坚持维护更新,造成的伤害和影响都是比较大的。
二是要有敢于开源与接受批评的勇气,也即是说脸皮要厚。很多开发者的能力其实很强,可能是不够自信,总觉得自己的水平与国外的开发者差距很大,不敢开源自己的项目。但其实,很多很好的想法和项目是值得开源的。
举个励志的例子,在 IOS 开源社区里面,有个中国开发者写了一个项目。在很多大牛眼中,他的水平就相当于刚毕业的或者是初学者,根本不值一提。但这位开发者坚持做这个项目,不断迭代、优化。现在他的项目关注度和使用度很高。
一个不完美甚至很糟糕的项目,通过作者坚持的迭代、优化逐步趋于完善,服务于更多的开发者。我想这也是开源的初衷所在吧。

Q:现在还有再做一些关于开源方面的事情吗?
前段时间开源了 云信 SDK 的UI 组件源代码,但不算完全的开源。现在把文档、流程都更新上去了,算是真正开源了。然后发现关注的人还挺多的。
至于自己的一些开源项目,相对比较稳定,没怎么维护了。也有在做一些感兴趣的项目,进度相对较慢。

Q:在您的观察中,国内外的开源社区有何异同?
开源是没有国界的。尤其现在国内不少开发者能力越来越强,代码、文档都写的特别好,完全和国际接轨了。如果要说差异的话,我觉得国内开发者对于开源的理解还不够透彻。大部分开发者认为开源就是将源代码开放,后续做一些维护即可,往往忘了开源项目中很重要的一个东西——文档。文档不完善或者完全丢失,开源后很多人也不知道如何用这个项目。因此,要想把一个开源项目做好,完整的文档和后续的维护都是必不可少的。

Q:您认为目前国内开源技术发展现状如何?面临哪些挑战?
我感觉国内很多做开源要么是利益驱动,将一些项目开源,以方便客户更好的使用项目。要么是KPI 驱动,不少企业会在公司内部建立任务,要求分享和开源。这样,开源的本质就变味了,一旦失去利益或者 KPI 的驱动,那些开源的项目就会停止,不再维护,长远来说,对于有需要的用户而言伤害挺大的。
开源的精髓是分享,发自内心想要去做这些事情。就目前这种由外部驱动力迫使的项目开源生命周期不长。我觉得解决这个问题的关键在于解决开源驱动力的来源。
但是个人项目的问题在于,由于各种外在原因,个人项目不太稳定。比如 nodejs 社区的 Express.js 这个第三方库基本算是 nodejs 的标准库了,但是随着作者的工作和兴趣的原因,他开始转向了 Go 语言,也就不再继续维护这个第三方库了。所以我觉得,如果有一个自发的组织性的机构或团体来做这些事情会比较好。

Q:开源的核心与精髓能否引用延伸至其他领域?
刚刚说到,开源的精髓是分享。关于分享,目前很多领域都有这种形式存在,和开源的精髓是相关联的。比如滴滴、uber等,可以说开源的一个延续。每个人贡献一些,加上一些微创新,就有了一种新的模式,就会变得越来越好。

Q:近期您有没有接触新的开源技术?有哪些新技术或者新项目可以推荐给大家的?
主要接触的是iOS 方面的。iOS 已经过了最火爆的阶段,目前趋于稳定。也还有人有新的 idea,会去做一些产品出来。
在这里推荐一款 iOS 的开源项目给大家。是国内开发者开源的YYKit 。它是一个非常庞大,功能特别丰富的iOS 组件。对于刚入门的 iOS 开发者提高能力有很大的帮助。它的 UI 组件库非常完善,很多知识点,难点问题用极其优雅的方式解决,是非常值得学习的。

网易云信∣真正稳定的IM云服务

http://netease.im  长按识别,关注精彩

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值