本文最早于2020年5月18日发表于鉴释公众号。原文标题为:抓住“开源盛世“,这个工具你必须了解一下。
开源的现状与潜在使用风险
近些年来,开源技术的发展如火如荼,逐渐渗透到软件开发的各大领域,俨然“开源盛世“,市场一片繁荣。开源软件帮助企业或组织大大缩短发布周期、更快的推出创新产品。但同时,开源软件自身质量问题、潜在的风险问题却不容忽视。我们该如何面对开源软件带来的代码质量、安全漏洞、软件许可证等问题,以免“城门失火,殃及池鱼“?
开源的好处知多少
开源是指计算机程序,其源代码或文档可供公开获取和自由使用,或者对原始设计进行修改、编辑,并在软件许可协议的约束下使用或者重新发布,以用于任何目的(包括商业目的)。
- 开源促进了软件开发的分工越来越细化,软件逐渐模块化。这让任何组织或个人都可以贡献开源软件,免费供其他人使用,作为其它软件的一个模块。软件开发,不再是闭门造车,一切从零开始,完全可以基于开源软件进行自由“组装”,避免重复”造轮子”,从而大幅度提高开发效率。
- 知名的开源代码多数情况下有业界高水平研发人员的参与,这就好比“站在巨人的肩上”,开发者借助开源组件,像搭积木一样,快速构建新的应用,让企业把主要精力专注于创新。有个笑话说,初级工程师,代码自己写;高级工程师,英文+搜索。细思不无道理,大到基础模块,小到一段排序算法,在开源的世界里,常常能获得意想不到的惊喜,或拿来就用,或参考借鉴。
- 与传统