John Dickinson 是 SwiftStack 的技术总监,也是 OpenStack Swift 项目的项目团队负责人 (PTL)。去年,他为 Opensource.com 更新了关于 Swift 进展的信息,文章是 存储策略:即将来到您附近的 OpenStack Swift 集群。在这次后续采访中,John 提供了关于改进开源项目社区协作的技巧,并预览了 他即将到来的 OpenStack 峰会演讲。
您之前与我们分享过关于存储策略的信息,但为什么这些策略如此重要?为什么这是一项如此庞大的工程?
务必回顾一下 那篇文章,了解为什么存储策略如此重要。总而言之,存储策略是人们部署 Swift 时获得巨大灵活性的基础。它允许部署者使其需求与基础设施完全匹配,并将存储的难题卸载到 Swift,以便开发人员可以专注于开发出色的应用程序。
此外,存储策略是 纠删码等较新功能的基础,这些功能最近已发布。我们在社区中合作开发存储策略功能时吸取的教训直接应用于我们合作开发纠删码的方式,因此我们的社区变得更好了。
有多少人帮助开发了存储策略?他们的角色是什么?
整个社区都参与了存储策略和纠删码的开发。创建这些功能的大部分日常工作由开发人员完成,大约有六个人。但“Swift 社区”比这更大。它还包括许多在不同公司工作的非开发人员。需要开发人员、销售人员、营销人员和产品人员共同努力,才能将这个开源项目变成对人们有用且被人们使用的东西。所有这些人对于 Swift 的成功都至关重要,无论他们身在何处。
具体而言,SwiftStack、HP、英特尔和 Red Hat 的贡献对于完成存储策略和纠删码都非常宝贵。
在不剧透您的全部演讲内容的情况下,当您尝试协调不同的贡献者和管理项目时,您做对了哪些事情,又做错了哪些事情?
我们做得“好”的地方在于专注于沟通。我们将开发人员的工作与各公司拥有的特定目标联系起来。将故事整合到一个有凝聚力的愿景中,并与所有人清楚地分享,这对于让开源项目中的人们合作完成同一件事至关重要。
但我们并没有做对所有事情。我们遇到的一个难题是在流程后期才让人们参与到开发工作中。例如,在最后将完成的存储策略功能合并到主分支时,我们将文档放在最前面,作为人们首先需要审查的内容。不幸的是,这鼓励人们在查看实际代码之前先查找小的文档错误,而修复这些错误减慢了整个流程。我们从这件事中吸取了教训,并在开发纠删码功能时,在保持每个人知情和消除那些“自行车棚效应”的审查方面做得更好。
哪些开源工具对组织项目最有用?您需要但缺少什么?
关键是沟通,而不是特定的工具。在开发过程中,我们使用了维基、IRC、Trello 和 Gerrit 进行协作。我们还举行了几次面对面的会议。这种高带宽的沟通对于交付这些功能至关重要。
这里的教训是不要纠结于特定的工具。最好的工具是那些可以集成到现有开发人员工作流程中的工具。需要额外登录的工具很难被采用。我希望看到,但尚未找到的是,一个可以将想法讨论、代码审查和问题跟踪统一到一个地方的工具。
在项目经理或开源项目领导者启动需要社区协作的项目之前,您会给他们什么建议?
沟通是关键。您无法隐藏开源项目中正在发生的事情,因此要利用这一点,并确保每个人——从开发人员到下游销售人员——都知道正在发生的事情。此外,在开源社区中,您可以设定目标日期,但实际上无法保证它们。所以不要这样做。诚实地说明正在发生的事情,并确保每个人都牢记整体愿景。
演讲者访谈
本文是 演讲者访谈系列的一部分,该系列是为 OpenStack 峰会温哥华站准备的,这是一个为 OpenStack 云软件的开发人员、用户和管理员举办的为期五天的会议.
评论已关闭。