TensorFlow: 如何支持一个成功的开源项目

  • Sergio De Simone
  • CarolGuo

2017 年 5 月 22 日

话题:开源Google语言 & 开发

Google TensorFlow 移动项目负责人 Pete Warden写到,围绕一个开源项目来创建一个社区需要一系列活动,涉及到支持、pull requests handling、许可使用和更多其他的东西。

Warden 解释到,新项目在初始阶段的一个大挑战就是为使用者们提供支持。最开始,开发人员们是唯一的专家,他们得想办法把自己的日常工作与其他支持任务相结合。这项工作并不简单,因为它可能将开发人员们带出自己的舒适区,很可能让他们无法专心完成主要任务。TensorFlow 团队采用软件工程师轮流的方法来应对这一挑战:每个工程师对某个特定的部分要负责整整一周的时间,大约每几个月轮流一次。

在那些曾最能帮助解决社区需求的活动中,下面这些是很关键的:

  • 审查 pull requests:这些任务通常被分配给轮流中的开发人员,由他来验证性能要求,确保测试通过,并在有必要的时候将任务转给另一个对该领域知识更了解的开发人员。
  • 确定问题的优先级:像 TensorFlow 这种被广泛使用的项目,可能会接到上千条问题报告。这就要求定义一个详细的步骤来管理优先级和记录已经做过的事情。
  • 解答 StackOverflow 上的问题:TensorFlow 团队选择了 StackOverflow 作为渠道来提供库使用上的帮助。这么做的优势在于,任何一个懂得如何回答问题的人都可以去做,无论他是否在团队中。
  • 确保测试不会失败:用 Jenkins 在大多数支持的平台上运行一套自动测试来确保这一点。
  • 采用开发人员轮流制:这也可以在兼职的基础上进行,好处在于能让开发人员了解用户的问题的第一手信息。

Warden 解释到,所有这些努力的长期目标是,扩大 Google 内部和外部有能力帮助社区的人群,改善文档,创建“playbooks”来帮助处理常见的任务(如软件故障分流)。

确保你阅读原文,它里面提到了更多有意思的细节。

查看英文原文:TensorFlow: Providing Support to a Successful Open-Source Project


感谢冬雨对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

开源Google语言 & 开发