当前位置: 首页 > 编程日记 > 正文

开源如何占领软件世界?

640?wx_fmt=jpeg


作者 | Mike Volpi@mavolpi

译者 | 风车云马

编辑 | 一一

出品 | AI科技大本营

 

5 年前,投资商对开源这种商业模式的可行性持有怀疑态度。他们普遍认为,红帽(redhat)公司犹如雪花飘零——在软件世界里开源公司不可能占据举足轻重的地位。


然而到今天,我们已经目睹了这个领域日益高涨的情绪:IBM 以 320 亿美元收购了红帽;Mulesoft 在上市后以 65 亿美元被收购;MongoDB 目前的市值超过 40 亿美元;Elastic 目前的估值为60 亿美元;还有 Cloudera 和 Hortonworks 公司合并,带来的市值将超过40亿美元。此外越来越多的 OSS 公司正在兴起一场深刻的变革:Confluent、HashiCorp、DataBricks、Kong、Cockroach Labs 等。


那么,曾经并不看好的开源软件为什么会成为热点?以下这些变化可能促进了开源业务及其在市场上的广泛应用。     


从开源到开源核心再到SaaS


最初的开源项目并不是真正意义上的商业,而是对封闭源码软件公司所获得的不公平利润的革命。当时微软、甲骨文、SAP 等公司为软件收取垄断式的“租金”。所以一些优秀的开发人员常常采用异步方式——多人协作完成庞大的软件。每个人不仅可以公开看到软件源码,还可以通过开放模型进行添加、修改和优化。


该软件最初是由开发人员开发的,主要为开发人员所使用,所以用户界面不怎么友好。但它具有高性能、健壮性和灵活性的特点,这些优点逐渐渗透到整个软件世界。十多年来,Linux 成为服务器上第二大最受欢迎的操作系统(仅次于 Windows);MySQL 也反映了这一壮举,它削弱了甲骨文的统治地位。


Redhat 在 Linux 和 MySQL 数据库的应用中胜出,虽然他们有一些明显的局限性——仅仅提供服务很难体现软件的商业价值,但是操作系统和数据库的市场规模如此之大,即使面临更多挑战,其商业模式仍具有发展空间。


Linux 和 MySQL 的成功采用为第二代开源公司奠定了基础——这一代的典型代表是 ecloudera 和 Hortonworks。他们的开源项目和业务与第一代完全不同。首先,该软件主要是在现有软件公司内部开发的(如 Hadoop 软件是在雅虎内部研发)。其次,该项目中只有部分软件是免费的,它们可以根据商业许可向客户收取使用部分软件的费用。因此,这些公司有能力获得更多收入,即使他们的产品在市场上没有操作系统和数据库那么有吸引力。


当然,第二代开源商业模式也有缺点。首先,没有一家公司在软件上拥有独特的“道德权威”——因此,竞争者通过免费提供越来越多的软件来竞争利润。其次,这些公司经常对软件进行自定义,从而使自己与众不同。但是云提供商能够使用开源软件创建相同软件的 SaaS 业务。

具有创业精神的开发人员,迎面挑战开源公司前两代人的商业模式。


首先,开源软件主要是在商业范围内开发的,超过 90% 的代码是由软件商业化公司的员工编写。其次,这些企业从一开始就以云服务的形式提供自己的软件。通过以 SaaS 形式提供这些产品,企业则将开源软件与商业软件“打包”在一起提供给用户,例如 Elastic、Mongo、Elastic Cloud、Confluent Cloud 和 MongoDB Atlas 公司都是采用这种与服务相融合的第 3 代商业模式。


640?wx_fmt=png

开源社区的作用


虽然第 3 代商业模式会更严格地由软件公司控制,但是开源社区仍然在开源项目的创建和开发中发挥着关键作用。首先,他们会不断发现最具创新性和相关性的软件,并且在 Github 上发布源码,以便于用户下载和试用,这样一大批人就可以从中获益。就像一篇好的博客文章被疯狂传播一样,社区是开源软件传播推广的源泉。


社区也最终成为这些项目的“产品经理”。它会指出软件的不足之处,并要求改进。当然这些请求不在产品需求文档中,而是发布在 Github、comments、Hacker News 平台上。如果开源项目积极响应社区,它将根据用户需要不断完善软件的特性和功能。


该社区还充当开源软件的 QA 部门。它将识别软件中的错误和缺陷,给公司反馈什么有效,什么无效。社区积极反馈并奖励那些优秀的软件,这鼓励了商业公司更广泛的使用。


但是社区不再像以前那样参与软件项目的实际编码,这与第一代和第二代业务相比有很大不同,但这也是商业模式不断发展的趋势之一。     


开发人员的作用


与此同时,开发人员对这些开源软件的重要性与日俱增。因为开源的真正客户是开发人员,他们经常查找软件,进行下载并将其集成到他们正在开发的项目原型版本中。一旦被开源软件“感染”,这些软件就会贯穿于整个工作周期中,从设计到原型,再到开发、集成和测试,最后到生产。从根本上说,软件从来不是“出售”的,它被那些更懂软件的开发人员欣赏,并灵活编译和复用,而不仅仅是执行它本身的操作。


开源业务模型的优点


开源软件的业务模型看起来与传统软件业务非常不同。首先,收入来源不同。一个封闭源代码的软件公司通常能够比一个开放源代码的公司收取更多费用。但是,尽管开源软件的成本较低,但它通过一定的使用规模来弥补整个市场成本。当东西便宜了,就会有更多的人买它。这就是为什么当开源产品达到市场配置的要求时,就会快速获得大规模普及和广泛应用。


开源公司的另一巨大优势是它们的效率更高,能“病毒式”地渗入市场。最明显的好处是,用户在付钱之前就已经是“客户”了。由于开源软件很大一部分归功于开发人员自己使用,因此软件公司相当于绕过了营销宣传环节和销售策略。这意味着销售周期要短得多,每位客户对销售工程师的需求要少得多,销售成本的回收期也要快得多。


但是这种“病毒式”传播使得开源软件业务在现金消耗率上比传统软件业务高得多。一些较好的开源公司能够在很长一段时间内保持三位数的业务增长率,同时保持适度现金消耗率,这在传统软件公司中是很难想象的。     


免费增值的开放源码


最后一个值得讨论的变化,是从真正的开源逐渐过渡到社区辅助的免费增值模式。如上所述,早期的开源项目利用社区作为软件主要贡献者,即便是对软件的进行部分商业性许可或者收费,也会受到社区的强烈抵制。现在,社区和客户逐步对开放源码业务了解越来越多,也渐渐接受这样一个事实,即开放源码公司应该拥有自己的“付费墙”,这样公司才能继续扩大和创新。


事实上,从客户的角度来看,开源软件的两个价值体现在阅读代码和把它当作免费增值这两大层面上。免费增值模式的概念是,除非是部署到生产环境或者达到某种规模部署,你基本上可以免费使用。如 Elastic 和 Cockroach Labs 这样的公司实际上已经开放了所有的软件源代码,只是对部分软件基础应用了商业许可。 


其实无论软件是开放还是封闭,真正的企业客户最终都将支付费用;而且一开始能阅读到开放源码,他们会更有动力使用该软件。实际上,开放也存在一定的风险,有人可能读取代码,稍微修改下,然后派生发行版。但随着以后业务规模的壮大,软件公司不太可能选择模仿者作为供应商。


推动这一趋势的一大关键因素是,软件公司已经开始接受或采用更现代的软件许可证。Mongo、Elastic 和 Cockroach 的执照就是很好的例子。与 Apache 孵化许可证不同(十年前它通常是开放源码业务的起点),这些许可证对业务更加友好,而且大多数开放源码企业还在采用。


未来展望


四年前,当开始撰写这篇关于开源的文章时,我们热切地希望看到标杆性开源公司的诞生。在那个只有一种模式的时代——红帽——让我们相信未来会有更多的模式。今天,我们看到了一大批令人兴奋的开源企业,或许至今也只是触及了整个开源基因库的皮毛,但这些市值数十亿美元的开源公司证明了这种模式的力量。


很明显,开源不再是软件的边缘方法。当世界顶级公司接受调查时,他们中很少有人希望自己的核心软件系统不是开源的。如果财富 5000 强将他们在软件上的投资转向开源软件,我们将会看到一个全新的软件产业格局,预估未来市值将达到数百亿美元。


当然,这不是一两天就可以实现的,开源公司需要历经很多年的成长来不断完善他们的产品,但这一趋势是不容置疑的。


原文链接:

https://techcrunch.com/2019/01/12/how-open-source-software-took-over-the-world/


(*本文由 AI科技大本营编译,转载请联系微信 1092722531


公开课预告

全双工语音


本期课程中,微软小冰全球首席架构师及研发总监周力博士将介绍微软小冰在全双工语音对话方面的最新成果,及其在智能硬件上的应用和未来将面临的更多技术产品挑战。


640?wx_fmt=jpeg

推荐阅读

  • 放弃幻想,全面拥抱Transformer:NLP三大特征抽取器(CNN/RNN/TF)比较

  • 维基百科联手谷歌翻译,结果“惨不忍睹”!

  • ETC遭受51%算力攻击,压垮PoW的最后一根稻草

  • 对不起,我就是喜欢问你Spring构造器注入原理

  • 找工作时单位普遍要求 35 岁以下,那 35 岁以上的人都干嘛去了?

  • MongoDB 背锅、58 同城中枪,2 亿简历遭泄露竟祸起程序员爬虫?

  • 平均9分!这些课程Google程序员也在追!

  • 你的邮箱信息是否泄露?还不赶紧查一下!

  • 20行Python代码给微信头像戴帽子

相关文章:

软件工程概论——课堂测试1

设计思想&#xff1a;1.用1个页面&#xff0c;实现课程录入&#xff0c;提交后直接返回课程界面。2.应用html表单属性进行数据的提交。3.用servlet进行写入数据库和验证输入。 源代码&#xff1a; <% page language"java" import"java.util.*" contentT…

过程即奖励(The Journey is the Reward)

今天读完了《乔布斯传》。翻着这本书最后的影集&#xff0c;乔布斯传奇一生的一幕幕仿佛在眼前展开。从第一张照片中特里独行、桀骜不驯的年轻人&#xff0c;到最后一张照片中阳光下慈祥微笑的老者&#xff0c;看到的仿佛不是乔布斯的照片&#xff0c;而是自己的一位人生挚友。…

BREW 计费模式概览

计费模式也就是收入模型是商业模式的基础。BDS分发系统中不但提供了与运营商计费系统的接口&#xff0c;而且直接提供了BREW 计费服务。 BREW分发系统与运营商计费系统的集成&#xff0c;一般就是与运营商的综合营帐系统的集成&#xff0c;需要融合于网元层&#xff0c;资源层&…

程序员崩溃了,年终奖怎么说黄就黄

作者 | 胡巍巍转载自程序人生&#xff08;ID:coder_life&#xff09;往年王者荣耀年终奖200个月100万&#xff08;虽然辟谣是假的&#xff09;、华为年终奖24个月100万&#xff0c;都让我等平民羡煞不已。还有在BAT发生的&#xff08;朋友圈&#xff09;真人真事↓这是年终奖的…

改变IT世界的11大Apache开源技术

据国外媒体报道&#xff0c;转眼之间&#xff0c;Apache软件基金会已经成立10年之久了&#xff0c;11月份&#xff0c;Apache基金会的成员将会为其举行一次大型的庆祝。虽然Apache软件基金会是一个开源的组织&#xff0c;但是Apache却创造了对现代互联网来说很重要的技术。下面…

nginx常用技术

作者:NetSeek http://www.linuxtone.org (IT运维专家网|集群架构|性能调优)欢迎转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明.首发时间: 2008-11-25 更新时间:2009-1-14目 录一、 Nginx 基础知识二、 Nginx 安装及调试三、 Ngi…

2011到过的地方

火车上读《南方周末》&#xff0c;看到记者把自己2011去过的地方在地图上标记&#xff0c;带着标记的世界地图&#xff0c;显得特别而好看&#xff0c;于是很想自己也做一份。找了一些网站&#xff0c;做的图片&#xff0c;差强人意吧。2011到过的地方&#xff1a;这个图不算漂…

2亿简历遭泄漏,到底谁的锅?

作者 | 仲培艺转载自CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;前面刚有 AWS 开战 MongoDB&#xff0c;双方“隔空互呛”&#xff0c;这厢又曝出 2 亿简历信息泄露——MongoDB 的这场开年似乎“充实”得过分了些。长期以来&#xff0c;作为“最受欢迎的 NoSQL 数据库…

Could not apply the stored configuration for monitors 解决办法

Could not apply the stored configuration for monitors 解决办法&#xff1a; $ sudo rm -rf ~/.config/monitors.xml 重启电脑即可 本文转自linux博客51CTO博客&#xff0c;原文链接http://blog.51cto.com/yangzhiming/1225802如需转载请自行联系原作者 yangzhimingg

20行Python代码给微信头像戴帽子

作者 | Leauky&#xff0c;北理工硕士在读&#xff0c;非CS专业的Python爱好者。朋友圈里微信官方要求戴圣诞帽的活动曾经火爆一时&#xff0c;有些会玩的小伙伴都悄咪咪地用美图秀秀一类的 app 给自己头像 p 一顶&#xff0c;然后可高兴地表示“哎呀好神奇hhhh”&#xff0c;呆…

2012关于钱的Tips

对于目前的我来说&#xff0c;死工资是唯一的财富积累手段&#xff0c;而且工资本身还不足够满足所有的物质和精神需求。以此为前提&#xff0c;对钱的来龙去脉有一个了解、把控是极其有必要的。 2011钱的规划基本为零&#xff0c;一年下来惊恐的发现&#xff0c;似乎自己没攒多…

在 Azure 中管理 Windows 虚拟机的可用性

了解如何设置和管理多个虚拟机&#xff0c;以确保 Azure 中 Windows 应用程序的高可用性。 也可以管理 Linux 虚拟机的可用性。 Note Azure 具有用于创建和处理资源的两个不同的部署模型&#xff1a;Resource Manager 和经典。 这篇文章介绍了如何使用这两种模型&#xff0c;但…

[日记]一个人去散步

森林里面的寂静会让每一个人都有所进步。 ——罗伯特M波西格 《禅与摩托车维修艺术》 北陵公园下午5点之后免收门票&#xff0c;我就在这个时间去那里散步。 说起来&#xff0c;我家离北陵西门走路才10几分钟的路程&#xff0c;可是我…

2019年人工智能行业又进入冬天了吗?

【AI科技大本营导语】过去几年&#xff0c;以深度学习为代表的人工智能技术取得了前所未有的高速发展&#xff0c;公司高薪聘请相关领域研究人员&#xff0c;组建人工智能研究团队&#xff0c;相信人工智能带来的巨大商业价值。然而&#xff0c;从近一年的发展态势来讲&#xf…

Vue.js slots: 为什么你需要它们?

也许你已经看过了Vue.js slots的文档。我对这个功能从“为什么你可能需要它”到“没有它我怎么可能工作”的态度转变非常快。虽然文档已经解释了它的概念&#xff0c;但是这里有一个关于slots怎么改进应用程序代码库的真实例子。在我看来&#xff0c;slots是vue最有用和最有趣的…

apache httpd server安装的一个问题

问题&#xff11;&#xff1a; 启动bin/apachectl start的时候&#xff1a; 发现报错&#xff1a;httpd: bad user name daemon 解决方法&#xff1a; groupadd daemon useradd -g daemon daemon 若没有配置合适PATH常量&#xff0c;则可以找 /usr/sbin/groupadd&#xff0c…

telnet 如何退出

ctrl]&#xff0c;然后再输入q就可以退出了。转载于:https://www.cnblogs.com/rethink/archive/2009/10/29/1591898.html

TensorFlow 2.0新特性解读,Keras API成核心

来源 | Google TensorFlow 团队2018 年 11 月&#xff0c;TensorFlow 迎来了它的 3 岁生日&#xff0c;我们回顾了几年来它增加的功能&#xff0c;进而对另一个重要里程碑 TensorFlow 2.0 感到兴奋 &#xff01;TensorFlow 2.0 将专注于 简单性 和 易用性&#xff0c;具有以下更…

列选主元guass消去法

200701020110 07计算机 王再#include <iostream.h>#include <iomanip.h>#include <stdlib.h>void main(){ int flag1;input(); //输入方程 while(flag){ print_menu(); //打印主菜单}void print_menu(){ system("cls");cout<…

Mac 下 IDEA 启动慢的问题

转自&#xff1a; http://blog.csdn.net/KingBoyWorld/article/details/73440717 从控制台来看&#xff0c;每次都会连接本地地址(127.0.0.1)&#xff0c;问题可能就出在这里。 修改本地/etc/hosts文件&#xff0c;添加以下内容: 127.0.0.1 localhost <hostname&g…

研发投入超876亿的华为,将如何进击云+AI?

人工智能作为下一轮科技革命的关键元素&#xff0c;正在进入越来越多的行业&#xff0c;用 AI 的技术和理念去解决现在和未来的问题&#xff0c;将是企业构建竞争力的关键。在去年 10 月召开的华为全联接大会上&#xff0c;华为轮值董事长徐直军详细阐述了华为的 AI 战略&#…

Bash脚本: 根据关键字做替换

根据某个文件的关键字做替换 #!/bin/bashkvawk -F "" { if(NF2) print $1""$2 } ./zuanshi_servic_test.propertiesfor kv in ${kv[]};dokecho $kv | awk -F "" {print $1}vecho $kv | awk -F "" {print $2} | awk -F "\r" …

Git学习系列之一些常用的Git命令收录更新ing

不多说&#xff0c;直接上干货&#xff01; 前言 对于Git工具&#xff0c;有必要整理和总结一些常用实用的命令。 http://p.primeton.com/articles/53cce3a3e138236138000026 https://www.zhihu.com/question/22932048 http://blog.csdn.net/w410589502/article/details/536063…

普通域账号客户端计算无关机选项

组策略-》计算机配置-》安全设置-》本地策略-》用户权限分配-》关闭系统把DOMIAN USERS 组加进去我是在Default Domain Policy 里面加的转载于:https://blog.51cto.com/zhangjunjie/219613

罗永浩“咬定”微信不放松

作者 | 胡巍巍来源 | CSDN&#xff08;CSDNnews&#xff09;昨天&#xff0c;1月15日&#xff0c;听起来是很普通的一天。但是&#xff0c;历史上的这一天——公元8年1月15日&#xff0c;是王莽建立新朝、西汉结束的日子。2011年后的这一天&#xff0c;有一个八岁的国民社交软件…

Windows Ruby使用Mysql环境配置

windows下Ruby使用mysql时候报错&#xff1a; Incorrect MySQL client library version! This gem was compile d for 6.0.0 but the client library is 5.1.45 经过查找找到了解决方案&#xff1a; 1. 下载mysql-connector-c-noinstall-6.0.2-win32.zip http://dev.mysql.c…

Node.js与Sails~方法拦截器policies

policies sails的方法拦截器类似于.net mvc里的Filter&#xff0c;即它可以作用在controller的action上&#xff0c;在服务器响应指定action之前&#xff0c;对这个action进行拦截&#xff0c;先执行policies的策略&#xff0c;当条件通过&#xff0c;会next()它&#xff0c;继…

MySQL性能与磁盘读写的关系及优化策略

作者&#xff1a;kider出处&#xff1a;MySQLpub.com转贴请表明作者和出处并不能用于商业目的。这些天&#xff0c;对一个场地服务器慢的情况&#xff0c;进行了监控跟踪&#xff0c;也得出一些好的结论。现在记录一些过程&#xff0c;列出可以供参考的部分&#xff0c;同时有一…

今晚8点直播 | 详解微软小冰全双工语音对话技术

微软小冰第六代发布会上正式宣布上线全新的共感模型&#xff0c;同时也开始公测一种融合了文本、全双工语音与实时视觉的新感官。这项新技术可以实时预测人类即将说出的内容&#xff0c;实时生成回应&#xff0c;并控制对话节奏&#xff0c;从而使长程语音交互成为可能。而采用…

httpd.2.4虚拟主机配置测试

测试目标&#xff1a;三个虚拟主机&#xff0c;要求如下vhost1&#xff1a; phpMyAdmin, 同时提供https服务&#xff1b;vhost2: wordpress配置过程&#xff1a;一、配置vhost11、首先配置vhost1&#xff0c;先搭建私有CA在172.16.20.242上搭建私有CA&#xff1a; (1) 创建私钥…