写点什么

采用开源工具:善意推定,但也要做好沟通

作者:Ben Linders

  • 2024-01-17
    北京
  • 本文字数:1485 字

    阅读完需:约 5 分钟

采用开源工具:善意推定,但也要做好沟通

按照 Hila Fish 的说法,开源项目的好处是支持快速创新,让我们可以灵活地定制和调整工具,而且代码是透明的,有利于增强安全性。其缺点是通过隐匿实现安全的策略就行不通了,开源很容易被滥用,并且当开源工具没有公司支持时,可能会导致可维护性降低。


在 DEV: Challenge Accepted 2023 大会上,Hila Fish 谈了从 DevOps 视角看开源项目。


Fish 说,由于开源项目的开放性,它们的创新速度往往比较快。DevOps 团队可以利用这个快速的创新周期,采用新技术和实践来改进他们的流程。Fish 提到了持续集成、持续交付(CI/CD)、容器化和基础设施即代码(IaC)等领域。在这些领域,开源工具和解决方案推动了 DevOps 的创新。


DevOps 的核心原则之一是能够根据组织的独特需求来定制流程和工具,Fish 解释道:


开源软件提供了定制和调整工具以适应特定工作流和需求所需的灵活性。她补充说,DevOps 团队可以修改、扩展和集成开源解决方案,从而创建一个最优的工具链。


开源项目强调透明,允许任何人审查源代码。Fish 说,这可以加强软件开发周期内的安全工作,因为团队有机会检查代码中的漏洞并进行必要的改进。开源项目的协作特性通常可以使其对安全性和其他各种问题做出快速响应,从而帮助 DevOps 团队保证环境的安全和稳定。


开源项目也有一些缺点。Fish 提到,“通过隐匿实现安全”的概念并不适用于开源工具。Fish 说,专有软件公司可以声称他们的代码比开源软件更安全,因为代码不公开,黑客很难利用其漏洞。


Fish 还提到,开源软件很容易被滥用:


最近有一些案例,比如“Colors”NPM 包和“FakerJS”被维护者破坏 / 删除,每个人都有自己的原因。我们要知道,当我们在自己的环境引入开源工具时,这种情况是有可能发生的(即使不是经常发生)。


Fish 说,很多开源工具并没有得到公司的支持。由于维护者是个人,所以他们可以决定停止维护这些项目:


如果我们集成这类项目,这意味着我们要么自己维护它,要么迁移到另一个维护良好的工具。


Fish 提到,对于开源,你需要“善意推定(assume good faith)”。如果你在生产环境中使用一个开源工具,它有一个 Bug,而你打开了一个问题来修复它,那么这个 Bug 的修复可能需要几个月甚至更长的时间,因为他们不欠我们任何东西。


是的,你可以打开代码并尝试自己修复它,但并不是所有人都有资源这样做,所以我们会依赖于项目维护者为我们修复它。


Fish 建议我们解释这个问题并说明其紧迫性。她说,这样人们可能会更快地提供帮助,因为大多数(如果不是全部的话)开源维护者所从事的就是协作和沟通,因为这是开源文化的本质。


Fish 建议,在集成开源工具(特别是生产环境)之前一定要进行研究,确保它在出现问题时能够得到良好的维护。


InfoQ 就如何使用开源工具采访了 Hila Fish。


InfoQ:您在选择开源项目时有什么标准吗?


Hila Fish:我会考虑八个关键指标:项目的受欢迎程度、活跃度、安全性、成熟度、文档、生态系统、易用性和路线图。每个关键度量标准都有一些子问题,你可以问自己这些问题并找出答案,这样你就可以逐个指标地评估项目的成熟度级别。


InfoQ:您是如何使用那些标准的?


Fish:举个例子,就拿活跃度这个指标来说,它可以帮助我们大致估计下,这个开源项目修复 Bug/ 发布特性需要多长时间。查看下提交速率是每天、每周,还是每月,看下问题数量、发布数量,这样你就可以很好地了解活跃度。


文档是选择开源项目的另一个重要指标。文档是项目的门户,要看下它是否内容丰富,涵盖了大多数方面,如如何集成、已知问题、功能说明等。有了文档,你在决定是否采用该工具时就更有依据。


原文链接:

https://www.infoq.com/news/2023/12/upsides-downsides-open-source/

2024-01-17 08:005376

评论 1 条评论

发布
用户头像
如何理解隐匿?

2024-01-17 10:22 · 北京
回复
没有更多了
发现更多内容

实战:Dify智能体+Java=自动化运营工具!

王磊

Arthas dashboard(当前系统的实时数据面板)

刘大猫

人工智能 监控 Arthas 监控工具 dashboard

Artgee Q2 完成战略拼图:技术 + 理财 + 跨境支付全布局

股市老人

RECCV检测人脸伪造项目尝试与扩展

溪抱鱼

人工智能 大数据 人脸识别

轻帆云ITSM:以AI赋能制造业,构建高效运维新范式

云智慧AIOps社区

ITSM ITSM软件 工单管理系统

01.数组深入浅出分析

杨充

《算法导论(第4版)》阅读笔记:p101-p114

codists

算法

【HarmonyOS 5】金融应用开发鸿蒙组件实践

GeorgeGcs

一站式等保服务

黑龙江陆陆信息测评部

【CodeBuddy】三分钟开发一个实用小功能之:动态文字路径动画

jimaks

CSS

#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】01.人工智能AI诊断分析农作物病虫害APP介绍

与辉鸿蒙

HarmonyOS NEXT 端云一体化 HarmonyOS5.0

腾讯推出端到端语音通话模型「混元 Voice」,1.6 秒响应;实时转录工具集体爆发丨日报

声网

AI 多 Agent 开发未来:iVX IDE 的 AST 架构与主流产品的模型优化路径

代码制造者

AI 编程

AI存储需求的演进与ScaleFlux的应对

ScaleFlux

数据中心 企业级NVMeSSD 存储优化

NAS远程访问选哪个?内网穿透工具对比:贝锐花生壳完胜节点小宝

科技热闻

企业为什么要实施信息化体系建设

优秀

企业信息化 信息化 信息化系统

提升开发运维效率:原力棱镜游戏公司的 Amazon Q Developer CLI 实践

亚马逊云科技 (Amazon Web Services)

HarmonyOS NEXT 使用 relationalStore 实现数据库操作

威哥爱编程

#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】03.什么是端云一体化开发,有什么优势?

与辉鸿蒙

HarmonyOS HarmonyOS NEXT

重拾童年,用 CodeBuddy 做自己的快乐创作者

不惑

CodeBuddy首席试玩官

Nessus Professional 10.8 | 10.6 Auto Installer for Ubuntu 24.04 (updated May 2025)

sysin

Nessus

Arthas thread(查看当前JVM的线程堆栈信息)

刘大猫

JVM 监控 Thread Arthas 监控工具

再看2025大模型风云变幻,深根者立于终局

脑极体

AI

#放码来战.端云一体化开发#HarmonyOS 5 【农民叔叔】02.核心功能操作路径及ModelArts AI图像识别技术

与辉鸿蒙

HarmonyOS HarmonyOS NEXT

Nessus Professional 10.8 | 10.6 Auto Installer for macOS Sequoia (updated May 2025)

sysin

Nessus

鸿蒙仓颉开发语言实战教程:实现商城应用首页

幽蓝计划

时光有节,岁月有气,用 CodeBuddy + 地图 MCP 构建二十四节气

不惑

CodeBuddy首席试玩官

鸿蒙 HarmonyOS NEXT 系统 Preference 首选项使用全解析

威哥爱编程

HarmonyOS HarmonyOS NEXT Harmony5

阿里云 Serverless 助力海牙湾构建弹性、高效、智能的 AI 数字化平台

阿里巴巴云原生

阿里云 Serverless 云原生

Nessus Professional 10.8 | 10.6 Auto Installer for RHEL 9, AlmaLinux 9, Rocky Linux 9 (updated May 2025)

sysin

Nessus

Nessus Professional 10.8 | 10.6 Auto Installer for Windows (updated May 2025)

sysin

采用开源工具:善意推定,但也要做好沟通_开源_InfoQ精选文章