Skip to main content

Open Source 103:开源与云的商业碰撞

最近开源界还发生了一系列有代表性的事件,三个重量级的开源软件社区先后修改了开源许可证来应对公有云厂商的不当竞争,这三个开源软件社区背后的主导企业和核心产品分别是:
◈ Redis Labs(Redis。一个开源的键值对 NoSQL 数据库)
◈ MongoDB(MongoDB,一个开源的分布式文档 NoSQL 数据库)
◈ Confluent(Apache Kafka。一个开源的分布式流/消息系统)
开源软件与公有云的商业碰撞正式拉开帷幕
开源社区被激怒的原因在于公有云厂商实际上是在利用开源社区的成果在变现,但对开源社区却没有回馈贡献,这有悖于开源精神。几乎所有主流的公有云厂商都被点名,Amazon/Microsoft/Alibaba/Google,其中,对 AWS 的吐槽最多,原话是 “the worst behavior” 。随着云计算的渗透,公有云厂商将有机会把握住企业客户使用软件产品的『流量入口』,对于公有云厂商而言,他们很自然的选择就是上线更多的软件产品 SKU 来提升客户粘性、做高客单价、提高变现能力,于是最快的方式就是向开源社区直接『伸手』,将开源版软件封装成服务提供给客户,同时为了保证自己的产品竞争优势选择不把对开源项目的改进回馈到开源社区。所以开源社区对公有云厂商说,你必须把基于开源项目的改进也开源代码回馈社区,否则你就别『窃取』开源社区的成果。
开源面临的真正挑战来自于云计算正在改变的商业格局
公有云计算重新定义了软件产品的分发模式,新的模式改变了软件产品的售卖方式、提升了产品分发的集中程度,实际上是重写了商业规则。对于开源软件而言,这场冲突几乎是必然的。其实,基于开源做闭源商业的模式在过去也是常见的,符合那类『宽松』的开源许可定义,是开源的重要部分,Hadoop 生态的繁荣就是一个例子。真正让开源软件厂商产生威胁感的原因是,公有云在重新定义软件市场的格局,相比传统的软件产品分发模式,公有云正在把市场变得非常集中,集中性主要体现在:
◈ 公有云厂商有机会向客户集中供应大部分品类的软件产品。公有云对传统软件分发模式的冲击就好比沃尔玛大卖场对杂货店的冲击;
◈ 过去软件产品以一次性售卖搭配服务的方式为主,在云计算的架构下,越来越多的软件产品有机会按 SaaS /订阅服务的方式持续售卖产品,这种持续性也加剧了集中性。从客户粘性的角度来看,公有云对传统软件分发模式的冲击有点类似于Costco 的会员制对沃尔玛的冲击;
◈ 由于做好公有云需要巨大的资源投入,难度非常之大,也使得竞争壁垒非常之高,天然的规模效应将巩固领先者的市场地位,最后在市场上剩下的少数公有云厂商将有机会收割大部分市场,赢家形成垄断,对客户和合作伙伴形成很强的议价能力。这个角度下,公有云对传统软件分发模式的冲击就好比 Amazon 对所有线下零售行业的冲击。
云计算正在一步一步吃掉企业软件,现在轮到了基础软件
我们可以把企业软件市场简单的分为『应用软件』和『基础软件』两个类别,这是一个全球每年大概 4000 亿美元级别的市场。云计算这种新的『信息架构』的普及产生了 SaaS /订阅付费模式,这也是一种新的产品分发模式。这首先在『应用软件』领域发生,因为应用软件基本上是在做单品类,例如 Salesforce 围绕 CRM 做透,Workday 围绕 HCM 做透,是很聚焦的,所以有机会首先被『公有云化』。『基础软件』的复杂度高、品类繁多、与底层硬件之间也存在更多的依赖,在以 AWS 为代表的公有云解决了『计算、存储、网络』等硬件资源的集中供给后,硬件之上的基础软件『公有云化』的条件已经成熟。
『基础软件』的本质也是软件,将不可避免的走产品服务化的 SaaS 路线,因为这是最合理的方式,对于需求侧而言可以享受到更经济灵活的价格,pay as you go,对于供给侧而言可以有机会吃下更多的市场。此外,硬件在变得越来越标准化,通过软件来控制硬件也是一种更高效灵活的方式,所以我们看到了各种 SDX/Software defined-X 在兴起。同时,数据的爆发催生了大量的基础软件『新品类』,包括各种类型的数据库软件、数据处理中间件。在同样的时间窗口下,『应用软件』则没有这种『物种大爆发』的红利,因为无论是从应用软件所作用的行业来看(例如金融行业、电信行业、制造行业等等)还是从应用软件所起到的职能作用来看(例如销售、市场营销、人力资源等等),在『应用软件』这个层面,商业场景和问题域的定义是相对清晰和确定的,我们比较难在短时间内去创造一个新的行业或者是一种新的职能,更多时候是一个循序渐进的渗透过程,如果有的话,过去几年消费互联网的发展催生了『用户增长官』和『数据科学家』这样的职能,服务于这两种职能的应用软件品类相应的也成为了最近几年创业投资的小风口。
开源软件基本集中在『基础软件』领域活跃(我们在『Open Source 102:开源的商业竞争优势[1]』中解释过这个现象),云计算对软件带来的商业冲击已经渗透到了『基础软件』,这也是为什么是『基础软件』领域的三家开源社区(Redis/MongoDB/Confluent)首先跳起来反击的原因。
开源许可证:制定开源商业规则的公约
开源社区对其开源许可证的修改本质上是在通过增强开源精神来应对公有云厂商的竞争。正如『开源』二字的字面含义,开源旨在通过版权所有者对其源代码的开放来放弃版权从而造福世界,这一思想与版权针锋相对,因此也被称为左版。开源许可证则约定了创造者(版权所有者)给予使用者怎样的『版权再分配』权力。市面上有上百种不同的开源许可证变种,按照左版思想纯粹程度的递进顺序,下面是三种最有代表性的类型:
◈ 非版权:Apache License 2.0 是最宽松的许可证代表,是一种对商业应用非常友好的许可证,由 Apache 软件基金会提出。它允许使用者修改和重新发布代码,并且不要求对重新发布的代码也开源,也就是说,它允许闭源商业发布和销售,任何一家企业都可以把基于 Apache 许可证 2.0 的开源项目拿来作修改,发布自己的商业版软件来获利。这成就了 Hadoop 生态中的一批企业,包括已上市的 Cloudera 和 Hortonworks。
◈ 左版:GPL 是最流行的这类许可证之一,代表了左版的正宗思想,由自由软件基金会提出。它求使用者一旦修改了代码则必须也要开源所修改的那部分代码,也就是说,它不允许闭源商业发布和销售,GPL 规定了一种病毒式传染特性,只要你的软件引用了 GPL 协议下的软件,那么你的软件也必须要使用 GPL 协议进行开源。
◈ 最左版:AGPL 是对 GPL 许可证的一个补充,是一种更加严格的左版许可证,由自由软件基金会提出。上述 GPL 约束生效的前提是使用者对软件进行了『发布』,但是随着 SaaS 模式的兴起,开源软件的使用者不需要做『发布』这个动作,他们可以通过互联网向客户直接提供服务而不受 GPL 的约束,这其实是 GPL 的一个漏洞。AGPL 对这个漏洞打了个补丁,要求那些使用开源软件提供在线服务的使用者也必须要开源。
我们看到开源社区开始纷纷将左版调到最高音量来应对过去所没有出现过的市场环境,从某种角度来讲,新的市场格局也体现了商业对开源精神赤裸裸的挑战,我们必将看到更多的开源社区采取行动,一方面狙击公有云的『不公平』竞争,一方面由开源社区背后主导开源项目的商业化企业提供自己的云服务,回归到产品力的竞争。

Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...