本文是我在 开源商业模式 演讲的一部分。您可以在 Heavybit.com 上查看我的演讲的完整文字稿和视频。
我叫 Marten Mickos,我是 Eucalyptus Systems 的首席执行官。正如 Tom 提到的,我曾担任 MySQL 的首席执行官八年。从 2001 年到 2008 年公司被出售给 Sun,我实际上是该公司唯一的首席执行官,然后在 Sun Microsystems 工作了一年。我今晚来这里谈论开源商业模式,这是一个困难、复杂、细致入微的话题,很难进行结构化和总结,但我会尽力而为。
我想问一下你们中有多少人使用开源软件,这是一个愚蠢的问题,因为每个人都会举手。但是,我们观众席中是否有开源供应商——正在构建开源业务的人?有一位,好的,两位,三位,四位。太棒了!
我们还有其他人正在使用它,或者可能正在参与其中。我将在接下来的 20-25 分钟内尝试涵盖所有这些内容,然后我们将进行问答。然后,我有一个相对较晚的停止时间,所以如果你看到我匆匆离开会场,那不是因为我不喜欢讨论,而是因为我还有其他事情要做。但是如果您有任何问题或我可以帮助您的事情,您绝对可以之后给我发电子邮件。
2001 年加入 MySQL
我可以告诉您,当我 2001 年加入 MySQL 时,我对开源几乎一无所知。我对数据库有所了解,而且我碰巧是 MySQL 创始人的朋友。他们在 2000 年 12 月给我打电话说:“Marten,我们坐在厨房里,我们需要一位首席执行官,我们认为是你。”我说:“不!”那是我的第一反应。结果是我加入了担任首席执行官,我不得不决定学习开源,我决定那一年成为开源商业模式方面的专家,而当时实际上并不存在这种模式。
当时有 Red Hat,一家著名的开源公司,但你们中那些记得并且当时在那里的人都知道,他们最初的商业模式是销售装有 CD-ROM 和参考手册以及盒子的盒子。那是他们拥有的业务,他们以此上市并获得了巨大的估值。他们花了几年时间才发展出他们现在遵循的真正的订阅商业模式,以及许多开源公司正在遵循的模式。
关于 Eucalyptus
所以首先快速介绍一下 Eucalyptus。它是一个开源私有云软件平台。这个名字是一个首字母缩略词,让您更容易记住它的作用。EUCALYPTUS 代表 Elastic Utility Computing Architecture Linking Your Programs To Useful Systems。(弹性实用计算架构,将您的程序链接到有用的系统。)是的,这非常有趣,但这是真的。这就是该软件的作用。它是唯一像 Amazon Web Services 一样运行的私有云平台。如果您在自己的服务器上运行 Eucalyptus,您将拥有一个您控制的区域。这就像拥有您自己的 Amazon 区域。
MemSQL 就是这样做的。他们有 35 台服务器用于开发和测试,完全在 Eucalyptus 中运行,而且所有行为都像 Amazon 一样,这意味着他们可以在公有云和私有云之间来回移动工作负载。我在这里引用了我自己的一条推文。就在几天前,我发推文说:“当您在 Amazon 上运行时,您在您的信用卡上运行,当您在 Eucalyptus 上运行时,您在您的服务器上运行。”聪明的人想要选择在哪里运行。在 Amazon 上运行非常方便。在您自己的服务器上运行具有巨大的控制权和力量。而且您可以两者兼得,因为 API 是相同的,EC2、S3、EBS 等在两种环境中都以相同的方式运行。这就是该公司所做的。
开源商业模式的历史
让我们转到商业模式。我想在这里说明一下,我认为通常当世界进化,宇宙进化时,我们从一个阶段进入下一个阶段,我们在旧阶段解决的问题成为遗留问题,它被使用,但那不是新的事物。对于每个新时代,我们都有一些新事物被发明出来。我相信这甚至存在于物理层面上。当宇宙开始存在时,我们有小粒子,然后他们说“我们为什么不聚在一起成为原子呢?”然后原子说,“我们为什么不聚在一起成为分子呢?”等等。
因此,在小规模的软件业务中,在八十年代,那是很久以前的事了,但我当时就在那里,我加入了软件业务。一切都与向客户端/服务器的转变有关。从大型机和小型机,我们转向了 PC 时代和客户端/服务器时代。那时我们说,当时被称为 x86 的新处理器架构,对所有人来说都是开放的架构。因此,当时的开放程度是硬件架构,每个人都构建在相同 CPU 上运行的操作系统和软件。这被认为是极好的开放程度。然后,15 年后,我们进入了网络时代,巨大的转变颠覆了客户端/服务器的一半。它颠覆了客户端。在客户端/服务器中,您在您的机器上运行一个应用程序。在网络上,您只有浏览器,一切都在后端的某个地方运行,并且在网络上同时运行。
开源发生了,当时的开放性是关于源代码的开放性。
这不是一个精确的比较,因为您可以声称在那之前就有开源代码,并且它有不同的起源。但是,当您考虑行业的真正机制时,在 90 年代中期,人们开始意识到开源软件,我们看到了所有这些重要产品的诞生和发展。例如 Linux,始于 91 年,MySQL 始于 95 年,以及 Apache 和 PHP 以及 Python 以及所有在那个时候创建的那些。
业务是构建 Web 应用程序,开放性已从硬件层面转移到源代码,突然之间,为了真正具有创造力并分享事物,您打开了您的代码,整个开源运动就从那时开始了。或者,它不是从那时开始的,但它在当时变得相关。它最初甚至不被称为“开源”。正如云最初不被称为“云”一样。为什么 Eucalyptus 被称为“实用计算架构”?因为早在 2007 年,我们就这样称呼它。我们当时并没有真正称其为“云”。它被称为“实用计算”。
无论如何,回到趋势。因此,我们在源代码中获得了开放程度,这就是为什么我们现在拥有开源业务。我现在要声称,15 年后,我们再次转向云,我们最终告别客户端/服务器。我们现在也在打破服务器端,我们部署工作负载的方式与我们在 80 年代学到的方式完全不同。这又是一次巨大的转变。它正在颠覆一切。
新的供应商正在涌现,旧的供应商正在挣扎和萎缩,并且再次出现了一种新的开放程度。我相信 API 是我们今天看到开放性的地方。我认为现在还为时过早,我们还没有真正看到它发挥作用。
对于硬件,开放性的名称是 x86——然后每个人都开始使用的架构。对于开源,我们有许可证,GPL 许可证,然后是 Apache 许可证。对于今天的 API,我们尚未就完全开放达成一致,但我们可以看到创新如何在 API 层面发生。鉴于十年前,你们中的许多人,或者当时正在构建东西的任何人,都在查看源代码。现在要完成工作,您需要查看 API,因为您需要处理许多不同的东西。
MySQL 在 LAMP 堆栈的概念上发展壮大。任何规模或名气的每个网站都在 LAMP 堆栈上运行。Google、Yahoo、Facebook 后来、MP3.com、Wikipedia,所有这些。LAMP 堆栈是 Linux、Apache、MySQL、PHP、Perl 或 Python。今天,在您的应用程序中,您有许多不同的数据库,许多不同的语言混合在一个应用程序中,在一个工作负载中设置。问题更多的是关于 API。
这有点超出了今晚的主题,但我把它抛给你们,以便你们可以告诉我:如果我的这一代人构建了开源业务,那么在未来十年到十五年内将会有什么样的 API 业务?我不知道。但您可能知道,因为您是构建它的人。您是今天的 Linus Torvalds。
今天的自由和开源软件
如果我们然后专注于开源软件并说,“您如何建立业务?有哪些类型的商业模式?”我相信您需要注意四种类型的参与者,它们部分重叠,您可以属于其中的多个。我们有一大群最终用户,他们生产自由和开源软件。
FOSS 代表自由和开源软件。您有最终用户使用它,他们是它的客户和用户。然后您有像 MySQL 那样的供应商生产它,就像 Eucalyptus 那样。您还有基金会生产它们,例如 Eclipse 基金会、Apache 基金会、Linux 基金会、Open Stack 基金会等等。还有 Mozilla 基金会正在构建它们。
这对商业模式具有意义,因为在闭源世界中,情况并非如此。如果您考虑闭源的源代码,实际上没有用于闭源开发、协作开发的基金会。并且实际上没有最终用户生产闭源软件并将其分发给其他人。在闭源软件的世界中,您有供应商,您有买家,仅此而已。但是在开源世界中,您有一个更具活力的环境,这很重要,因为最终用户生产了大量的开源软件。
如果您旨在成为一家成功的、盈利的、出色的开源公司,您必须知道最终用户组织可能会产生软件,这将影响您的业务。无论是好是坏。
以 Facebook 为例,他们需要一个简单、可扩展、强大、可靠的存储,因此他们开发了 Cassandra。Cassandra 发生了什么?Facebook 不再需要它了。从一开始他们就将其开源,提供给所有人。现在我们有一家名为 DataStax 的公司,它将 Cassandra 商业化并进一步开发。对于 DataStax 来说,这是一个绝佳的业务起点——采用由真正需要它的某人开发的现有产品。他们知道这是一个有用的产品。对他们来说,这是一个机会,但对其他人来说,这可能是一种威胁。
当您正在开发一些绝对令人惊叹的软件,并且您有 5 个或 8 个开发人员时,突然发现大型最终用户组织正在开发类似的东西,并且他们的资源没有限制,他们可以有 100 个开发人员在上面工作;您必须考虑您可能从这些最终用户组织获得什么样的代码。您可以看看大数据,这可以主要追溯到 Hadoop,您可以将 Hadoop 主要追溯到 MapReduce,而 MapReduce 您可以主要追溯到 Google,后者开发并完善了该算法。您在那里看到了几个最终用户。Google 和当时的 Yahoo 开发了它,现在 Hadoop 是 Apache 基金会的一个项目,我们有许多供应商在此基础上构建业务。
这以闭源世界中不存在的方式对开源软件的生态系统产生了显着影响。
我认为这是开源的力量。因为我们一直说世界上开发的大部分软件都是由用户而不是供应商开发的。在闭源世界中,您无法访问最终用户的生产力。
特别是对于开源软件而言,如果您正在考虑商业模式,那么这个事实可能对您有用,但许多人不再关心它了。我们谈论 FOSS,自由和开源软件,但如果我们真的严格来说,自由软件和开源软件之间存在差异。在左边,我有自由软件,最典型的是 GPL 软件。许可证确保自由的软件。它为您作为用户提供自由,但也要求维护自由。
在右侧,您有开源软件,它对所有人开放,但也允许您关闭它。因此,我们回到 GPL 许可证的著名条款,即互惠要求,该要求指出:“如果我是开放的,您也需要是开放的。”因此,GPL 许可证下的软件带有其他人称之为病毒的东西。我称之为祝福,因为我认为如果所有软件都变成开源,那就太好了。
它实际上是说,如果您正在分发衍生作品——所以两个 D,分发衍生作品——它们必须在相同的许可证下获得许可。如果您不分发它们,或者如果它们不是衍生作品,那么您没事,您不需要分享任何内容。但是,如果您分发衍生作品,那么它们也必须在 GPL 许可证下。
这是 Richard Stallman 和其他人提出的一个非常强大的构造,称为 copyleft,它确保了开放性的持久性。关于这是否好与坏,存在巨大的争论。
有些人说开源软件更适合商业,因为它对您的要求较少。另一些人说,不,我们必须确保开放性,否则它将不会继续和持久。
举个例子:你们有多少人拥有 Apple 笔记本电脑?操作系统对您开放吗?不,但它最初是基于什么构建的?BSD 操作系统,它是开源的。但是 BSD 是在其自己的许可证下获得许可的,该许可证不要求衍生作品是开源的,因此 Apple 可以采用它,修改它,添加自己的东西并完全为自己保留。如果您采用 Linux 并对其进行修改并创建 Linux 的新分支,则在您分发衍生作品时,它必须继续在 GPL 许可证下。这解释了 Linux 的力量——您可以采用它,您可以对它做任何您想做的事情,您可以分叉它,您可以修改它,但是当您分发衍生作品时,它必须始终保持 GPL。它确保并维护了开放性。
许可
对于每组 GPL 软件的示例,有成千上万个示例,但其中一些最著名的示例是:Linux、Java、MySQL、Asterisk、PBX 软件。Eucalyptus 已获得 GPL 许可。以及其他获得许可的示例,它们具有 Apache 或 MIT 或 BSD 许可证或其他许可许可证之一,包括:Apache、Apache 基金会下的所有内容、Open Stack 基金会、Cloud Stack,它是 Apache 基金会的一部分等等。
对于我在这里所说的一切,都存在变化和例外。GPL 许可证的一种变体是 AGPL 许可证,即 Affero GPL 许可证。它将开放性要求向前推进了一步。MongoDB 可能是 AGPL 许可产品的最著名示例。
在我之前说过 GPL 说,“如果您分发衍生作品,那么它必须是开源的。”在 AGPL 中,您甚至不必分发。如果您公开使用 AGPL 软件并且您进行了修改,则这些修改也必须是开源的。
另一方面,变化和例外,有 BSD 许可证、MIT 许可证。开源许可证列表很长。我通过谈论 Apache 许可证和 GPL 许可证来为您简化它,实际上有数十个。但这些是最突出的例子。
然后您有非常极端的例子,例如 SQLite,这是一个非常流行的轻量级数据库,由 Richard Hipp 开发,他在自己的小公司中运营和开发。他决定将其置于公共领域。所有其他获得开源许可证的产品仍然归某人所有。当您作为用户或公司使用它们时,您必须解释您在什么权利下使用它们。您说:“我正在根据开源许可证的权利使用它们。”
但是 Richard Hipp 将 SQLite 置于公共领域。他说:“这属于所有人,也属于没有人。”绝对没有限制,因为他已经将其变为地球上所有公民或整个宇宙的共同财产。存在这样的例外。
本系列的下一篇文章将继续我的演讲,开源商业模式。您可以在 Heavybit.com 上查看我的演讲的完整文字稿和视频。
1 条评论