开源软件应用面临现实检验

专家指出,虽然开源软件极大推动了创新和开发,但其复杂性、合规、安全等问题要求企业投入更多精力,务必加强测试与管理,确保系统稳定运行。

在新加坡举行的 ATxEnterprise 会议上,一场小组讨论的核心议题是开源软件在推动创新和支持软件开发方面的巨大潜力,但业界领导者也迅速提醒大家,要对其固有的复杂性和成本保持警觉。

Kong 公司的工程高级副总裁 Saju Pillai(该公司以其应用程序接口 ( API ) 网关著称)指出,构建开源软件所需的努力非常巨大。“要把一个开源项目拿来就立刻在生产环境中运行,需要投入大量精力。如果代码中出现错误或违背了默认承诺,这可能会对使用该软件的大型企业或承载公共基础设施的机构造成相当严重的影响。”

印度 IDFC First Bank 生成式 AI 首席经理 Shubham Agnihotri 则提到,在部署开源软件之前,还需完成大量工作,尤其是在受监管的行业中。“作为一家银行,我们面临很多合规和安全挑战,这让现成的开源软件难以直接使用,所以开发者必须投入更多精力。”

Pillai 还区分了开源项目和软件产品,这一点在专有软件中更为常见:“当我们谈及开源时,必须将其视为‘项目’;而对于闭源解决方案来说,则更多地体现在产品上,因为产品附带了质量保证、安全稳健性等一系列保障。”

他建议各组织需要考量,在何种情况下仅依靠开源项目就足够,何时又需要使用经过商业支持的产品,而后者可能本身就是基于开源构建的。

PingCap 公司的首席架构师 Sunny Bains(该公司是一家开源数据库公司)指出,控制权是驱动开源软件采用的关键因素之一,并补充道,企业不希望受限于专有软件公司的发布周期。“一旦出现 bug,他们不会选择等待。” Bains 引用了 Richard Stallman 推动免费软件运动时所表达的初衷,即开发者能够自行修复问题。不过他也补充说,如果处理不当,免费和开源软件在安全性和可靠性方面可能会付出高昂的代价。

为降低开源采用的风险, Harpreet Singh(Watermelon Software 公司的首席技术官,该公司专注于软件可靠性平台)主张采用“多重保障措施”,例如集成测试、扩展性和可靠性检查:“如果你遗漏了哪一环节,就会面临安全威胁和其它潜在风险。”

此外,开源许可也可能充满挑战。Singh 问道:“大家真的了解开源许可吗?”他回忆起一次经历:Watermelon 平台中一个核心开源组件的许可变更,迫使公司不得不退回到旧版本的软件。“虽然我们倡导使用开源软件,但架构和设计必须足够灵活,才能应对这些冲击。” Singh 指出,这正是为何市场上会出现经过商业支持的开源软件版本,为企业提供保障。

Pillai 表示,Kong 有一套正式流程来管理开源软件的使用:“当我们的软件物料清单因开发者选择引入某个库而发生变化时,相关的许可问题会提交给法律和合规团队审批,只有通过后才能使用。”

Bains 坚定地指出,开源许可问题可能如同雷区,因此 PingCap 已将其核心可扩展存储技术捐赠给 Cloud Native Computing Foundation ( CNCF ),以确保客户获得许可的稳定性。

讨论中还涉及到生成式 AI 对开源世界的影响。尽管与会者认可其潜力,但也一致建议用户必须验证生成结果。“在 AI 幻觉的情况下,你怎么确定输出的内容是优秀的?”Singh 说,“由 AI 生成的代码可能需要额外的验证措施。”

Agnihotri 分享了他使用 AI 将单块架构代码转换为微服务的经验。“转换后的代码看起来非常漂亮,但它真的能正常运行吗?答案是:不,它还远未成熟。”

Pillai 预测,由于 AI 的影响,开发者的角色将会发生变化:“未来开发者不会再仅仅编写代码,而会更多地充当代码的审核者。”Bains 补充道,PingCap 正在利用 AI 提高生产力,尤其是在“一级支持”的场景下,帮助解答前线疑问,从而减轻支持团队的负担。

总之,专家们一致认为,虽然开源软件是推动软件开发和创新不可或缺的引擎,但企业在采用开源软件时必须在尽职调查、安全性和持续管理上加大投入,才能既享受其带来的益处,又避免潜在的风险。

来源:Computer Weekly

0赞

好文章,需要你的鼓励

2025

06/09

13:28

分享

点赞

邮件订阅