一、开源不只是研发中的选型和开发
高德纳公司(Gartner)及Linux基金会的调查 告显示,企业平均有29%的软件代码来自开源,在互联 背景下,开源软件比例高达80%。产品中大规模嵌入开源代码,会产生一系列研发管理问题:
1. 版权许可证 (license)选择不慎会潜伏知识产权法务风险,成为企业拓展海外市场的绊脚石。
2. 不同团队选择多种同类开源软件会带来巨大的管理成本。
3. 产品研发初期,如何在众多类似的开源组件中选择合适的代码?方向选择错误会导致陷入产品生态与业界不兼容的困境,面临放弃重写还是继续往下走的两难抉择。
4. 产品开发时难免会对代码进行修改,修改后的商用代码是闭源还是开源?随着时间的推移, 区版本更新迭代,继续闭源,意味着会重复投入资源,进行不增值的代码合入;而开源则意味丧失产品竞争力。
5. 主动开源并不意味着 区就能接纳,需要长期有大量的回馈代码才能建立信誉及影响力,公司内的 区管理人员才能得到锻炼和培养。但是, 区管理人员个人知名度的提升会增加被猎头公司走”的风险。
6. 软件在开发过程中或完成之后,如果出现同类开源软件,该如何处理?
开源软件不能被简单地认为只涉及产品研发过程中的选型和开发。华为开源管理经历5年时间,从企业视角看,开源软件还涉及产品外销时的知识产权法务风险、企业的研发效率、产品架构、软件生态系统、开放标准构建手段、人才竞备、商业利益角逐等。华为公司每月向各大开源 区回馈约1500个补丁,仅次于红帽(RedHat)、英特尔和IBM, 区活跃程度大致与谷歌、三星、甲骨文、微软等公司相当。
华为公司在这五年期间大概经历了三个阶段:
第一阶段,最初把开源看作是一个外购件。
第二阶段,把开源看作外部协作的一种方式,
研究如何与 区的技术人员、 区本身以及其他公司协作。
二、开源的行业趋势
从容器技术开始,开源不再是商用软件的简单模仿,而是开始引领行业发展方向。开源看似在推动软件世界的发展,其实不然。从商业角度看,开源只是商用软件的模仿,例如从最早的Linux(模仿各类商用Unix)、Eclipse(模仿Ⅴisual Studio)、Apache Hadoop(模仿谷歌三篇经典论文成果),到这几年耳熟能详的:Xen/KVM(模仿VMWare)、OpenStack(模仿Amazon AWS)等。从容器技术开始,没有任何一家公司有最前沿的技术,也没有公司率先在容器技术上赚到钱,所有公司都在一个起跑线上。在容器技术兴起的2014年,才可以说开源技术牵引着整个行业发展方向。
开源软件代表了一种新的技术产生方式。顶尖的高校研究成果很多都是以开源形式发布的,顶尖公司(如谷歌)的技术架构中,每套系统基本都有其对应的开源项目。
1. 开源 区的运作越来越职业化。自由参与和自组织时代已经过去,近年来,开源逐步过渡到公司化运作模式。Linux基金会下的很多项目,比如核心基础架构联盟(Core Infrastructure Initiative,CII),都是各公司出钱,把钱放在一起经营,更像是一个合资公司;OpenStack等基金会有明确的章程、组织结构、晋升机制、会议制度等。开源 区的运作越来越职业化。
2. 开源成为另一种标准制定方式。电信领域存在设备对接,因而有着非常严格的规范和行业标准。同样,IT领域行业差异性大,各公司通过代码发言,在 区用代码的方式完成与其他厂商的对接和配合。从云计算OpenStack的接口定义等 区实践来看,开源已成为另一种标准制定方式,标准组织开源化已成趋势。
3. 开源重新定义了集成和被集成的关系。过去,IBM、惠普等大厂商都有各自的生态合作伙伴规程,策略都围绕本公司集成的。从云计算开始,这种方式发生了微妙的变化,开源扮演着集成的身份,各厂商(比如存储、 络、防火墙等厂商)都到开源平台上进行集成和对接。
三、华为的实战经验
1. 使用开源软件的风险
2. 选择回馈开源 区是划算的
第二个阶段是 区回馈。企业都以追逐利益为目标,代码是企业的核心资产,很多企业不理解为什么要回馈 区服务大众?当然大家可以剥开公益的面纱,从利益角度算一笔账。最初并不认为使用开源软件有什么成本,但经过两三个版本的迭代以后,成本会急剧上升。华为经历了多次实践后才认可这种模型,这是付出了惨痛代价以后才意识到的。如果从一开始就选择与 区合作,就可以与 区一起讨论产品的特性,然后再进行修改。最初的维护成本并不高,研发的成本会很高,但由于所要求的团队能力并不一样,维护成本会逐渐降低。最近,华为刚拿到Spark商业认证。华为在Spark 区开发的时候非常顺畅, 区下一步准备做什么、怎么做,华为都清楚,与 区有很好的互动沟通。虽然华为在前期投入了很大的成本,但最终取得了相应的成果。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!