【开源合规】前三大开源风险以及如何打败它们 - 快速指南
在过去,组织在开发软件产品时对使用开源代码持谨慎态度。 他们的法律团队不想处理开源许可和版权混乱。 看到底线的执行官极为厌恶“自由”和“软件”这两个词的组合,当它出售他们的商品时,害怕让一般公众可以一睹幕后的前景,看看有什么成分去了 进入他们的秘密酱。
从那以后,我们走了很长一段路。 开源软件组件几乎是每个开发团队的标准实践的一部分,并且大多数组织都为所有行业和垂直行业的客户提供服务。 这些数字不言自明:今天,开源软件组件在大多数组织的代码库中占60%到80%之间。
保持您的开源软件组件无风险
尽管我们喜欢使用开源软件组件的好处,但它们仍然存在风险。说实话,专有软件有自己的一系列问题,但我们在这里更好地了解开源风险。
为了确保我们使用的开源组件的安全性,质量和合规性以及我们发布的产品,我们必须解决开源软件使用带来的风险以及我们需要采取的措施。避免他们。
许多在线存储库都提供开源组件,开发人员无法了解其质量或安全级别。当组织不投资管理他们的开源使用时,他们会把自己置于风险之中,并且在修复错误变得更加昂贵时可能会最终为此付出代价。
开源软件的使用带来了法律,工程和安全方面的挑战,当组织不了解他们正在使用的开源组件的质量时,他们可能会在不知不觉中融入易受攻击,风险,未经许可和不属于的范围。日期组件。
#1开源软件安全风险
对于黑客来说,开源安全漏洞是一个非常有利可图的机会。一旦被安全研究社区发现,开源漏洞和如何实施漏洞利用的细节就会公之于众。这为黑客提供了进行攻击所需的所有信息。更糟糕的是,由于开源使用非常普遍,流行的开源组件中的漏洞为黑客提供了许多潜在的漏洞利用者。
这意味着黑客密切关注开源社区,并抨击流行的开源组件中的已知安全漏洞。如果软件公司不管理其开源使用,不知道其代码中存在任何易受攻击的开源库,则它们存在恶意攻击的风险。
跟踪开源软件安全漏洞及其修复程序需要组织使用特定的工具和流程。如今,已知的开源漏洞通过各种安全建议和数据库发布,而不是在一个集中位置发布。这使得跟踪已知的开源漏洞几乎不可能手动执行,尤其是在规模上。找到补丁,修复或更新版本以降低安全风险需要大量的工时,而且永远不会完全彻底。如果这还不够具有挑战性,那么开源组件和库之间也存在令人讨厌的依赖问题。
一旦发布安全漏洞及其缓解措施,黑客就很有可能计划攻击。这意味着尽快在项目中找到风险较大的开源组件及其分支,应该是组织的首要任务,因为它是在与黑客的竞争中。
#2开源软件许可合规风险
每个开源软件组件及其依赖项都附带许可证。当我们在项目中使用开源组件时,我们同意一系列必须遵守的条款和条件。对于那些不熟悉开源许可证的人来说,这可能会变得模糊不清。
深入了解开源许可的细节并不适合胆小的人。您是否知道有超过200种类型的开源许可证,每种都有其特殊的,具体的,通常令人困惑的条款和条件?
有copy-left,有“一切都行”,然后有宽松许可,最重要的是,开源存储库中的一些项目缺少任何类型的源许可证 - 这意味着默认的版权法适用。如此多的许可证,如此短暂的冲刺时间,使遵守所有法律要求极具挑战性。
没有跟踪开源许可证的企业正在玩火,因为不遵守开源许可证的条款是极其危险的业务,使组织开放诉讼或不知不觉地放弃专有代码的独家所有权。
#3开源软件质量风险
虽然组织在其专有代码的质量保证中投入了大量资源,但似乎许多开发团队边缘化或忽略了检查开源组件的质量。显然,我们都希望我们的最终产品在压力下保持稳定和一致。我们如何确保我们使用的开源组件不会冒项目质量的风险?什么使开源组件具有高质量的条件?
确保开源软件组件不会使产品质量受到威胁的一个原因是,没有商定的评估开源组件质量的标准,开源的协作性质可以使它很难衡量。
Red Hat的Preethi Thomas指出,在开源中,“社区参与是自愿的,人们的技能,参与程度和时间承诺可能会有所不同”,这使得质量保证成为一项挑战。通常,在选择开源软件组件时,大多数开发人员会使用他们所知道的,如果他们不确定他们可能会问朋友。在选择开源组件时,质量不会是他们核对清单上的第一件事。
但是,如果我们真的想确保我们整合稳定可靠的开源项目 - 我们可以看到哪些内容?
在WhiteSource,开源组件的质量基于开源组件的三个方面进行评级:
- - 提交数量,作为其活动水平的指标。
- - 每个特定版本中修复了多少个错误。
- - 每个特定版本的开放错误的数量和严重程度。
自动化工具可以缓解开源风险
开源软件组件使我们能够加速开发并降低成本,使我们能够创建创新产品,从而为我们提供保持领先地位所需的竞争优势。
为了保持这一优势,我们必须解决开源组件的风险。为了缓解开源风险,我们需要跟踪我们正在使用的开源组件,包括所有依赖项,同时保持开源社区的信息和更新。
确保我们领先于风险一步而不错过的最佳方法是整合自动化工具,持续跟踪我们的开源使用情况,并将其与最新的开源组件数据,漏洞,风险相匹配。修复和更新。
自动化的开源管理工具使我们能够专注于开源社区的脉搏,并不断关注我们的开源使用,帮助我们保持开源无风险。
本文:http://pub.intelligentx.net/top-3-open-source-risks-and-how-beat-them-quick-guide
讨论:请加入知识星球【首席架构师圈】
- 92 次浏览