为了让开源项目办公室顺利运行,您需要正确的工具。这些关键的任务工具将用于追踪各部门的目标与指标,从工程部门和法律部门到行政领导部门、公关部门与营销部门,同时给予员工收集数据、提供开源软件运行快照和管理公司内部开源软件日常使用所需要的全部资源。
最大限度优化组织中运行开源计划或启动开源项目的实践。这些资源由 Linux 基金会与 TODO Group 合作开发,代表了我们的员工、项目和成员的经验。
◈ 英文: https://todogroup.org/guides/management-tools/
◈ 中文: https://linuxfoundation.cn/tools-managing-open-source-programs/
◈ GitHub: https://github.com/todogroup/todogroup.github.io/blob/master/content/en/guides/management-tools.md
开放源代码的战略性应用之路,起始于一个精心策划、组织与授权的开源项目办公室,以指导和管理开源的创建、分发和使用。但这仅仅只是第一步。为了让开源项目办公室顺利运行,您需要正确的工具。这些关键的任务工具将用于追踪各部门的目标与指标,从工程部门和法律部门到行政领导部门、公关部门与营销部门,同时给予员工收集数据、提供开源软件运行快照和管理公司内部开源软件日常使用所需要的全部资源。
本指南提供了如何开始您的开源工具集建设的详细信息和场景,包括用于跟踪和管理您的开源项目的最重要工具的信息。指南中提及的许多工具已由Linux基金会和该领域的其他领导者创建并开放源代码,可以免费且便捷地为您的项目所使用。您还可以找到一个仪表盘安装程序的示例,该程序融合并展示了多种工具的信息。
本指南的撰稿人
◈ Chris Aniszczyk - Aniszczyk 云原生计算基金会首席营运官
◈ Jeff McAffer - 微软开源项目办公室主任
为什么您需要特殊的工具来进行开源项目管理
一旦您的开源项目办公室启动运行,就应该同时收集合适的软件工具,这些工具允许您的开发团队管理、跟踪、指导和推进其开源项目、开源贡献与开源发布。
◈ 为协作和代码开发提供工作场所
◈ 管理项目质量
◈ 自动执行关键且重复的任务,如代码审查与跟踪,以及许可证合规性审查
◈ 通常,生成数据以证明您的开源项目办公室和开源战略的投资回报率
◈ 监督项目质量并确保突发问题出现时,应急防护措施是到位的
在您开始您的开放源代码之路时,使用正确的目标工具还将使开发人员和其他员工的工作更为轻松,也将提供更好的结果,并将成为公司开源项目的成功协作与沟通的基础。
“如果你正在尝试管理 100 多个代码库或是 100 个人,那你确实不能再让人用电子表格手动操作了。但显然,人们依然在这样做。不过,这样的操作方式开始用于临时应急,并且变得费时费力。这便是工具发挥作用的地方。它们允许你批量操作。”
Jeff McAffer[4] – 微软开源项目办公室经理
“归根结底,你需要工具来自动化你的生活,否则你将会浪费大量时间手动完成工作。”
Chris Aniszczyk[5] – 云原生计算基金会首席运营官、前 Twitter 开源项目负责人
如何选择和安排您的工具
公司所需的开源工具有哪些?早期的讨论大多认为,这取决于公司的业务、产品和服务,以及公司如何服务它的客户和员工。由于开源项目办公室制定了规划流程和战略地图,因此可以选择那些能整合进公司的目标、流程和基础架构的工具。
最终,知道您将需要使用哪些工具的唯一方法,就是了解您想要对开放源代码进行何种操作。
以下是开源项目办公室选择所需管理工具的基本步骤:
1. 获取开发者和社区成员的认同和选择偏好。要做到这一点,您需要与开发人员和社区成员进行详细的讨论。他们可以描述什么样的工具已经或者将最适合他们。请务必认真重视这些建议和要求。认真倾听那些能让你实现目标的人的观点。他们是最可能已经使用了许多这些工具的人,因此可以从他们的经验中受益。
2. 根据关键业务应用了解需要依赖和集成的关键软件。这意味着了解并知晓您的业务所依赖的开源软件,以便您可以跟进了解安全问题并确保软件的持续性。
3. 研究现有的工具,并决定哪些工具您可以直接使用,或哪些工具可以继续开发以满足您的需要。不要每一个工具都从头开始开发。查看已存在于您所在的开源社区中且正在被使用的工具,并获取有关这些工具的建议和反馈。在在线开发社区中多搜寻,看看有什么有用的工具,并寻求推荐和建议。在开源会议上提问,在兴趣小组Birds-of-a-Feather中与开发人员交谈,并向那些已经实现你期望的前人学习。
这些工具一旦被选定,在落地使用之前,还需要一些额外的准备:
1. 创建一个用来支持、管理和使用这些工具的内部基础架构。在您新建立的开源项目办公室中,指定一个人来维护和开发内部基础架构。该架构有一线上内部门户,会根据任务和特性保存和组织这些工具,并实现工具的分发。在此工具门户中,您可以将这些工具提供给所有的开发人员,或者根据他们的工作和需求,通过身份认证和权限限制开放给特定的用户。
2. 为将使用这些工具的员工制定培训计划。只是获得工具是远远不够的。现在您必须保证您的开发人员知道如何使用它们并掌握其功能。培训可以是在线、在教室,或是在小型午餐小组中,让他们了解工具使用的益处很重要。询问您的开发人员哪种学习方法对他们最有效,并让他们选择自己想要的学习方式。
3. 确保工具在您的组织中集中可见。要使开发人员能够轻松查找与使用它们,最好将其整合到任何现有的用于跟踪开发进程的开发人员仪表板中。同样,这也有利于您公司操作这些关键工具的组织和发布。
当您在选择工具时,实施操作有助于记忆,当然这也可能会影响您的决定。例如,具有陡峭学习曲线的工具可能需要更多的培训。
利用现有工具
在认识到达成组织的目标上你团队的需求,以及自身情况和基础架构的潜在限制之后之后,接下来要做的就是要探索并了解那些已准备就绪且可供您使用现有工具。由于大多数工具本身就是开源的,所以如果它们一开始并不能满足您的确切需求,您的开发团队可以联系这些工具的开发者,看看