开源软件发展至今,几乎涉及到软件开发的任何一家企业都会被它所触动, 无论是打包在产品中还是作为开发环境的一部分,开源都在软件开发团队中占据了重要地位。开发人员喜欢使用开源工具来解决特定的问题,是有理由的:开源工具中有大量专家构建的代码,一旦发现问题,代码也可以被更快地进行修复,大大节省了开发人员的时间和成本,同时这也是为什么现在有许多的企业采用并贡献开源代码的原因。
然而,在开源软件实用如此普遍的情况下,很多公司难以有效的对代码中的开源软件进行有效的识别和管理而失去管理的开源软件可能会带来多种风险。因此,开源的好处却也是风险的来源。一些安全和法律界专家,尽管也认可开源的好处,却依然不断地警告各类组织和个人:“开源并不完美,也许并不适合所有人。”那么开源软件都会带来哪方面的风险呢?
- 漏洞一旦曝光,对罪犯和好人的可见性是一样的。
- 没有特定的个人或实体负责修复漏洞。
- 补丁即便推出,也没有强制性要求必须安装。
- 被漏洞影响的受害者不会得到任何人的赔偿。
- 如果出现法律问题,比如侵害了第三方的知识产权,要找到另一方来负责非常困难。
- 没有特定的实体或个人负责保证开源软件合规。
开放修改也意味着代码可能遭到恶意修改,甚至被注入恶意软件。或者,更糟糕的情况,从一开始恶意软件就藏在其中。很不幸,这些情况并不是理论上的,实际例子已经发生。开源社区人数众多,但想找个人出来对法律或合规问题负责很难。根本没人负责,出了问题,无人可告。
那么,用户有没有可能既享用开源的好处又免受开源之害呢?那就需要对所使用的开源代码进行有效的管理。需注意以下几点:
1、制定一套开源管理策略,并在该策略的指导下去使用开源软件,才能更加安全和高效的使用开源软件,让开源为公司带来更大的价值。
2、及时、有效的发现所使用的开源软件及其风险
3、让开源管理成为研发流程的一部分
总的来说,开源管理是一个极其复杂同时又很专业的事情,单靠人工管理很难很好对开源代码进行管理。因此通常要借助专业的工具,如何在研发的过程中有效的使用开源管理工具,而又不对研发流程和开发周期造成不良的影响,这是对开源审查和管理工具提出的要求。
FOSSID 是一个软件解决方案,能够单独部署使用,也可以与现有的开发流程进行无缝集成,能够有效的检测到您的代码库中任何的开源代码痕迹,不论是整个开源组件的引用,还是仅仅引用了一小段代码片段。FOSSID 可以帮您有效的发现并展示出您的软件涉及到的开源License 及相关的合规性,也能够发现并展示出这些开源软件存在的安全漏洞,帮助公司从开源审查这种繁杂的工作中解脱出来,将精力更多的用于如何为用户提供更有价值的产品。