前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >围绕开源的系列思考之二——企业篇

围绕开源的系列思考之二——企业篇

作者头像
开源社
发布2019-08-29 18:19:38
3290
发布2019-08-29 18:19:38
举报
文章被收录于专栏:开源社开源社

(Author: TeroVesalainen / photo on pixabay)

| 作者:庄表伟

| 编辑:Corrie

破题

在写到第二篇的时候,我已经大概想明白自己打算写些什么了。或者说:我打算表达些什么了。这是一个关于成长(发展)的话题,对于个人而言,更偏向成长;对企业、国家而言,更偏向于发展。在一个成长(发展)的过程中,开源——更宽泛的说是开放性的方式——能够起到什么作用?

就像所有复杂的问题一样,开放性的方式也不是一个简单的、一试就灵的答案。并非只要投入开源就好了,更不是越开放越好。

因此,这三篇文章都会是一个“Yes, But”的结构,并且会在文章结论的部分,提出一个关联要素的模型,以便得出一个更有价值的思考框架。

希望能够对相关话题的讨论,有所帮助。

1

开源是如何驯化企业的?

对于大多数企业而言,一开始都是无法理解开源的,因此产生的不解、担忧、怀疑、鄙视,甚至敌视,都是非常正常的。但是,随着使用开源的企业越来越多,一家一家的企业,终于有一天会开始问自己一个问题:我们要不要也尝试一下开源呢?——真香!

当然,事情往往都不是一帆风顺的,尤其是那些较早采用开源的企业,多半都有掉进坑里的机会。但是,至少有两类企业,会坚定的使用开源。一类是非常小,甚至尚未赢利的初创企业。对于他们来说,成本是首要因素。另一类是高速成长,越来越大的企业,传统的商业软件,已经无法满足他们的需求了,他们只能自己动手,基于开源软件做修改,来满足自身的需求。

第三类使用开源,是那些找到了基于开源的商业模式的企业。随着开源软件的不断成熟,这样的商业模式越来越具有可行性,也就有越来越多的企业投身其中。

从使用,到修改后使用,甚至修改后赚钱,总之是有很多企业,在内部维护了某个开源软件的自己的私有版本。这时,有两种新的“烦恼”产生了。首先是License,企业们开始意识到,有些License是强制他们要在修改商用之后,将修改的代码开源的。为了避免法律风险,他们只能将代码回馈社区。

其次是开源的发展速度太快了,当开源社区又推出新的版本,企业自己的私有版本,该何去何从呢?留之无用,弃之可惜。企业面临一个艰难的选择,要不要将自己的私有版本,回馈社区?也许,尽可能减少与上游社区的差异,才是成本更低,收益更高的方案。

从怀疑到采用,从私下使用到回馈社区,企业们也必须更加深入的理解并认同开源社区的理念和文化,这就是企业被开源驯化的过程了。

2

企业里的员工发生了什么变化?

这里所说的企业,自然是开始接受开源的企业,这些企业看待员工的方式,首先会发生变化,然后是员工的构成成分,以及他们的能力结构,都将发生缓慢,但却不可逆转的变化。

首先是招人,那些从不使用开源技术的企业,只会使用自己研发的技术,自然也不会将掌握某种开源技术,写入他们的招聘条件之中,只能要求考察各种基本能力。反之,他们就会想要寻找各种熟手,甚至高手。以致到了现在,候选人可以仅凭自己的开源经历与社区贡献,就足以证明自己的能力。

其次是人员组成,越来越多的开源高手进入企业,并且胜任愉快,这就使得“外来的和尚会念经”成为可能。企业内部的技术栈,系统架构,甚至开发模式,也会逐渐的变得越来越开源。企业内部,从用开源、到学开源,再到懂开源。这样的人也会越来越多。

最后是一个顺理成章的变化,在就业市场上,懂开源成为一个巨大的优势,开发者在职业生涯中,积累开源方面的经验将不会被浪费。更进一步说:由于开源技术的普及,开发者的横向比较变得更加容易了。于是会有越来越多的开发者,乐于在工作中使用开源技术(甚至是尚不成熟的开源技术),还会有不少比例的开发者,不仅在工作中使用,也愿意投入自己的业余时间,成为开源社区的贡献者。

(Author: Geralt / photo on pixabay)

3

更懂开源的企业们在做什么?

对于员工们发生的变化,有些企业是比较担忧的。随着开源技术大行其道,开发者群体的能力和经验积累变得更加容易了。一方面企业更加容易招到符合自己需要的人才,另一方面,企业自己的人才也更容易跳槽了。当然,那些不太懂开源的企业只是关注自己失去的人才,而那些更懂开源的企业,则看到了更大的机会。

一个企业,为啥要把自己的内部项目开源出来呢?我们可以思考一个数学模型,某一个市场,原本的规模是100,其中一个企业的市场占有率是20%。当他开源了一个项目,这个市场将变得更大、更成熟,市场规模从100变成了200。由于参与者众多,企业的市场占有率从20%,变成了15%。但是,他的整体收益,依然上涨了50%。当然还有一些企业,通过开源,不仅做大了市场,更提升了自己的市场份额,那就更厉害了!

举例:谷歌的安卓系统,就是成功典范!

(Author: Mammela / photo on pixabay)

再看另一个数学模型:假设全世界的程序员,每年能投入开发活动的时间总数,几乎是一个常量。他们的主要工作时间,用来完成公司的工作。其他的时间,他们会利用业余时间,看看其他的新技术,开源项目,参与社区活动之类。所以,既然一家公司,不可能招募全世界的开发者为他打工,那么搞一些有趣的开源项目,吸引开发者业余时间来参与,就是一个不错的办法。这个策略,本质上是一种阳谋:通过各自的开放平台,开源项目,吸引开发者的业余时间。这是一种此消彼长的企业间竞争。

举例:现在所有的大企业,都在推自己的开放平台和开源项目,本质上就是在争夺开发者的业余时间。

除了扩大市场,吸引外部贡献,还有第三种收益:企业技术形象的提升。这种形象的提升,带来的不是“XXXX”增加,而是各项成本的下降。比如,在招聘一名新员工时,所需的成本更低,原本需要谈4周,现在人家二话不说,1周内入职。再比如,在推出一项新技术的时候,市场上会有自发的粉丝、代言人出现。甚至在产品的各种细节都不清楚的情况下,就能够赢得信任,有人慕名申请试用、试玩。再比如:同样推出一个新产品,A公司的产品就能够上头条,B公司的产品就无人问津。

举例:微软公司现在的一系列拥抱开源的动作,极大的提升(扭转)了企业的技术形象。

4

思考题

行文至此,就该出现“但是”了。既然开源这么好,那么为啥不是所有的企业都义无反顾的投身开源?为啥一家企业不会把自己的所有技术都开源?为啥那些完全开源的企业(比如RedHat)不是全世界最赚钱的公司?一定有一些更加深层次的原因,我们还没有分析出来!

最近我有一个猜想,也许能够解释一二:

*示例图片

并非所有的产品,都应该开源,我们可以区分三种情况:

  1. 什么样的产品,开源之后,有百利而无一害? 有两种产品,符合这样的设定。一种是:市场上尚未有类似的产品,完全创新,全靠摸索。另一种是:市场上已经有完全成熟的产品,并且占据主导地位。如果不以开源的方式进入,则毫无机会。 这两种情况,如果不开源,几乎不会有成功的可能。开源之后,放手一搏,也许还能起死回生。前者可以用Docker作为案例,而后者可以用FireFox作为案例。
  2. 什么样的产品,开源之后,边际收益递减? 当一个市场逐步走向成熟,存在多个比较类似,且各有所长的产品。这时开源的选择,就会非常艰难。开源能够吸引一定的贡献者,但是同时也会给竞争对手带来机会。甚至,几个竞争对手还是基于同一个开源项目,进行各自的二次开发。 这时,哪些组件、模板应该开源?哪些版本可以开源?开源时选择的License是哪种?都是相当困难的问题。这样的现象,可以用OpenStack作为例子。
  3. 什么样的产品,一旦开源,就会养虎遗患? 作为市场上真正的王者,他们的产品即使闭源也有众多的拥趸,但是一旦开源,却可能让竞争对手迅速发展壮大,这些产品就是企业的核心竞争力所在。一般而言,企业都不会把这种产品开源。 站在食物链的顶端,赚取最高的利润。这样的现象,可以用iOS系统作为例子。

5

在企业内部,需要多少开放性?

这个问题的缺省答案,并不是:越开放越好!

*示例图片

事实上,一个企业如果有明确的目标,无需探索、创新,他们也不必追求任何的开放性。因为一切都很简单,目标可能是另一家企业的最新产品,只要能够以最快的速度,实现最逼真的模仿效果,然后再把成本控制到足够低的水平,则是一个非常简单、却非常有效的商业模式。——山寨模式!

当一个企业走出模仿的阶段,已经找不到模仿的对象时,只能靠摸索,尝试、创新。这时:在内部管理中,逐步松绑,逐步放开限制,成为企业家必须认真考虑,小心前行的方向。

如上图所示,我们假设创新的边际收益,会随着开放性而递减。另一方面,管理的难度,则会越来越大。企业家需要找到一个临界点:在这个临界点上,最终收益才会是最大的。

当然,困难之处在于:上图的模型无法预先估算。所以只能摸着石头慢慢增加开放性,甚至放一放、再收一收。逐步找到最佳的开放度。

而更加困难的一点在于:随着企业的不断发展,这个临界点也会不断飘移。是的,并不是“不断右移”!这就更难上加难了!

6

企业与开源的关系

*示例图片

从历史上来看,最初的企业都是看不懂开源的。随着愿意尝试的企业越来越多,愿意了解甚至学习开源的企业越来越多。到了现在,企业“号称”拥抱开源,已经成了一种政治正确的选择。但是,在我看来,只有斤斤计较的企业,才有可能在开源的领域越陷越深。

对于企业来说,使用开源能够省钱,参与开源甚至主动开源还能赚钱,这才是他们愿意持续投入开源的核心动力。

个人可以坚持理想主义,但是企业首先应该活下去。只有那些斤斤计较,然后不断尝试,再不断地从开源获得回报的企业,才会是开源领域坚定的支持者。

那些高唱理想主义的企业,标榜不求回报,一心奉献的企业。要么无法持久,要么就赚个眼球而已。

*本文图片来源网络,如有侵权请联系删除!

作者简介 AUTHOR

庄表伟

  • 开源专家
  • 开源社理事、执行长
  • 目前是华为云高级产品经理
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源社 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档