关于“Open” Distro、开源和公司建设的几点思考
Elastic 关注的焦点始终是:开发强大的产品,围绕这些产品构建社区,并帮助用户实现成功。
我在 2009 年坐下来编写了 Elasticsearch 最初的几行代码,并以开源方式提供给用户。因此我放弃了原来的工作,花了两年时间开发产品并围绕这些产品打造杰出的社区。在 2012 年,我们围绕所开发的产品创建了公司:Elastic。我们投入巨大精力维持用户社区,并且采用围绕这一社区而开发的开源产品生态系统。我们向 Apache Lucene 中新添了多得数不清的功能,将其打造成无比坚固的基石,以方便所有人在其基础上进行开发。我们增加了 Kibana(由 Rashid 开发)、Logstash(由 Jordan 开发)和 PacketBeat(由 Monica 和 Tudor 开发)等等,不胜枚举。我们开发产品,围绕这些产品打造社区,并专注于为用户提供最大价值。现在,我们有数百名 Elastic 的开发人员每天都在努力工作,致力于实现这一承诺。每天都有数十万名社区用户帮助我们取得共同成功。对于我们为打造强大社区而创建的这家公司,我感到无比自豪。
我们与用户群体之间已经建立了很大程度的信任,我对此既感到骄傲,也感到自己身负重任。我们从成立之初就是一家开源公司,并且我们在所有事务中也一直坚持全心全意为社区和广大用户服务。我们同时还专注于确保任何事情都不能让我们偏离初衷。
公司成立多年以来,我们一直面临着来自外界的担忧、不确定性和质疑。如果开发的产品大获成功,这种事情肯定会发生。这种担忧、不确定性和质疑主要来自大型(超大型)公司,因为他们担心这一发展势头会对他们不利。这是很自然的事情。“千万别使用这款产品,它就是个玩具罢了。” “这款产品只有这么几个开发人员,如果他们遭遇车祸,接下来怎么办呢?” “他们根本不知道‘企业’的需求。” “他们关于 X、Y 或 Z(插入适用于您的时下热门词汇)的说法根本不对。” 我们绝不会被这些言论左右,也不会介意这些说法。这些言论的目的就是为了分散我们和我们社区的精力,让我们偏离初衷,让我们不能继续开发用户喜欢的优秀产品,让我们不能专注于打造用户热爱的卓越社区。如果我们纠结于这些言论,那就愧对了用户对我们的期望,而我们绝对不会让用户失望。
我们的产品被不断地复刻、重新分发和重新打包,次数多到我都数不清了。这代表我们的产品十分成功,使用范围越来越广泛。这些复刻、重新分发和重新打包的公司各式各样,既有各家供应商,也有大型中国企业,而这次就是 Amazon。凡事皆有“原因”,但有时这些原因会被蒙上“大公无私”或“造福公众”的虚伪面具。这些复刻、重新分发和重新打包的产品却没有一个能维持长久。这些公司开发此类产品是为了达到自己的目的,混淆视听,并分裂社区。我们致力于开发用户喜欢的优秀产品并打造用户热爱的卓越社区,正是这一承诺和专注支持我们发展到今天,广大用户对这一点也十分认同。我们已经和您建立了极大的信任,创新速度能够满足您的期望,并且彼此之间的配合也都十分融洽,这一点毫无疑问,大家都看到了。
我们坚信开源理念,也坚信这一理念所赋予的力量。同时,我们从一开始就与大家沟通过,某些功能将是商用功能,并且说明了原因。我相信,我们公司之所以能够取得共同成功,这与我们坚守诚信密不可分。我们编写开源代码时坚持这样的方式:可以向其中添加插件,并允许用户干净地加以实施。我们的这一方式从最初一直不曾改变,多年以来,我们之所以能与广大用户建立信任,正是因为我们一直坚守承诺并努力服务于用户。
我们的商用代码一直都是其他公司的“灵感来源”,有很多公司直接复制我们的代码,甚至将这些代码用于特定的分发包或者复刻版本中,最新推出的 Amazon 产品就是一个例子,很不幸,其中包括多个关键故障,会给用户造成巨大麻烦。我们一直专注于开发用户喜欢的优秀产品,并打造用户热爱的卓越社区。我们并未因为其他公司的这些行为而偏离初衷,这一专注给我们带来了十倍的回报。
我们的品牌已经很多次遭滥用、盗用和不实呈现。很多公司都故意错误地声称他们与我们公司之间有合作,其中就包括 Amazon。然而这些行为并未让我们偏离初衷,我们一直专注于开发用户喜欢的优秀产品,并打造用户热爱的卓越社区。不能专心行事是公司发展的大忌,所以我们绝不会让这些公司的举动左右我们。最重要的是您,我们的用户,而不是围绕产品周围的熙攘噪音。
如果收购其他公司的话,我们会开放源码。当开始看到用户将 Elastic 产品用于 APM 用例时,我们所有人都感到无比兴奋。我们曾收购 OpBeat(APM 领域一家专门从事 SaaS 业务的公司),这是我们公司的一项重大商业投资,然后我们将大部分内容都开源提供给用户,并让用户能够自由使用全部这些内容。决策过程就这么简单,因为我们专注于开发用户喜欢的产品,并打造用户热爱的社区,所以作为我们的用户,您理应使用这些产品。
在其他公司封闭源码的同时,我们却在开放源码。我们的开源代码一直都是一样的,而且都基于同样的许可证,同时我们还加大力度争取在公司层面越来越开放。我们针对现有商用代码使用了另外一套更加宽容的许可证,并且开放了源码。我们希望在从事的所有事情中,都能打造与我们的开源代码相同程度的协作和透明度。与用户进行过多场讨论后,我们决定通过这种方式来直接满足用户的需求,看到大家对此种做法如此认同,我感到十分高兴。自此之后,我们在开源方面的投入一直在增加,同时也致力于提供更多免费功能和体验(已明确地进行标志和分发)。
其他公司看到我们取得成功,便与我们联系要求建立特殊的合作关系以就代码进行协作,要求获得优待以便凌驾于我们的用户之上,这时我们的答案很简单:不行。这些年来,这样的事情发生了很多次,最近又发生了一次,那就是 Amazon。有些公司遵守我们的宗旨,并成为了我们和社区的优秀合作伙伴。很遗憾,其他公司则未能做到。我们承诺:我们会同等对待每一位帮助我们开发产品的开发人员。任何人都没有优先权,如果有人要求优先权,我们会断然拒绝所有此类要求。我们的答案从始至终只有一个:发送提取请求,和所有其他人一样。质量将会说明一切。
我之所以写下上面这些内容,主要有下列几项原因。首先,我们所有人有时都需要自我反省,取得成功靠的是什么,背后的原因又是什么,从而确保我们坚持正确的发展路线。这一点适用于作为我们广大用户的您,适用于我们的社区,也适用于我们公司。第二,我想告诉其他公司,虽然有很多理由会让你们偏离初衷,但还请保持专注,并真正服务于用户,这才是唯一重要的事。最后一点,我想重申我们的承诺:继续开发用户喜爱的产品并打造用户热爱的社区。这是我们的真正目标。
在 Elastic,每一天都是第 0 天(与我们所服务的开发人员一样,我们也使用从零开始的计数方法)。从我写下第一行代码,到我们和所有用户经过的 10 年历程,再到未来,我们一直坚守初心。谨此代表 Elastic 向大家表示真诚的感谢。