开源项目办公室是任何现代公司的重要组成部分,这些公司都有相当宏伟的计划,希望影响软件生态系统的各个领域。如果一家公司想要扩大其影响力,明确其开源信息,最大限度地提高其项目的效力,或提高其产品开发的效率,那么采用多方面的开源项目方法至关重要。在观察了许多此类团队的运作后,我总结了成功的开源项目的六个共同特征
- 营销很重要。 永远不要低估扎实的营销计划和品牌战略的力量。
- 战略性地投资于开源社区和生态系统。 有些社区比其他社区更符合您的技术目标。
- 获得强大的法律顾问。 如果没有合适的法律顾问,开源项目办公室最终可能会给公司管理层带来不必要的风险。他们也可能扼杀创新,因此要取得适当的平衡。
- 与产品战略保持一致。 如果您的开源项目办公室没有帮助您的产品战略,那么这可能是一种浪费。
- 制定并传达您的最终用户和开发者社区支持策略和指南。 您公司中任何想要启动或参与现有项目的人都应该了解一个良好运行的社区是什么样的。
- 聘请一位信徒。 开源实用主义者随处可见,但您具有创新精神、前瞻性思维和雄心勃勃的开源倡导者极为罕见且宝贵。如果您想有所作为,请聘请他们来运营您的开源项目。
在本文中,我将探讨开源项目办公室的演变。
定义开源的成功
早在“开源”还是新鲜事物的时候,人们就争先恐后地理解其成功的影响。从开发人员到管理员再到企业高管,每个人都在努力理解代码免费赠送的世界。当然,也包括软件供应商和大型风险投资支持的初创公司的高管:他们的商业模式会走向恐龙的道路吗?他们如何才能利用开源趋势?
当时,一些公司开始创建部门来规划他们的开源战略,最著名的是 2004 年的 Google,尽管其他公司也有先例,包括 IBM、英特尔、Oracle 等。那时,我认为一旦开源成为主流,对这些部门的需求就会消失。毕竟,当每个人都在使用开源软件时,谁还需要开源愿景或战略呢?
事实证明,这种观点有点天真。尽管开源很受欢迎,但在大多数科技公司(包括初创公司)的高管阶层中,对于开源开发和生态系统的来龙去脉仍然缺乏经验。大多数科技公司的高管从未在开源社区中积累经验。他们仍然不了解参与者的许多动机,也不了解许可模式、各种类型的产品化和商业模式之间的细微差别,或者专有软件和开源软件如何结合使用以创建更好的产品线。他们中的许多人仍然抱有(已被驳斥的)模糊观点,认为开源项目被用来免费获得软件开发,而无需支付任何费用。他们可能隐约觉得它对于招募顶尖人才很有用,但他们不太明白其中涉及对等交换:要获得一些东西,你必须付出一些东西。他们不明白开源生态系统是受管理的生态系统,成员为了创建公平的竞争环境而遵守规则。
事实证明,在 2016 年,公司比以往任何时候都更需要开源项目办公室。这样的办公室是需要理解开源流程的几个正在进行的同步工作的中心枢纽。
- 法律: 许多公司都有多种许可证、嵌入式或 OEM 第三方工具、专利组合以及多个商标和受版权保护的作品。这种知识产权的混合需要计划和远见,在考虑采用公司范围内的法律框架时,该框架需要在公司眼前的利益(即,捍卫所述知识产权的所有权)与开源计划的长期目标之间取得平衡。
- 营销: 有些人会告诉您开源计划不需要营销。他们错了。然而,所需的营销类型与传统的企业营销不同。
- 产品管理: 您发布的所有内容,无论是否开源,都是产品,无论它是否带来直接收入。最好确保您发布的开源产品能够增强您的整体产品组合和战略。
- 工程: 您的工程团队是否了解参与开源社区的要求和规则?他们是否获得法律许可来贡献代码?他们是否知道不要将大型补丁作为他们的首次贡献发送?
- 客户支持: 您的产品需要考虑在发布后如何支持它们,无论它们是否直接或间接地带来收入。您发布的开源产品将需要可靠的支持模式,即使它是“自助服务”。
- 社区发展: 您将如何鼓励其他人参与您的开源社区?这不仅仅是一些问答论坛,尽管这肯定是其中的一部分。什么是最佳治理模式?您是否确定新用户和开发人员会感到受欢迎?
- 生态系统发展: 不要与上述混淆,您的开源工作将如何与其他社区互动?您是否孤立存在,还是您打算让您的社区成为相互关联的整体方法的一部分?
这些和其他类别的活动只是在评估如何执行开源计划时需要考虑的几个方面。随着开源软件在您的产品组合中变得越来越重要——几乎肯定会这样——最好确保它能够增强您的整体公司战略并产生放大效应。
现在让我们看看过去的努力以及它们如何促成了我们现在拥有的“最佳”方法。
工程团队
对于开源软件而言,1998 年和 1999 年是里程碑式的一年。那时 Linux 的增长变得不可忽视,一些公司开始投资于新兴的 Linux 平台的开发。在 IBM 和英特尔的案例中,他们启动了一项工程工作,以确保 Linux 可以在他们的标志性平台上运行。他们各自创建了工程团队,旨在确保两件事
- 提高其在具有战略重要性的开发者社区中的相关性,以及
- 由于他们参与社区的直接结果,更有效地交付现有产品。
随着时间的推移,他们都发展出一些模型,使公司能够决定投资哪些开源项目和计划,并且他们将工程资源分配给他们的开源团队来承担这些计划,与内部产品团队携手合作。基本上,只要有持续的收入模式,他们就会制定工程资源来为这些努力做出贡献。
就工程努力而言,这些都是巨大的成功。英特尔对 Linux 和其他开源生态系统的贡献是众所周知的。IBM 仍然以其“在 Linux 上投资 10 亿美元”和“和平、爱与 Linux”营销活动而闻名,更不用说它自己在建立 Eclipse 基金会和对 Apache 软件基金会的重大贡献方面的努力。这两家公司还为自己配备了精通知识产权法的律师,特别是与影响开源软件的版权和商标法相关的律师。这些努力为在开源环境中更广泛地理解知识产权法铺平了道路。
然而,以工程为主导的方法存在局限性。从集中式开源计划的整体角度来看,似乎有很多收获,我将在下面概述。
Google 的实验
到 2004 年,开源已成为大势所趋已变得显而易见,积极参与社区的公司可以从中受益。但科技行业的许多人仍然怀疑开源增长的长期潜力。Google 及其开源项目办公室 (OSPO) 应运而生。
Google 不满足于仅仅贡献开源代码并在其产品中使用它,而是采取了额外的步骤,在 Google Code 上托管了世界上大部分开源代码,并创建了极具影响力的 Google 编程之夏活动,该活动向学生支付津贴,让他们在夏季从事并完成开源软件项目。事后看来,这是家具有远见卓识的公司向前迈出的具有远见卓识的一步,该公司希望在技术领域留下自己的印记,并且该公司清楚地将“开源影响力”视为实现其目标的途径。必须赞扬团队的才华横溢的成员及其富有远见的经理 Chris DiBona。
然而,从 Google 的实验中吸取的教训并没有立即站稳脚跟,这有点令人失望。在 Google 的开源项目办公室成立十二年后,很少有公司像 Google 在 2004 年那样拥抱开源参与的所有方面。多年来,Google 从其 OSPO 的雄心壮志中获得了丰厚的回报,包括在大型开源社区中的广泛影响力、来自全球数千名开发人员的良好意愿,以及其正在进行的工程师招聘工作的渠道。大部分功劳归功于 Chris DiBona,他拥有的愿景超越了许多人认为可能的范围。
开源之道
当我审视开源项目的范围时,已经进行了足够的努力来衡量它们的相对成败,并提出一些类似于最佳实践的东西,或者至少是不应该做的事情。似乎非常清楚的一点是,雄心和预算与最终的成功直接相关。如果您只有其中之一,那么成功将受到内在的限制。如果两者都没有,那么您正在构建一个注定要失败的系统。最终,可以从上述所有努力中汲取许多经验教训,以帮助为您的公司构建理想的项目。
领导开源项目工作需要同等的知识产权智慧、营销头脑、对创新的渴望、创业精神和充沛的雄心。这些努力通常是公司核心战略的中心——从开发者关系和社区营销,到产品开发和前沿工程。因此,领导这些工作的团队应该敏捷、精干、与公司内部的多个部门保持联系,也许最重要的是,与公司的核心战略保持一致。
开源项目中的伟人理论
(或者“开源实用主义者无需申请”)
无需仔细阅读前面的段落就能知道我非常赞赏 Google 的方法。即便如此,Google 并不完美,但他们做对的一件事是从一位渴望看到开源蓬勃发展的领导者开始。在这一点上,开源已经非常普遍,以至于每个从事技术相关工作的人都在某种程度上参与开源生态系统。但是开源信徒,那些认为开源方法优越并且应该在所有技术领域推广的人呢?这些人相对稀少,他们正是您希望倡导您的开源工作的人。
工程很重要
为了最大限度地提高行业影响力,卓越的工程技术是关键。IBM、英特尔和红帽的大量代码贡献在其更快地交付产品以及在产品发布后提高各自的采用率方面发挥了重要作用。IBM 早期押注 Apache Web Server 作为其 WebSphere 产品的关键组件,此外还押注 Linux 作为 x86 服务器的未来平台(当时)。它创建的 Eclipse 基金会长期以来一直是一个成功的故事,它催生了一个相当大的生态系统。英特尔还明确押注 Linux 作为设备及其物联网战略的首选平台,多年来为 Linux 内核做出了重大贡献,此外还在图形驱动程序、大数据 (Hadoop) 和存储 (Ceph、CoprHD) 等其他领域做出了少量贡献。红帽将其整个产品战略押注于开源软件,是 Linux 内核、OpenStack 和许多其他项目的主要贡献者。
为了最大限度地提高代码贡献的影响,开源项目可以推荐值得投资的正确生态系统,确保公司内部的其他团队履行其法律义务并遵守规则,并培训其他团队如何参与开源社区。在强大的开源项目领导下,这些团队可以帮助引导航向朝着正确的方向前进,确保他们的工程努力与其他部门保持一致。如果没有强有力的领导,公司内部的许多部门可能会发现自己在重复工作,或者更糟糕的是,与其他人做出的工程努力相矛盾。通过在该领域的集中努力,公司可以提高效率并最大限度地提高其开源影响力,无论是在内部还是外部。
法律专家和知识产权法
开源的成功始于并终于现代知识产权法的概念,特别是与商标和版权相关的概念。没有知识产权法,开源就不会成功。开源定义本身要求软件项目的版权许可证满足某些标准才能正式符合“开源”的条件。因此,开源项目的成功也取决于优秀的律师,他们深入了解开源之道以及知识产权法所起的作用。诀窍是找到既了解风险缓解又不会扼杀创新的罕见律师。具有强大法律领导力的人了解许可证合规性的价值,可以清楚地传达任何特定开源活动的风险,并帮助教育其他内部法律顾问了解知识产权法在开源软件中的作用。
当您开源您的代码时,不再需要假装成为功能的唯一仲裁者。你不是。代码已发布,它启用的所有功能和特性也是如此。这意味着您拥有的内在价值的东西是
- 品牌,受商标法管辖,
- 所有权,受版权法管辖,以及
- 许可证,它规定其他人如何与您的代码和社区互动。
当然,软件供应链中还有许多其他价值层次,但通常它们并不那么明显。因此,您的法律顾问必须是一流的,这势在必行。
这就引出了许可问题。在许可证选择上花费了太多时间,但对于一家想要在软件开发的一个或多个领域中以影响者身份闻名的公司而言,遵守许可尤其重要。因此,需要具有必要法律团队的集中式开源项目,以确保合规性并清除任何阻碍创新的法律障碍。
战略一致性(不仅适用于 MBA)
开源项目团队至关重要的另一个领域是产品战略。开源项目推动效率、创新和行业影响力。这些目标有时会相互冲突,从而增加了在同一公司中留给不同部门的开源战略也可能相互冲突的可能性。开源项目最终应服务于公司的利益,尽管这可能不像听起来那么直观。在某些公司中,开源工作可能会直接相互矛盾,给人以没有集中计划的印象,而其他公司则限制其开源工作,以至于完全无效。
一家公司可能会发布项目 X,这是一个旨在容器编排的非常棒的新型项目。稍后,同一家公司决定发布项目 Y,它也是...一个旨在容器编排的非常棒的新型项目。优秀的开源项目团队的关键不一定在于阻止这种情况发生——尽管这可能是最好的选择——而是要确保如果这种情况发生,公司能够清楚地说明发生这种情况的原因以及为什么有必要这样做。这意味着开源项目团队必须与任何发布代码的工程团队进行沟通(在某些情况下,如有必要,还要告知彼此的存在)。有很多例子表明,一个团队“擅自行动”,决定在未告知公司内部其他团队的情况下开源一个项目,从而导致公司高管和外部社区的困惑,最终导致努力失败。在创新和混乱之间取得平衡可能很困难,但应该尝试。
这再次表明,需要一个约定的中心位置,以便进行开源战略协调。这也意味着,当一个团队想要将其开源项目推向世界时,开源项目团队需要资源来处理收到的请求,从而使他们能够在合理的时间范围内发布所述项目。至少通过这种中心协调,人们希望信息能够清晰,协作能够随之而来,并且能够享受成功。
遵循开源之道
如果运行良好,开源项目和管理它们的团队将影响软件业务的许多方面,包括客户支持、工程、产品管理、业务开发和营销。将重点放在上述某些方面而排除其他方面是本末倒置:无论您是否已经意识到,开源都非常重要地处于您业务的中心。集中式开源项目办公室只是对这一现实的认识,也是从开源参与中获得最大利益的最佳方式。
评论已关闭。