社区对你意味着什么?
社区是一个被过度使用的词,它可以指任何事物。社区可以仅仅指使用你产品的人。或者可能是那些构建你的产品的人,或者可能是那些使用它的商业伙伴。或者可能是那些写博客谈论它的人。
决定你喜欢哪种社区,因为有不同的类型。再说一下 MySQL,在其代码生命周期中,总共可能有 100 名贡献者,我们聘请了其中的许多人到公司。社区的这一部分相对较小。用户社区非常庞大,现在仍然如此。而那些为 MySQL 构建附加组件的社区也非常庞大。你有不同的方式来做它们。
最后,这也许是我对开源许可模式和治理最引人注目的见解,它在很大程度上与品牌有关。这与开源许可证没有规定名称这一事实有关。如果他们这样做,这意味着名称不是免费的,它受到版权保护。
因此,如果您使用 Android 并对其进行分支,并且您拒绝签署开放手机联盟,则不允许将其称为 Android,您必须将其称为其他名称。您可以使用代码,因为代码是开源的,但不允许将其称为 Android。
这就是为什么亚马逊采用了 Android 代码并在他们的 Kindle Fire 中使用它,我认为,但他们不能称其为 Android,因为他们没有签署联盟,而该联盟本会迫使他们使用 Google 服务。如果您采用 Red Hat 的代码并分发它,您可以这样做,但不允许分发任何显示品牌或徽标的东西。Red Hat Enterprise Linux 的名称以及随附的所有标记,视觉效果、JPEG 和 PNG 以及图片,它们都是专有的。
我不确定 20 年前发明许可模式和治理的开源大师们是否考虑过这一点,即实际上品牌化成为控制其运作方式的控制点。
同样,Apache 基金会制定了一条明智的规则。他们说基金会中的任何东西都有一个名称,并且这些名称不得用于商业用途。如果您使用 Hadoop,您可以说这是建立在 Hadoop 之上的,但您的商业产品不能称为 Hadoop。它必须被称为 Cloudera 或 Hortonworks 或 MapR 或其他名称。品牌化实际上成为您控制生态系统行为的方式。
我们在 MySQL 中也遇到了这种情况,我们是商业和非商业品牌的持有者,我们当时在想,“我们应该将它们分开吗?” 因为我们正在看着 Red Hat 说,好吧,Red Hat,他们从社区中拿走了 Red Hat 的名字,并将其完全变成了商业用途。而非商业名称是 Linux 或 Fedora。我们在 MySQL 问自己,我们是否也应该拆分品牌,一个名称用于开源事物,一个名称用于我们的商业产品。我们从不认为这是正确的事情,但我们花了很多时间思考它。
无论哪种方式,我们都面临着挑战。我们将它们放在一起的事实给我们带来了一些挑战,也带来了一些好处。因此,品牌化比我在身处其中时意识到的要重要得多。
延伸阅读
- Matt Asay 对我的采访,更多关于开源思考的内容
- Stephen Walli 的一篇文章,关于开源软件许可证与商业模式
就此打住,我准备好接受您的问题并与您讨论。您会在那里找到我的 Twitter 账号和我的电子邮件地址,如果您想在此之后与我联系。感谢您的积极和专注的倾听,现在我准备好回答您的问题。
问:当您有商业产品时,如果有人贡献了类似的开源产品,您会怎么做?
答:一个好问题,当您有商业附加组件时,如果有人贡献了做同样事情的开源产品,您会怎么做?我们决定欢迎它;我们在 MySQL 做过,我们现在在 Eucalyptus 也在这样做。我将举一个 Eucalytpus 的例子。
当您在 Linux 和 KVM 上运行 Eucalyptus 时,您不需要其他任何东西,您可以在该产品上运行大规模云。如果您需要在 VMware hypervisor 上运行它,则需要我们的商业插件。现在,我们认为如果您向 VMware 支付数百万美元,您不妨也向我们支付几千美元,所以我们认为这是公平的。我们也说,“或者你自己编写该插件。如果您认为自己可以做到,那就去做吧。” 因为平台是开放的,API 是开放的,所以任何人都可以做到。
这意味着如果有人贡献一个竞争组件,我们会欢迎它。因为我们相信,对于那些付出努力的人来说,这将对他们有好处。对于大多数客户来说,他们会说,“是的,我知道有开源替代方案。我想要来自 Eucalyptus Inc. 的那个,它是经过测试和验证的。” 所以我们欢迎这些事情的发生。
这就是我对客户说的话,我说,“我们有这些商业附加组件,但您可以开发自己的。” 我们在 MySQL 中看到了这一点,我们开发了一个您付费的管理工具来管理大型 MySQL 安装,许多其他人也开发了自己的商业和非商业工具。它们存在于生态系统中。
当然,我的销售人员来找我说,“Marten,我们必须粉碎这个我们商业产品的竞争对手!” 我说“不,我们不必粉碎他们,这是开源的一部分。总会有一个由小玩家组成的生态系统存在。它们有助于证明开放性和缺乏锁定。” 大多数客户总是会找到主要供应商并说,“好的,我明白我可以在某个地方以更便宜或免费的价格获得它,但我希望与你们合作。” 您必须有这种信念,但如果您不全力以赴,您很容易陷入某种不信任的关系中。
问:拥有一个具有多个品牌的单一产品有哪些优点或缺点?
答:问题是拥有一个品牌同时用于两个方面的好处和坏处是什么。如果您去找一位对开源一无所知的品牌专家,您会说,“我应该有两个品牌还是一个?” 他们会说,“当然是一个!”
人们的注意力持续时间有限,他们记不住两个品牌。不要让他们感到复杂。我们在 MySQL 中获得了巨大的好处,因为任何说“MySeQuaL”或“MySQL”的人,总是会想到我们,它总是属于我们的。所以我们看到了这种好处。但是,当有人在 MySQL 上或为其构建了一些东西,并想称其为 MySQL 或 MySQL Administrator 时,我们就遇到了问题。我们不得不去找他们说,“我们知道您爱我们,我们也知道您是出于好意,但 ‘MySQL 某某’ 的命名惯例是我们的。您可以称其为 ‘MySQL 管理器’,这没问题,但只有我们可以称其为 ‘MySQL Administrator’。”
有时当我们这样做时,我们得到了非常消极的反应,因为他们会说,“这是什么,我正在帮助您,而您却忘恩负义。” 您必须同时温和而坚定地处理他们。
我忘了说,如果您进入开源商业模式,无论如何您都在自找麻烦,所以您不妨习惯它,但您也在寻求世界上最强大的颠覆性力量。在我看来,这是非常值得的。
问:有多少代码贡献给了 MySQL?
答:问题是有多少代码贡献给了 MySQL 或 MySeQuaL。令人惊讶的是它如此之少。当我 2001 年加入时,90% 或 95% 的代码是由一个人编写的。在接下来的八年里,当我负责那个地方时,就像我说的那样,我认为我们有大约一百个贡献者。就百分比或意义而言,它没有意义。
我已经告诉全世界,我自己也坚信,当人们说开源时,他们很容易想到贡献。“哦,这就是开源的意义所在。每个人都在贡献,每个人都很高兴。” 这不是真的!开源不一定与贡献代码有关。您在社区中做了很多其他事情:您使用代码、测试代码、编写附加组件。贡献的行为既有好处也有坏处。
我们都知道,我想我们都知道,世界上一些最好的设计是由小型团队完成的。史蒂夫·乔布斯说过,“由 A 级人才组成的小团队将把由 B 级和 C 级人才组成的大型团队远远甩在后面。” 这是非常真实的。
如果您正在构建像 MySQL 这样对并发性和同步性等有巨大需求的单体产品,您应该保持团队规模较小,以创建一个出色的引擎。然后其他人都在围绕它构建。我恰好相信这种模式。但是我们还有其他项目,例如 Apache Web 服务器,当您去说,“谁是 Apache Web 服务器的首席设计师?”
他们都互相指责。您知道您可以与创始人交谈,他们对谁是主要设计师没有看法。他们说,“好吧,我们一起完成的。” 您有一些非常成功的项目示例,其中没有严格的设计治理,但我碰巧认为,最巧妙的东西必须有核心理念,如果您没有像 Linux 的 Linus Torvalds、MySQL 曾经和现在拥有的首席设计师,以及其他人拥有的那样,那么维护核心理念是非常困难的。
这就是为什么对我来说,如果我可以为一个开源项目选择,我不需要代码贡献者。我需要那些用代码做事情的人。那更有价值。在我看来。
问:您如何决定保留哪些闭源?
答:是的,在付费和不付费之间划清界限确实很困难,无论您做什么,您都会后悔。如果您什么都不做,您会更加后悔。所以欢迎加入俱乐部。
我认为我们在 MySQL 开发了一个很好的原则,我们现在在 Eucalyptus 正在使用它。我们说,“我们相信开源。我们将尽可能多地做开源。” 我们也相信,就像食物一样,没有盐的食物可能味道不好。也许不吃盐是健康的,但只需加一点盐就很棒了。同样,我们认为对于开源产品,您可以添加商业插件,这些插件可以为其添加一些东西,而不会成为主要部分。
我们始终认为,主要的开源产品必须完全准备好用于关键任务的重度使用。您绝不能拿走任何至关重要的东西,因为那样您就会质疑和怀疑自己和自己的抱负。您已经说过开源很棒,所以您应该展示出来。
但是,当您超越这一点并说那些使用它的人,他们中的一些人想要便利,一些人想要保证,一些人想要易用性,他们中的一些人处于商业环境中,您会发现那些他们实际上正在寻找付款理由的临界情况。我们有很多客户来找我们说,“我们很乐意付款,给我一些我可以告诉老板我要购买的东西,我会购买。” 最终,这不是一个很难的价值主张,您只需要有一个明确的区别。
如果您听 Mike Olsen 的话,他最近在某个地方接受了采访,他说的事情完全一样,甚至可能更强烈。Mike Olsen 在开源方面的经验比我更丰富。
这是一个持续的辩论,您可以将事物从专有转向开放,但您实际上无法从开放转向专有。那就像搬起石头砸自己的脚。
但是您可以朝另一个方向发展,并且您可以随着时间的推移构建新的有用的东西,但这些东西对于生产工作负载来说不是必不可少的。
问:您对构建在开源软件上运行的基于云的服务有什么建议?
答:好的,是的,我们有一个例子。亚马逊,AWS RDS 是 MySQL 即服务。他们向 MySQL 的所有者 Oracle 支付任何费用吗?不。这不好吗?也许有人认为这不好,但是那些创建产品的人,就 MySQL 而言,我们决定使其开源,我们必须坚持我们的选择和我们的选择。
我认为您不必担心。您只是按照许可证应该使用的方式使用许可证,如果发起人不希望您这样做,他或她应该选择不同的许可证。我没有看到任何道德问题。您在给您的合同下使用它。
当然,如果您要构建,如果我现在要构建,如果我成立一家公司来销售 MySQL 即服务,我绝对会去找 Oracle 并说,“我将这样做,我希望与您达成商业安排,以便我获得快速错误修复,我得到您的帮助。” 我实际上会建立商业关系,因为我认为这很有意义。
我不认为有道德或其他方面的义务这样做,因为我们这些生产开源代码的人行使了自由零,即设置许可证的自由。然后许可证规定了可以做什么和不能做什么。
问:对于在开源软件上运行的基于云的服务,有哪些防御性和战略性担忧?
答:是的,如果您不是开发的核心,那么防御性就很困难,因为我们现在都知道世界上有很多软件,拥有软件只是您业务的一部分。您必须表明您可以开发它并且可以保持其竞争力。
我有点认为,是的,您可以深入研究所有问题,并且会遇到这些奇怪的、有点困难的问题。但归根结底,这非常简单。如果您做得好并且您进行创新,您就会拥有一项业务,如果您不这样做,您就不会。
如果您拥有所有东西,如果您控制所有东西并且您拥有品牌名称,那就更容易了,您拥有更多的控制权。这就是为什么 MySQL 成为如此有价值的资产。MySQL 以 10 亿美元的价格被收购。Postgres 从未被任何人收购。从技术上讲,Postgres 与 MySQL 一样好。有些人认为它更好,这没关系。
MySQL 成为价值 10 亿美元的企业,因为品牌、技能、创新、营销和销售、领导力和技术以及所有一切都集中在一个地方。它确实会累积起来,但也有组成部分。您可以选择任何一种方式。有些公司正在 MySQL 上建立业务,而没有拥有代码。
问:您如何为免费软件的支撑合同定价?
答:是的,您如何为免费软件的支撑合同定价。首先我要说,我不认为支撑是一项可扩展的业务,所以我不知道如何仅为支撑定价。
在 MySQL 和 Eucalyptus,我们对订阅定价。年度费用为您提供所需的一切:功能、支撑、法律赔偿、顾问优先权等等。我们定价,我们不知道,在某个地方,然后我们查看市场,看看它的反应,我们上下浮动。
但是,我将给您一个精彩的例子。我们在 MySQL 的总法律顾问,谁会想到律师会想出这个主意,但他很了不起。他提出了最好的营销理念。他说,“我们应该销售一种叫做 MySQL Unlimited 的东西。” 每个人都说,“那是什么,我们不能那样做!” 因为这个想法是以固定价格出售无限许可证,无论您有多少服务器。我们将价格定为 40,000 美元。我们走向世界并说,“如果您每年向我们支付 40,000 美元,您将获得 MySQL 的无限订阅。您可以拥有一台服务器或一百万台服务器,我们将照顾您。” 而 40,000 美元是 Oracle Enterprise Edition 在一个 CPU 上的价格。
整个营销技巧在行业中是如此强大,那是我们有史以来在定价方面做得最好的事情。然后在现实中,我们开始在其中构建层级,并说,“好的,40,000 美元适用于最多 400 名员工的公司,然后是 400,000 美元。” 我们围绕它建立了一个伟大的业务,没有人感到失望,它仍然节省了大量资金。我们担心它会蚕食我们的支撑能力,但这种情况并没有发生,因为实际上公司安装的增长速度并没有那么快。如果有人真的拥有大量 MySQL 服务器,无论如何您都希望他们成为您的客户,因为他们是一个很好的参考。
我们拥有很大的定价权,因为我们拥有商业模式,并且可以在市场上进行定价测试。我们做到了,而且效果很好。但是您必须有勇气进行一些测试和实验,并在定价不正确时道歉,然后回来并以新的方式定价。
评论已关闭。