在开源项目前要问的 4 个问题

还没有读者喜欢这篇文章。
Open here.

Opensource.com

在任何公司的开源部门中最常见的任务之一是评估内部软件,看它是否适合回馈社区。当在 PayPal 执行此任务时,我们发现将每个潜在的开源项目通过最初由 Danese Cooper 提出的审查流程非常有用,该流程旨在回答四个主要问题

  1. 谁在意?
  2. 我们还在使用它吗?
  3. 我们对它投入了吗?
  4. 它可以在一个公共树中开发吗?

本文着眼于这些问题以及它们为何重要。

谁在意?

公司外部,谁会很高兴接触到这款软件? 任何开源项目的成功都离不开社区的参与。 如果外部没有兴趣,那么围绕您编写的内容建立有意义的社区的可能性很小。 一旦目前受雇维护该项目的员工离职,就需要有人负责该项目,否则它将变成又一个被遗弃的软件。

有很多方法可以获得外部反馈。 与其他公司的同事交谈、撰写博客文章、在聚会上宣传这个想法以及在会议上发言都是很好的入门方法。 一些员工已经做得很好了。 有些人可能需要一些关于他们能够谈论什么以及如何谈论的指导。 有些人可能不习惯谈论他们的工作。 许多人只需要有人告诉他们,他们可以与外界谈论他们的工作。 我们发现为任何想要的人提供演讲培训,或帮助开发人员开发他们的博客文章的内容非常有用。

我们还在使用它吗?

如果我们不再使用该软件,它总是会受到额外的审查。 如果我们不再积极开发该软件,我们不太可能执行维护项目或围绕其建立社区所需的任务。 如果在依赖组件(或软件本身)中发现漏洞,则必须有人负责处理它。 更不用说处理诸如分类错误请求、指导新贡献者以及引导拉取请求完成合并等任务。 这些事情都需要时间,而公司不太可能将时间投入到维护不再使用的软件上。

然而,更大的问题是,仅仅开源你的失败是糟糕的企业行为。 如果我们已经放弃了一个解决方案,因为它不符合我们的需求,那么其他人不太可能发现它真正有用。 开源不是一个垃圾箱,我们可以把不再适合我们的软件扔进去,就像把衣服捐赠给 乐施会 一样。 公司有时会推出生命周期结束的项目来安抚项目的创建者。 如果一家公司只回馈它不再需要的软件,那么这家公司最好根本没有开源计划。

我们对它投入了吗?

如前所述,维护一个开源项目需要时间。 需要多少时间完全取决于项目的大小。 样式指南不需要像强大的应用程序框架那样多的维护时间,但在两种情况下都需要一些时间。 开发人员及其经理在此问题上保持一致非常重要。 如果经理不愿意给开发人员维护项目所需的时间,我们又将走上被遗弃软件的道路。

在敏捷环境中工作时,您可以通过几种不同的方式处理这个问题。 如果您的流程依赖于故事和冲刺,您可以为每个冲刺添加一个故事来涵盖维护工作。 如果您根据开发人员的能力选择工作,您应该为参与项目维护的任何开发人员适当降低能力。 如果您将工作分散给几个人,您需要确保您知道谁负责流程的哪些部分。 否则,任务很容易被遗漏。 一些项目需要专职的社区管理员。 如果所有这些听起来对经理来说不合理或不可行,则该项目需要额外的审查。

它可以在一个树中开发吗?

代码是否有任何东西会阻止我们在公共视图中完全开发代码? 如果代码由于依赖内部系统而无法公开开发,则需要隔离、抽象或模块化这些依赖项。 如果在此过程之后剩下的软件不足以对外部世界有价值,那么您应该考虑发布使项目有用的内部依赖项。 如果没有足够的剩余内容可以发布,那么就没有理由继续进行下去。

更重要的是,您不能在内部开发软件,在 GitHub 上发布带有许可证的里程碑版本,并合理地称之为良好的开源。 当进行设计和开发讨论时,外部和内部开发人员必须能够平等地参与,否则您的社区将会离开。 这意味着使您的积压工作成为社区可以访问的内容,在公共场合举行技术讨论,并且不偏袒来自公司内部的贡献。 如果项目团队不愿意做任何这些事情,他们可能需要一些关于为什么这些行为很重要的指导。

结论

这四个问题并没有回答所有的问题。 任何公司仍然需要根据他们可能拥有的任何知识产权 (IP) 考虑因素来评估项目。 应该对类似的开源项目进行研究,以确保您的努力不是重复的。 该项目仍然必须对您的公司和更广泛的开源社区都有意义,但这些问题可以作为对话的良好起点,并可以帮助筛选出那些非启动项目。

User profile image.
我在 PayPal 的 OASIS 集团(开源、可访问性、Seif、InnerSource 和其他!)负责开源工作。 我偶尔会设计一些桌面游戏。 我热衷于慈善工作和筹款活动,并且我喜欢参加慈善自行车骑行。

评论已关闭。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.