如何避免在开源社区中的技术债务
大多数企业和政府系统使用一些开源组件。有些公司进一步进一步并在开源技术上运行核心系统。
但是,根据GitHub的高级软件工程师Mike McQuaid,维护这些项目的人需要更多来自用户社区的支持。
“我们正试图让更多参与开源项目的人,”他说。“为开放来源做出贡献的最佳地点并不是在他们的空闲时间,而是在他们的工作时间。”
McQuaid表示,算法可以很有趣,以便为开源做出贡献,但如果这些捐款与业务依赖的项目保持一致,则对本组织更有价值。
他说:“每天,每天都应该花几个小时的时间在他们公司依赖的开源项目上工作,”他说。
麦基德说,如果一家公司使用如MySQL等开源技术,例如MySQL,那么该组织中的某个人应该试图如何为MySQL提供贡献。
“如果你有一个建立专业知识和知识的人,那么当你对MySQL问题有问题时,这变得非常有价值。”
McQuaid正在Github上展示了一份正在寻找如何使代码维护者的生活更容易的程序。
在他的经验中,人们可能会因维持开放来源的压倒性而受到过度劳累和强调。
McQuaid相信部分问题是,维护者常常通过自动化工具选择手动流程,这可以大大降低工作量。“在开放来源中有很多东西可以手动或尝试使用自动化,”他说。“我认为有很多开源维护者试图手动做大量的事情,这可能是自动化的。这就像试图用钝斧砍下一棵树。“
例如,他说有人可以提交拉出请求,其中贡献者向项目提交代码。“但如果您没有自动测试运行和自动检查和代码覆盖工具,则必须手动执行所有此项,并且令人难以置信的耗时,”他说。
管理开源提交的是Zalando在本周在伦敦Github欧洲的演讲期间劳里·奥斯·斯维尔(Zalando)讨论的主题。
Apple是在线时装零售商的开源福音师,拥有1,700名开发人员团队。
Zalando曾经以命令和控制方式运行它,并没有鼓励团队参与开源软件。Apple表示,当团队开始使用Postgre和Python时,这发生了变化。“2015年,我们阐述了一些开源软件原则,并于2016年1月,我们在Github上有400个存储库,”她说。
该公司在理解为什么通过Github表示为什么代码发布到开源社区,Apple表示。“我们正在强迫释放工作,我们没有问该价值是什么。
“如果我们没有急于发布,别人会担心。”
苹果公司表示,在这一创造的问题中,这一创造的巨大变化是在Github上发表的代码质量的巨大变化。“有时我们缺少文档或测试文件,我们没有回复人。”
虽然分享开源代码鼓励Zalando的程序员发展并允许它回馈社区,但是一些代码并没有特别有用,说苹果公司。
“我们利用了Github的Freeness,但如果我们问社区,我们就会以不同的方式完成。”
作为一个例子,在她的演示期间,Apple展示了一块Zalando云基础设施管理的幻灯片,该管理在GitHub上发表。它依赖于许多额外的组件,特定于Zalando的云运行方式,限制其有用性。“更少,”她说。
Apple敦促开发人员提交代码以尝试发布最低可行的产品,而不是完全工作的系统。“这是关于贡献基本的东西,人们可以贡献,”她说。
可以说,在成功的开源提交的关键指标中,当更广泛的社区开发源代码叉子时,它会创建原始项目的分支机构。
Apple警告代表,远离自由,将开源代码提交给像GitHub等存储库可能会产生相当大的成本。开源开发人员采用的代码需要定期维护,以支持花费时间和金钱的查询,评论和代码贡献。如果任何人没有采用代码,“工艺遭受了因为没有人编辑工作,所以你最终得到了一个开源的垃圾园”,她说。
Apple建议希望向开源社区贡献代码的公司应将卫生建立在其项目中以管理技术债务。