开源软件似乎非常适合政府 IT 项目。开发人员可以利用现有的代码库,并希望能够比从头开始开发代码更快、更低成本地根据自己的需求塑造代码。在过去几年中,美国和国外的政府都在更密切地拥抱开源。然而,美国各级政府机构仍然对开源持谨慎态度,并且可能不愿意采用它。对于政府项目来说,使用开源或公共部门的开发人员为开源项目贡献他们的工作仍然不容易。
在 OSCON 2016 上,Morgan Senkal(前联邦政府雇员,现任 Metal Toad Media 的开发团队负责人)和 Kathy Lee(Bonneville Power Administration 的 IT 专家)正在举办一场名为冲击城堡:政府部门的开源挑战的会议。在会议之前,Morgan 和 Kathy 花了一些时间来回答有关政府部门开源问题的问题。
目前公共部门采用开源软件的状况如何?
Kathy Lee (KL)/Morgan Senkal (MS): 轶事观察和在线研究都告诉我们,在整个联邦系统中,使用率很高,但贡献率很低。我们很乐意看到更好、更明显的贡献机会。
从广义上讲,您需要经历哪些流程才能让政府部门或机构评估开源软件?
KL/MS: 对于可以使用 NuGet(FOSS 包管理器)通过 Visual Studio 的 .NET 开发人员来说,这个过程现在非常容易。您只需使用 NuGet 找到您需要的软件即可。例如,我们需要使用 Unity 框架进行依赖注入,所以我们只是在 NuGet 上找到了它并将其添加到我们的解决方案中。
早在 2010 年,还没有 NuGet。这个过程非常繁琐,基本上是不可能启动的。我们必须填写一份请求,然后我们的网络安全部门必须对该软件进行恶意软件/病毒扫描。然后该软件必须通过我们批准的软件流程。这一切可能需要长达六个月的时间。
当您尝试在公共部门工作中使用或引入开源软件时,您遇到过哪些障碍?
KL: 太多的文书工作。太多的关卡。
MS: 一旦深入到联邦政府系统的细节中,就会发现对开源社区存在很多制度化的不信任。在高层强制执行是一回事,但在整个联邦政府的实施仍然非常零星。
您认为这些障碍存在的原因是什么?
KL: 主要是审计,为了证明合规性。
MS: 遇到的许多障碍只是习惯或惯性。例如,在寻找解决方案时,开源远远超出了舒适区,特别是考虑到长期以来它被认为是可憎之物。再加上对为什么以前被如此不信任的这些解决方案现在可以接受的恐惧和缺乏了解。
在 Opensource.com 上一篇关于国土安全部报告的文章中,这段引言几乎概括了情况:
一位开源专家表示:“拒绝开源是恐惧和惯性的结合。[他们] 不喜欢走出自己的舒适区,并且[存在]对未知的恐惧。”“对于政府部门的开源来说,最大的障碍是习惯;他们习惯于购买以前购买过的东西。” 虽然报告中没有明确说明,但随着在开源环境中成长起来的新一代 IT 专业人员进入政府部门,这种假设很可能会发生转变。在某种程度上,我们已经在各个机构中看到了这一点。
这些障碍在各级政府都存在吗?
KL/MS: 合规性要求相当一致;不同机构在处理这些要求的同时,仍然保持足够的灵活性,以便开源解决方案能够解决问题的方式,因机构而异,差异很大。
在公共部门工作期间,您遇到的最常见的反对开源软件的论点是什么?
KL/MS: “是的,使用这个会很好,但是需要花费太多时间才能获得它。”或者,“对不起,这是外国人写的,所以我们不能使用它。”或者,“由于任何人都可以更改它,因此可能嵌入了恶意代码。”
您是如何反驳这些论点的?
KL/MS: 我通常只是说我会处理文书工作,我们可以在最终获得批准后重新考虑使用它。我会尝试寻找类似的总部位于美国的开源解决方案。我会解释说,我们可以在使用代码之前对其进行审查,以确保没有嵌入恶意代码,并选择具有广泛、活跃社区的开源项目,这可以阻止任何人植入恶意代码。
公共部门雇员为开源项目做贡献方面存在哪些挑战?
KL/MS: 我们真的不允许处理我们没有工作订单的事情。因此,除非一个项目获得批准,否则我们不能在工作时间内处理它。当然,我们可以在自己的时间做出贡献,但这不算数。我们只是一个为开源项目做出贡献的人。
他们如何克服这些挑战?
KL/MS: 需要获得更高层的支持,为将为开源项目做出贡献的项目提供资金。如果他们能够理解让开源社区了解政府构建软件的独特需求将如何帮助开源项目更精简地用于政府用途,那么他们可能会更愿意为那些允许的项目提供资金。
白宫最近发布了一份关于公共评论的开源政策草案。您认为这是朝着正确方向迈出的一步吗?
KL/MS: 这是朝着正确方向迈出的一步,但他们需要找到一种方法来沟通和鼓励所有为联邦政府工作的开发人员和 IT 经理采用。目前还没有这样的沟通,而且信息没有传达到联邦政府的所有部门。
如果联邦政府将开源置于软件采购流程的中心,您认为这会渗透到其他级别的政府吗?
KL/MS: 联邦政府的政策并不总是会向下渗透到州、市或县,但这不会有什么坏处!
如果您可以给想要为他们的工作采用开源软件的公共部门雇员一条建议,那会是什么?
KL/MS: 认真思考您正在从事的项目,以及它们在政府部门之外是否有任何实际用途。然后向您的经理提出关于您是否可以启动一个开源项目的想法。
评论已关闭。