Open Core 和基于 API 的服务,商业软件如何搭上开源的顺风车!

随着开源的日渐流行,似乎什么都可以挂上开源的名称,尤其是将开源当做一种营销渠道,是难以辨别的,但是作为用户、购买方,不妨要多注意、观察。多了解点总是没有坏处的,软件正在向传统诸如装修、通下水道等等行业等量齐观,那么当有人免费给你用的时候,还是多留个心眼为好。

Thu Sep 12, 2019 | 4000 Words | 大约需要阅读 8 分钟 | |


作者译者备注
Ruth Suehle开源之道:适兕

副标题:API以及基于云计算解决方案的兴起,正在推动商业开源供应商模式的变革

(图片说明:Thomas Hawk 发表在Flick上,基于 CC BY-NC 2.0 ,opensource.com 修改)

在当今,软件开发是围绕API所构建起来的,开发者再也不会将供应商的产品整合到自己的应用中,而是通过调用供应商所提供的API来进行服务。开发者毋须知道自己所调用的后端是什么,他们只需要知道供应商能够提供什么样的API、能够返回什么内容。它真正实现了彼此独立、自己负责的理想“爱情”!

这与很多企业应用供应商使用的开源策略———— Open Core 是大相径庭的。对于 Open Core 来说,其产品的核心是开放源代码的,但是会有一个企业版,这个企业版会提供一些额外的功能、商业化的支持服务等等,而基于API的服务则相反,产品的核心在云计算平台中运行,对于外部是不可见的,访问产品的唯一通道就是通过API。

正是因为API,让我们看到一些非同凡响的地方、也看到了改进和增强、以及企业版的价值通过工具、组件等方式扩展了更为广阔的边界,尽管这个时候供应商是可以在开源和闭源做出选择的,但是我们看到了更多的厂商选择了开源,因为这并不重要,重要的是他们可以从支持核心和掌控API来赚到钱,最为典型的例子就是TwilioStripe这两家公司了。

“梦想改造家” 的翻版

“梦想改造家” 是国内某电视台推出的基于旧房改造的电视节目,颇受欢迎。

请允许笔者带领大家做个类比,理解这样的场景,不妨想想我们日常常见的房间改造,假如想在现有的房子里增加一间洗手间,那么需要雇佣诸如水管工以及承包商,水管工会带上很多管子到来,开始布线,而承包商则会将洗手间给建造起来。

绝大多数人是不会在于那些管子是从哪里来的,或者是如何连接到自来水系统的,而仅仅在乎的就是伸手(输入)即可来水洗手(输出),但是我们是无法离开这些而生活的,我们都会和小区签署服务水平协议(SLA),它其中描述了这些是如何工作的,那么无论是做什么和水相关的事情,洗菜、洗手、冲洗马桶等均要和这些管道打交道,(相当于软件服务的API)。

这里关键的点在于,作为业主所仅需要知道的信息就是管道的表现,它必须实现SLA所描述的内容,如果业主要设计自己的洗手间的话,花大量时间考虑的是购买洗脸池、马桶的型号、整体的布局等,这些“视觉和感觉”上的,可以为业主的家增添价值。但是还是要为水管工付钱的,很难想象为了一个洗手间而将重新改造一次供水系统。这说明了一个非常重要的道理,创新已经从核心的部分往边界迁移。

这个类比的故事,像极了如今的API的崛起,开发者只需要认清那些供应商能够提供的高性能API即可,而会将更多的精力放在增值的服务商。

Open Core 的典型模式

各位看官,请允许我为了更加清晰的表达我的观点而简单回顾一下传统意义上的 Open Core 模式的开源企业软件。

  • SugarSugar 内容管理系统,源代码是为用户和合作伙伴开放的,而企业版则增加了相应的企业级特性,如增强的报告系统、更好的工作流等等。
  • JasperSoftJasperSoft提供开源的商业智能报告软件,在2007年旗下有超过3万的开发者注册,JasperSoft 还提供SDKs 和 RESTful APIs,用以访问其核心产品。
  • OdooOdoo,一款开源的企业资源管理(ERP)应用,是颇为流行的替代专有软件的产品,基于Open Core,Odoo及其合作伙伴围绕Core做出了上百种价格的衍生定制,核心的框架包含大约30个模块,但是社区却开发了上千个模块,其中有一些是免费的,但是很大一部分是需要付费且闭源。
  • ProcessMakerProcessMaker,一款企业流程管理(BPM)和工作流的开源项目,开发者可以基于其 Open Core来进行增强,如使用 javascriptphp等编程语言,ProcessMaker 公司也提供了企业级的插件,包括企业目录服务集成、管理面板、以及增强的开发者工具等。

Open Core 模式是很多软件公司所采用的一种模式,例如,某个开源项目在最初的发布会之后会获得很大的关注(比如数百万次的下载量)等,然后顺理成章的成立一家公司来专门支撑开源代码,进而经年累月,这些公司慢慢的发展出了基于开源的扩展和订阅来,伴随着云计算和软件即服务在2006年之后的高速发展,这些公司的模式越发的突出和明朗化,他们也与时俱进,进一步开发云计算的版本,从而进一步的将其产品与开源版本区分开来。

至于开源产品能够被迅速的采用,或者说受到用户的青睐,我想其中有两个重要的原因:

  1. 开放源代码许可证的友好。
  2. 开放源代码软件分发渠道所受到的关注度,如GitHub、SourceForge、NPM等

世界已经发生变化

这种商业开源模式在20世纪90年代末和21世纪初开始普及。然而,一场变革席卷了整个行业,它就是:API 的崛起,基于以下几个原因,API 变得越发的重要:

  1. 需要构建更具扩展性的软件
  2. 需要构建更具联系的软件
  3. 需要加速创新
  4. 需要处理日渐增加的复杂性

毋庸置疑的是,软件日渐趋于复杂,没有什么是孤立的,必须连接到更多类型的应用程序,并且必须扩展以满足更大的需求(数量级)。如果看官能够将这些因素结合起来一起思考的话,就明白为什么我说 API 是如此的重要,开发者会彻底的抛弃 monolithic式的应用,而且从一开始就要考虑迎接更多的应用程序的连接,当然也会保证软件的稳定运行的同时还能够进行大规模的扩展,API是两种或多种服务相互交互的明确且声明的方式。通过了解其他软件如何使用我的软件,即使我的软件不断发展和发展,我仍可以保持其质量并根据这一期望来判断它。

基于 API 的商业模式

其实已经有一些先行的公司开始采用 API 这样的商业模式了,比如下面这些:

  • TwilioTwilio提供通信相关的 API,支持消息、语音、视频。Twilio的市场为第三方扩展集成提供API,这些第三方的附加扩展利用Twilio提供的内容,进而进行相应的增强;然后在Twilio提供的市场发布自己的产品。
  • StripeStripe是一个支付处理平台,它为付款申请提供 RESTful API ,每年处理数十亿美元的付款。第三方扩展程序通过为用户的Stripe帐户发出API请求来提供其他功能。另外,Stripe还提供第三方库支持开发和插件,使Stripe可以与其他产品一起使用。
  • FactualFactual为移动广告和其他移动应用程序提供基于位置的数据。它提供了一组API,开发人员可以使用这些API构建与Factual产品集成的扩展。Factual的部分位置数据可通过下载许可证提供给合作伙伴。
  • ProcessMaker I/OProcessMaker I/O提供的工作流即云平台的微服务,企业级的独立软件供应商可以使用ProcessMaker的API将企业工作流整合到其自身的产品栈中,工作流API可以连接到任何后端,并且可以每秒扩展到数百万个事务。开发者可以使用Java,Python,JavaScript,PHP或其他语言的SDK连接到API。
  • Form I/OForm.io是一家为Web表单提供管理功能的强大的API 服务商,这些Web表单可以在任何类型的无服务器架构中填充数据源。

API 模式的优点

API 模式对于开发者来说是实实在在的好处。开放源代码和 Open Core都意味着持续的变化,因为持续的变化就会产生意向不到的意外,也就可能会产生一些风险。支持API的模型毋须关心产品的内部,开发人员可以专注于这些抛出来的公开功能进而提供可靠的服务。这样可以在应用程序的周边实现更快的创新(以及更多!),而不是去慢慢的对核心修修补补,更何况核心部分需要更加深入的知识,才能做到创新。

因为 API 可以提供与不同后端系统相同的功能,API 的方式,支持的是对供应商所提供的应用的访问,这有效降低了被供应商长期锁定的风险。当然,在短期内,使用供应商的 API 也意味着将依赖于他们的 API。如果它发生故障,你的应用程序必须弄清楚如何处理它。但是,显而易见的是,API提供商若是一直不能提高符合其SLA的服务,则将被更可靠的提供商所取代。竞争对手复制API相对容易,这为开发人员提供了必要时可以替换API的安全性。

开发者可以独立于后端测试API的功能,并专注于将这些专用微服务组合到他们需要创建的大型应用程序中,从而为其业务用户提供支持。这样开发者可以聚焦于自己的核心能力 —— 专业的业务知识 ,而不是去关注基础实施如何和自己的应用程序很好的工作。更聚焦的业务能力,也意味着打造的最终产品更能符合市场的需求。

四两拨千斤,小公司的生存之道

将 API 思考为应用程序的新的管道(以及互联网增强的管道)的话,很难说小公司能够做出非同凡响的事。但是仍然是可以的,基于 API 的服务正在发展出让人惊奇的生长,它们才是真正长尾创新的新的驱动力,理由就是 API 可以抛出真正的微服务,开发者可以利用这些微服务玩出新花样,我预计,API 在经历几年的夸张之后,我们将会看到其大规模的整合,但是在这个中间的空挡,基于API的公司还是非常有机会的。

关于原作者

Brian Reale 是ProcessMaker的首席执行官兼联合创始人,拥有超过20年的管理技术公司的经验,在2000年创立ProcessMaker之前,Brian 是Unete Telecomunicaciones Ltda 的总经理,这是一家位于南美洲的做长途语音和数据载体的公司,于1997年创立,并于2000年出售给一家上市的美国电信公司。Brian 同时还是另外一家娱乐科技公司————Spotless LLC的联合创始人。布莱恩于1993年以优异成绩毕业于杜克大学,并于1994年获得富布赖特语言学奖学金,以奖励其在厄瓜多尔所开展的研究。

他的Twitter是:@breale

版权声明

本文由作者Ruth Suehle 发表在 opensource.com 上:Open core, open perimeter, and the future of enterprise software。由开源之道精心翻译共享。本文在Creative Commons BY-SA 4.0许可证下发布。