早在开源被咱们称之为开源,Rich Bowen 就曾经参加其中。作为 Apache 软件基金会的成员,Rich 目前负责董事会成员、会议副总裁。此外,他还是 AWS 的开源策略师。这些多重角色赋予了他对开源的更宽泛和粗浅的了解。
在他于 2023 年 CommunityOverCode Asia 发表了“与管理层议论开源”的主题演讲后,咱们和 Rich 坐下来一起探讨了演讲背地的更多内容。除了管理层和开源,咱们还探讨了 AWS 和 Apache 软件基金会在开源我的项目中的办法和策略,构建开源生态系统最重要的因素,以及 Rich 是如何均衡不同的角色等话题。
思否:近年来,中国的公司相继设立开源打算办公室。作为一家出名的开源公司,AWS 是如何治理、经营和推广开源的呢?
Rich Bowen: 总的来说,AWS 和亚马逊从一开始就始终在基于开源进行构建,咱们所做的所有都依赖于开源。在亚马逊,咱们遵循领导力准则,这些准则影响着咱们的思考形式。
第一个准则是顾客至尚。咱们始终关注客户并优先满足他们的需要,所以咱们构建了所有这些基础设施,而这些产品都建设在开源技术之上。最重要的是,开源我的项目必须具备可持续性。咱们在开源上所做的所有,首先须要确保这些开源我的项目放弃衰弱的运行。咱们还有一项工作是项目选择,如果有多个我的项目可供选择,咱们会尽量抉择一个领有衰弱生态系统和弱小社区的我的项目。这意味着很多事件,包含泛滥公司的参加以及通明的我的项目沟通。接下来,咱们会亲密关注这些社区,确保它们的生态是衰弱的,同时咱们也会积极参与社区保护,这是最重要也是咱们关注的焦点。
咱们推广开源的形式不是独立进行的,而是是与社区一起。例如,咱们十分依赖 Apache 我的项目,如 Kafka 和 Airflow 等。咱们通过参加他们的会议,比方 Kafka Summit 和 Airflow Summit 去进行推广。通过和社区一起推广,咱们能够确保这是社区的认识,而不是亚马逊的认识。此外,咱们还会参加社区活动,如 KubeCon 或开源峰会。
思否:这更像是让公司退居幕后,但对于一些在我的项目中投入了大量资源的开源公司来说,做出清晰的决策可能会很艰难。他们可能会因为投资而含糊界线,或者将我的项目视为本人的品牌。
Rich Bowen:的确如此。有时你会对一个开源我的项目的推广产生纳闷,他们是在议论我的项目还是在议论公司?这很难辨别进去。
像任何大公司一样,不同部门之间会存在差别。但作为一名开源策略师,我的工作是参加部门其中,并为他们提供倡议,通知他们咱们认为正确的参加形式,即把社区放在第一位,而不是咱们本人。
思否:你能分享一些优良的 AWS 开源我的项目吗?
Rich Bowen:从我的角度来看,Amazon 参加的开源社区次要分为两种类型。一种是次要由亚马逊主导的,另一种是次要由社区主导的。
咱们参加的一类开源我的项目是围绕咱们某项服务的,因而除非他们是客户,否则其他人没有真正的能源参加其中。还有一类我的项目是很多公司参加进来的,比方 Apache Kafka。我次要关注的是第二类我的项目,也就是真正的社区我的项目。在亚马逊,我参加的大多数我的项目实际上都是 Apache 我的项目。
我最为兴奋的我的项目之一是 Apache Airflow,因为这是一个亚马逊积极参与的我的项目。尽管这个我的项目并不属于亚马逊,但咱们有很多全职工程师也参加其中。作为一个社区我的项目,也有许多其余公司参加其中。我集体认为,这是咱们最佳参加我的项目形式的模型之一。
思否:在你看来,该如何建设一个开源生态系统呢?
Rich Bowen:放弃沟通通明是最重要的事件。所有对于 Apache Airflow 的探讨都通过邮件进行。咱们并不会进行外部会议,而后告诉我的项目:“这是咱们做的决定”。相同,咱们向社区递交提案,接着在社区中进行探讨和决策。所以,所有的前提是放弃公开通明。
第二局部是怀着谦卑去聆听。不是因为我有答案,所以你应该批准我的观点,而是要聆听整个社区的想法,而后独特做出决策。开源畛域的晚期思想家之一比尔·乔伊(Bill Joy),他开办了 Sun Microsystems 公司。我始终记得他说过的一句话: 不论你在哪家公司工作,世界上最聪慧的人都在别处工作。 所以,认为你的团队领有所有答案是高傲和短视的。最好的想法总是来自其余中央,所以更应该聆听,因为它们能给你一种新的形式思考。
所以,聆听也是其中一个重要的局部。获取信赖很难,而失去信赖却很容易,所以你必须博得社区的信赖。尊重别人,礼貌和沉着地聆听,奉献本人的想法,但不要试图强制他人承受你的观点。
思否:你既在 AWS 工作,又在 Apache 软件基金会工作,这两者之间有哪些类似和差别?
Rich Bowen:最显著的差别是动机。公司存在的意义是服务客户和盈利,而 Apache 社区存在的意义是为了公众生产免费软件。
但从某种程度上,两者之间是有一些类似的中央。正如我后面提到的,顾客至尚是咱们的首要领导力准则,这和开源我的项目是统一的。如果不专一用户,那你就失去了意义。
对于一家想要胜利的公司,无论用户是否付费,你仍必须把他们都当做你的客户。兴许他们将来会付费,兴许不会,但你仍须要确保你们在开发人们须要的产品,这在开源畛域也是同样实用的。
在凋敝的公司和蓬勃发展的开源社区之间还有一件不变的事物,那就是无论你在发明什么——汽车、服务还是软件——最终你交付的产品还是信赖。
您的客户是否信赖你?如果他们不信赖你,无论你的产品有多好,他们都会来到你,这在开源社区中也是一样的。信赖永远是最重要的事件。如果你的开源社区失去用户的信赖,无论产品有多好,他们都不会应用它。咱们每周都会跟进一些开源我的项目,这些我的项目会在不听取社区反馈的状况下做出决策。这种不通明的做法导致了信赖的缺失,使得这个我的项目一夜间散失了所有用户。
思否:从基金会或者社区的角度来看,当你以处在不同角色的时候,是否存在抵触?也就是说,是否会有一种感觉,认为这样做是谬误的?
Rich Bowen:会的。当存在利益冲突的时候,重要的是坦诚面对,并放弃通明。
例如,有一些我的项目是我所在公司高度依赖的,我可能会想让该我的项目做出特定的决策。或者当咱们的竞争对手参加了该我的项目,我可能不心愿他们胜利。因而,在进行这些探讨的时候,对我来说十分重要的一点是,须要坦率地表白出,我在亚马逊工作,这些是咱们的利益,这些是潜在的利益冲突。在表述后,我会致力将社区的利益放在首位。
这和之前我提到的观点无关。我的项目的所有参加是通明的并以上游为先,这两者都很重要。因为如果你在外部先做出决策,而后将其带到我的项目中,那就没有把我的项目的利益放在首位。但如果你专一于你的客户和用户,那么你会心愿我的项目能胜利。有一句谚语叫水涨船高,这意味着如果我使我的项目胜利,我会帮忙我的竞争对手,这是能够承受的。因为落潮推动了咱们所有人,咱们一起单干这个我的项目。看起来我或者在帮忙我的竞争对手,但我次要在帮忙我的客户。
思否:那么管理层应该关注开源的哪些方面,以及为什么这些方面尤其要害?
Rich Bowen:我认为管理层最须要了解的一点是,开源是供应链的一部分。
无论你的产品是什么,都须要其余中央的原材料和自然资源。如果你只是耗费,那么最终将耗尽资源。如果咱们把开源看作是咱们的原材料,那么咱们有责任确保这一原材料源头的衰弱。如果你是一名木匠,你会心愿确保森林始终存在,你会种植新的树木,而不仅是砍伐。因而,我试图向管理层传播,咱们的责任是维持可持续性。咱们有责任确保咱们依赖的我的项目是衰弱的。
历史上,有许多公司构建了开源的业务模式,却没有回馈社区,这导致了几种状况。其中一种状况是,我的项目可能会对你产生敌意,并寻找办法来拥护你。最终,你可能会陷入这样一种状况,你在某个根底上构建了产品,但该我的项目可能更改了许可证,将你排除在外。
另一种状况是,如果您不积极参与,那么在我的项目决策中,你就没有发言权。兴许我的项目会朝着不合乎你的利益方向倒退。因而,积极参与供应链其中是至关重要的。这一点不仅在软件畛域如此,对于任何业务来说都是如此。如果你依赖煤炭,那么你应该理解煤炭业务的运作形式,以便能够提前几个月或几年看到将呈现的问题。这对我来说是最重要的事件。
最初一个是信赖,这又与通明无关。你须要确保与我的项目进行凋谢的沟通,并且不做出让社区感到恼火、难堪或贬斥社区的决策或营销形式。你须要给予向那些正在工作的人正确的赞美,并按这种形式去做事。
思否:你提到了应用和利用开源软件,这让我想到了另个话题:奉献。治理团队在应用、奉献或利用开源软件时会面临哪些挑战?又该如何解决这些挑战呢?
Rich Bowen:我认为企业在与开源单干时面临的最大艰难,我在昨天的圆桌探讨中也提到过,就是要有急躁。当你尝试在开源我的项目中做出决策时,须要进行探讨,而不能仅仅让你的经理说:“这就是咱们要做的形式。”
有时,你必须期待数天甚至数周能力做出决策,而这对于须要公布产品的公司来说是十分丧气的。例如,我有一个产品公布的截止日期,还有须要在行将到来的发布会上发表新性能。而在开源我的项目中,你不能这么做。这就是一个挑战,你须要向管理层解释他们为什么应该期待。
咱们以客户为导向,而用户就是咱们的客户,所以咱们应该期待。咱们须要确保咱们有工夫和急躁期待用户的反馈。当我对一个新性能有了很好的想法,我会感到兴奋并想要推出它,然而用户认为这不是一个好主见,那么最终这个性能将失败,所以咱们须要期待。你甚至能够将其当作为市场钻研,而来自社区的用户反馈是值得期待的。参加我的项目的开发人员代表了他们本人,他们是最理解产品也是最有教训的用户。所以咱们必须确保他们在决策过程中,而这使得和管理层沟通截止日期的问题变得很难。
思否:管理层代表着公司,和开源其实是有人造的抵触。那么,你将如何压服管理层,了解开源的概念有助于策略调整以实现业务指标?
Rich Bowen: 回到之前的问题,我认为让他们了解原材料和供应链是很有用的隐喻:如果咱们售卖牛奶,那就不应杀掉奶牛。
现在,有些人会说,“那咱们应该买下奶牛,不理睬农民,咱们应该本人做这些事件。”对于一家企业来说,了解本人在哪些畛域有独特的劣势,以及舍弃哪些畛域是很重要的。因而,你能够在独特的畛域进行单干,而专一于具备独特劣势的畛域。
例如,AWS 齐全致力并善于托管网络服务。咱们在世界各地都有数据中心,咱们领有宏大的规模、疾速的网络和才华横溢的系统管理员。但咱们运行的软件是由全世界和整个社区共同开发的,咱们与别人分享这些资源。而后,咱们专一于咱们独特善于的畛域。
我在红帽工作了九年。红帽并不是一家软件公司,它发售技术支持服务而不是软件。我会倡议销售人员不要强调本人是世界上最优良的软件生产商,因为软件是由社区共同开发的,而咱们善于的是销售反对服务。这是我在红帽工作期间思考了很久得出的论断,而在 AWS 也有着类似的状况。
你能够拜访 Rich 的博客 DrBacchus.com,理解更多对于他对于开源的想法和见解。
作者: 大花
Anne Zhu is the community manager of Answer, SegmentFault.
大花是思否旗下开源问答软件 Answer 的社区经理。