搜索:   
现在的位置:首页 > 经典案例

在“开源统治世界”的当下谈企业开源战略与实操(附PPT

来源:本站 作者: 发布时间:2018-10-06 01:51:39 人气: [ ] 查看评论

  本文根据王兴宇老师在〖Gdevops 2017全球敏捷运维峰会广州站〗现场演讲内容整理而成。

  王兴宇,Linux中国开源社区(联合创始人,从事互联网行业二十年,专注于开源工作十余年。

  大家好,我是Linux中国开源社区的王兴宇,以往都是做客Gdevops峰会的主持,今天稍稍不同,将作为演讲者为大家带来关于企业开源战略方向的一些分享。这也是我十几年来第一次以演讲者的身份登上舞台讲台做正式分享,希望大家有所收获。

  从目前的形势来看,互联网和软件行业都在逐渐被开源渗透,企业越来越重视开源,甚至还出现了“开源已统治世界”的说法。那么,今天就来聊聊企业该怎样对待开源,迎接开源的浪潮。

  如果想了解开源、应用开源,首先需要追本溯源,了解开源的历史。倘若你不了解开源的背景和发生的过程,将会在应用开源中做得不够好或是遇到一些错误,这在我们的企业事件中已屡见不鲜。

  开源,是与互联网及软件基本上同时诞生的一个文化现象及技术。在上世纪1970年Unix和互联网诞生了之后,开源文化、开源现象也几乎在同时期出现。而后随着商业专属软件的兴起,开源软件也得到了不断的发展,甚至于本世纪初取得了比较大的影响力。

  比如2001年这部名叫《操作系统革命》的纪录片,讲述的就是当时已经形成垄断地位的专属软件如Windows、商业版本的Unix是如何在开源版的Linux 等软件的压力下接连崩溃的一个采访。

  软件是随着计算机的诞生而出现的承载于硬件之上的逻辑。硬件从最初的晶体管演变成现在的二级管、集成电路,变得越来越庞大,处理速度越来越快。但软件的本质一直没有变,始终是硬件之上承载的逻辑。

  由于历史原因,最初的软件是自由的、免费的、开源的。这里并不是说以前的人们的思想情操比现在的人更高或是有理想,而是因为当时的软件是与硬件紧紧依附在一起的,所以相对于硬件,软件其实是属于浮生的一种逻辑。

  举个典型的例子。在软件诞生之初,1969年的AT&T实验室的研究人员利用当时一些用不上的、比较老旧的计算机开发出了Unix系统。这个系统最初是作为内部的试验型项目和个人项目来做,可以自由拷贝。

  然而,在那之后,AT&T因为垄断被美国政府裁决,必须一分为七,并被限制十年内不得再涉足计算机行业,这就导致了Unix开发出来后不能进行销售,于是Unix就被贡献出来,变成了可以自由拷贝和使用的系统,形成了一个免费的开端。

  而早期古典黑客,并不是指我们现在理解的攻击和破坏系统的人,他们是以炫技术、深入研究的某一群体,比如说当时Unix的创始人、C语言的创始人,他们所开发的很多软件是可以自由传播的。

  比如,当时有些人发现他的打印机不好用,想要一份打印机的驱动修改版本,别人说手头有,就随手给出去了,并不需要支付任何费用、早期的文化就是这样,是可以自由传播的。

  随着计算机的普及和专有软件的逐步兴起,软件和硬件的发展也逐渐出现分工。比如像当时的IBM,在生产个人计算机的时候会专门找到微软来开发操作系统,形成专有软件模式,并且以微软这种发扬光大的商业专有软件销售模式,主导了几十年的专有软件经济模式。

  上图是微软的Windows Version 3.11版本,这是当年第一个具有联网功能的经典个人操作系统。当然,除了微软以外,像Oracle、Informix、IBM等公司也是软件方面的巨头,他们共同代表了那个时代的专有软件发展巅峰。

  但在以RMS(Richard Matthew Stallman)、ESR为首的古典黑客群体看来,软件就是免费的、自由的,他们倡导软件应该回归计算机诞生之初的理想世界。

  在1984年,AT&T被取消了计算机业务的禁令(即商业化UNIX)的同一年,RMS决定要把UNIX商业化,所以发起了自由软件运动(Free software),先后推动了GNU运动及FSF(自由软件基金会),这是一个划时代的运动。

  随后,Linus Torvalds在1991年上大学时开发了Linux 内核,补上了GNU操作系统的最后一块也是最重要的拼图。

  1998年的开源界除了RMS,还有其他一些人,比如ESR、Linus,他们在开源上的理念和RMS的不太一样,认为RMS在开源软件方面的追求过于理想化,不利于推广和接受,所以他们决定推广开源软件(Open Source)这个理念。

  这是当时1998年举办的第一届开源峰会的与会人员,里面有很多熟悉的面孔,像我们平时都会买的OReilly的书,里面就有它的创始人奥莱利,正中间是Linus,还有其他人,却唯独没有邀请RMS,可见这里他们就已形成了理念分歧。

  互联网实际就是在一定程度上基于开源软件建立起来的,早期的互联网是基于Unix的,后期的很多互联网基础服务也基于Unix诞生出了很多服务,比如DNS服务,它最初是由伯克利大学开发的bind,以及 Apache Web服务器、邮件服务器等等,这些都是基于开源软件的模式制作出来的。

  因此,随着互联网的发展,开源软件自然也蔓延到了很多方面,取得了不错的发展。

  第三,随着计算机教育的普及,以及越来越多人对开源软件模式的探索/开发,开源软件已经形成了一种新的软件和互联网发展模式,甚至成为主流。

  昔日的寇仇要么转换阵营,要么就迈入消亡,微软便是其中最典型的案例。鲍尔默在比尔盖茨后接手微软管理,曾有一个著名的观点——“开源是癌症”,成了最典型的反开源势力。而新的总裁萨提亚上台之后,却来了个180度的大转变,将微软变成了Microsoft Love Linux。

  事实上这并不仅仅是萨提亚以一人之力扭转过来的,是因为当时微软内部已经逐渐有了开源的思潮和转换,而萨提亚恰逢其时起到了决定性的作用。

  提及开源软件,很多人觉得直接拿过来用就好了,哪里会存在什么问题。但这里面还是有很多讲究的,我今天就给大家介绍开源软件的正确打开方式。

  开源软件推进联盟(OSI)对开源软件有完整的定义,它必须符合10条标准,其中最重要的是前三条标准:

  举个例子来说明:当拿到开源软件后,你可以将其随意赠送给他人或做其他处理,这是自由分发;若你拿到的开源软件是二进制的,一定不需要任何成本便能很容易地得到它的原件版,这也是开源这个词的来源;此外,你可以在源代码上做修改并把它进一步分发出去,这便是衍生,这个权利相当重要,是现在开源软件迅速发展起来的一个重要因素。

  自由软件的概念出现得很早,它是有着概念上更严格、范围更紧密的定义的软件。这个定义很有RMS风格,也是我们常说的自由软件的四大自由:

  (1)自由度0:无论用户处于何种目的,必须可以按照用户意愿,自由地运行该软件。

  (2)自由度1:用户可以自由地学习并修改该软件,以此来帮助用户完成自己的计算。作为前提,用户必须可以访问到该软件的源代码。

  (3)自由度2:用户可以自由地分发该软件的拷贝,这一规定与早期Unix的分发制度颇为类似。

  开源软件与自由软件有所不同,但又紧密联系。开源软件是一种更普通、更通俗的说法,而自由软件则是开源软件的一部分。

  这主要是为了避免出现像RMS那些过于追求理想和纯净的理念,这里我们不去评价RMS的追求正确与否,从现实角度而言,开源软件显然是更容易被人接受的。

  而在有些场景下,我们会选择更中立的说法:FOSS或FLOSS,将它们统一称为自由软件或开源软件。其中,F即FREE,L是Liberty,也是自由的意思。因为FREE本身在英文中有两个含义:免费or自由,不便于区分,所以有些场合会用Liberty来进行表示。

  这是不言自明的,开源(Open Source)的本质是将构建、衍生、使用、分发的权利进行公开。事实上,这里面的开放(Open)不仅仅指开源软件,像大家经常听到的开源硬件、开源文档、开放组织,这些广泛地用于软件之外的概念,也是属于OPEN的范畴。

  提及开源软件必然绕不开的一点就是开源许可证。它不仅仅是对开源软件的一种限制,而且是维持开源软件自身生存的根本,是开源生态自治的基础。

  开源软件并不等同于公共领域软件。所谓公共领域软件,就是它是完全放弃任何权利的,可以任意修改,比如公共领域的文章、文档、软件。

  但开源软件有严格的限制,需要遵循80多种的软件定义许可证要求。正是因为这些限制,开源生态才有生生不息的发展。

  (1)宽松许可证:随便使用,即便是改换许可证、闭源均可。典型的有BSD/MIT/Apache许可证,以及伯克利的2G/3G版许可证。一般来说,他们会要求你保留原始的许可证。

  (2)左版许可证:这是中文的翻译,英文里叫CopyLeft,是RMS相对于版权(Copyright)的英文造出来的。这类许可证相对严格,即无论你是否修改,都必须与原许可证保持一致,这也意味着不能改换许可证、必须开源。

  GPL:其中最著名就是GPL许可证,它最初叫GNU许可证,现在被称作GNU通用许可证。它本身带有GPL感染的特性,即用户使用GPL软件并将其入其它软件,成为软件系统的一部分,那么整个软件系统将被其感染。关于GPL的感染与规避,有很多方式,限于篇幅原因这里不展开。

  LGPL:还有一种情况,就是感染不会扩散到该库之外。这是因为我们往往把一个软件嵌入到另一个软件中,是通过类库的方式做,这种情况下GPL感染显然会有很大的麻烦,会导致类库没有人去用。

  在这个过程中,开源软件并非仅仅只带来收益,也会存在一些“打开不当”的风险:

  我们只有以“正确打开”的方式来使用开源软件,才能真正受益于它,而不是在拥抱开源的时候遇到风险和困难。

  内在的动力和利益捆绑。没有切实的企业利益相关,必然处于可有可无、虎头虎尾的状况。

  回报难以衡量,需与战略捆绑。没有自上向下、切实理解、长期支持的前提,难以持久

  我自己在主持运营 Linux开源社区时曾遇到一些公司向我征求做开源的方法,接下来我抛砖引玉,从企业的视角出发,与大家分享企业在开源上的实践操作。

  此外,要把开源作为一种战略,而非战术。因为开源是一件恒久的事情,不是仅靠技术部门就能自主实现,它需要得到公司领导层的支持和耐心,得到各个部门的支持和参与,才能一直执行下去。

  如果想真正把开源当成一回重要的工作来完成,就需要落实人员部门,让专职人员或专职部门来计划或协调工作。

  根据公司的规模和阶段,可以分设不同的职位和部门,选择兼职或专职的人员,如下:

  开源委员会:更大层面的负责开源事务的协调,包括技术、人力、法律、公关和行政。

  开源不仅仅是代码公开,需要若干步骤和环节。审慎的公司应先从内部开源实践起来。若公司规模比较大,也不妨从内部开源做起,这不仅有利于打通公司内部的割裂与流程,等内部开始做起来后,再往外走。

  未必需要建立独立社区,在GitHub、GitLab等国际化社区建立阵地更好,用好它们所提供的工具和功能。

  奖励贡献者,包括精神和物质(开源并不代表免费,它是一种精神或经济模式,需要被给予奖励)

  参与相关会议,宣讲和赞助会议,由布道师或开源官等人去把开源项目线.形成开发平台和开源生态

评论】【加入收藏夹】【打印】【关闭】【进入论坛讨论】【回顶部

评分: 1分 2分 3分 4分 5分 平均得分: 分,有 人参与评分.
发表评论:(可直接用论坛账号评论) 共有条评论 查看全部评论

查看全部评论

相关导读

    无相关信息

最新资讯

热点资讯

推荐资讯

最新教程

关于我们| 客户案例| 服务项目| VIP服务| 联系我们| 客户服务| 免责声明|
Powered by 太阳城娱乐 Code © 2016-2017 www.g22.com