写点什么

如何建立开源战略

  • 2022 年 8 月 29 日
    上海
  • 本文字数:2393 字

    阅读完需:约 8 分钟

如何建立开源战略


当今,开源组件已经成为软件世界的重要组成部分。根据 Gartner 统计,85%的公司正在使用开源软件。但开源组件的使用越广泛,风险也随之逐渐上升。然而,尽管许多公司害怕被开源安全问题所波及,但仍未建立相应的战略。


阅读本文,您能了解到如何从零开始,一步步搭建符合自己公司发展的开源战略,解决使用开源代码可能带来的安全与合规问题。


作为 DevSecOps 解决方案提供商、Mend(原 WhiteSource)授权合作伙伴,龙智始终关注开源安全问题,致力于帮助您将“安全”理念真正落地在 DevOps 的实践中。欢迎联系我们,了解如何通过 SCA 工具 Mend 解决开源代码安全问题。



开源组件已经成为了软件应用的基本构件,占软件项目的 60%-80%。由于开源代码的使用已经成为行业标准和软件生产的默认选择,因此,软件开发组织需要建立一个开源战略。


过去的做法是随机选择开源组件,而不检查安全漏洞,也不考虑开源许可合规问题,但这种日子已经一去不复返了。这种既没有深入研究依赖关系,也不为开源组件的采用附加任何条件的实践,会给组织带来安全漏洞以及合规风险。


现在,为了确保产品的安全性和合规性,开发团队会收到为他们的开源使用创建策略的任务。他们需要建立一个开源战略,来解决使用开源组件带来的各种问题,从选择组件、与自有代码集成,到错误检测和许可证管理等所有方面。


采用开源战略的重要性


选择投资于开源战略主要是出于商业考虑。它的逻辑是从其他业务发展领域延伸而来,在这些领域,类似的规范化、标准化和文档化已经在进行中。


一旦一家公司的活动达到临界数量,就很容易发生无尽的疏忽、漏洞,甚至人员伤亡事件。也就是在这样的时刻,公司才发现制定战略的必要性:这是一个实现效率、盈利能力和增长前景的有效方法——谋定而后动。


考虑到补救工作的成本,企业稍加计算就会发现,建立一个开源战略将会帮助他们提升安全性和合规性,这比修复已经发生的事故会划算得多。


开源项目办公室 


各行各业的公司都在引入“开源项目办公室”,这个办公室的作用是实施组织战略,确保所有团队都能安全、合规地使用开源组件。


作为公司内部使用开源代码的中枢神经系统,这些中心负责建立起开源战略,在代码选择、组件采用和使用以及审计实践等方面实施相应的政策。开源办公室会对新的开发人员进行公司开源战略培训,并确保公司的开源安全和许可政策得到遵守。


这样的办公室如雨后春笋般冒出,许多企业都选择寻找开源领导者来主导这些团队。他们正在利用这些开源战略领导者在团队层面管理他们的政策,通常在办公室范围内,而非整个公司范围内运作。


开源战略:建立过程中需要考虑的关键因素


以下是在规划您的组织开源战略时需要付诸行动的几个步骤。

#1 建立开源办公室 

开源办公室应该设在哪个部门、哪个位置?首席开源官将向谁汇报工作?

这不仅仅是一个简单的指挥链问题,而需要对公司的重点进行审视和匹配。软件公司希望将办公室设在研发部门之下,而拥有大量知识产权组合的公司可能希望将办公室设在法律部门之下。  

一旦做出涉及开源办公室的决定,它就为接下来的开源战略定下了基调。开源相关工作的规则和准则将在这里制定,并在全公司范围内分发。

#2 制定开源战略

您的战略将如何解决开源代码的安全和许可证合规性问题?你需要决定你的产品中应该使用哪些开源许可证,以及应该阻止哪些进入您的代码。代码的数量,以及多种许可证,要求您使用自动化的解决方案来执行你的策略,确保禁止那些您不希望开发者使用的许可证进入系统。

同样,您需要设置安全限制,设置治理策略,让那些被认为可以使用的开源组件不需要额外的审查就可以通行,而其他有潜在风险的组件则需要团队领导签署。在更严重的情况下,您可以使用自动化来阻止有风险的开源组件进入产品,如果需要的话,甚至可以让构建失败,以保证代码库的安全。

在整合开源组件之前,需要解决的另一个战略问题是公司的开源报告政策。作为为客户提供服务的供应商,销售任何包含开源元素产品的公司,都必须以归属报告的形式向客户提供尽职调查。公开规则将要求公司向客户提供软件包名称、版本、原始下载 URL、许可义务、包含的依赖项和开发人员在其软件中使用的每一个开源的接触点。 

#3 实施开源战略 

建立一个开源战略,首先要了解开源代码的管理具有其特殊的挑战,这些挑战与自有的甚至第三方商业代码的挑战是不同的。 


虽然大多数人依赖国家漏洞数据库(NVD)进行安全更新,但往往最重要的信息会首先发布到其他各种安全公告或问题跟踪器上。为了确保开发人员使用最新且安全的开源组件,组织必须集成正确的工具来识别开发环境或产品中的组件,并将它们与分散的信息源相匹配,了解哪些已知漏洞会对您的产品构成风险。 

只有软件成分分析(SCA)工具才能提供自动化解决方案,聚合所有相关信息,大规模识别和监控开源组件,在出现新问题时发出警报,并以DevSecOps的速度运行。


开源战略:行动计划


建立开源战略始于一个里程碑事件:在公司中为开源管理开辟一席之地。在采取这一步骤时,必须理解开源代码安全和许可证合规性都有其特殊的挑战,这些挑战与自有代码甚至第三方商业代码的挑战都不同。


有目的地采用开源代码,应该是公司更大的管理策略的一部分,它涉及到第三方和开源贡献的安全性和许可。公司中的开源专家应该为开源自动化、文档编制、漏洞检测、补救和许可合规制定战略。 

作者简介:



帕特里夏·约翰逊(PATRICIA JOHNSON)


帕特里夏·约翰逊(PATRICIA JOHNSON)是一位技术和商业领导者,在应用程序开发、基础架构和安全方面拥有丰富的经验,尤其专注于开源软件。帕特里夏帮助公司更好地管理他们的开源使用,这样他们就可以专注于构建伟大的产品,并最大程度发挥开源的价值。


文章来源:https://www.mend.io/resources/blog/key-considerations-for-open-source-strategy/

如需了解更多开源代码检测工具 Mend 的相关信息,请联系Mend授权合作伙伴——龙智

官网:www.shdsd.com

电话:400-775-5506

邮箱:marketing@shdsd.com

用户头像

还未添加个人签名 2021.05.18 加入

分享DevSecOps解决方案最新动态,帮助您学习与使用Atlassian, Perforce, Whitesource, Cloudbees及龙智自研产品,实现软件研发的高度协同与自动化,提高交付效率与质量,并确保开发过程可追溯、可度量。

评论

发布
暂无评论
如何建立开源战略_开源_龙智—DevSecOps解决方案_InfoQ写作社区