属于开源软件都有哪些公开自己的源代码对国家或商业安全领域很有意义对吗

近日CNCERT发布了第二期《属于开源軟件都有哪些代码安全缺陷分析报告》。本期报告持续聚焦国内知名互联网公司的软件安全开发现状通过检测公司旗下多款属于开源软件都有哪些产品的安全缺陷,评估各公司的代码安全控制情况360代码卫士团队为本期报告提供了技术支持。

随着软件技术飞速发展属于開源软件都有哪些已在全球范围内得到了广泛应用。数据显示从2012年起,已有超过80%的商业软件使用属于开源软件都有哪些属于开源软件嘟有哪些的代码一旦存在安全问题,必将造成广泛、严重的影响为了解属于开源软件都有哪些的安全情况,CNCERT 持续对广泛使用的知名属于開源软件都有哪些进行源代码安全缺陷分析并发布季度安全缺陷分析报告。

本期报告聚焦国内知名互联网公司的软件安全开发现状通過检测公司旗下多款属于开源软件都有哪些产品的安全缺陷,评估各公司的代码安全控制情况针对国内知名互联网公司,选取关注度高嘚开源项目结合缺陷扫描工具和人工审计的结果,对各公司的项目安全性进行评比

本期报告聚焦国内知名互联网公司和 ICT 公司:华为、尛米、搜狐、美团、大众点评,综合考虑用户数量、受关注程度等情况选取了这些公司旗下的20款具有代表性的开源项目,表1列出了本次被测的属于开源软件都有哪些项目的概况

表1 被测属于开源软件都有哪些项目概览

经常遇到一些好的.NET项目开放源代碼之后便很少更新。即使是大名鼎鼎的CodeProject中的文章中的代码项目遇到问题时,留言或是主动给作者发邮件都像石沉大海一样,得不到囙复或解决只好自力更生。

Codeplex中的项目更新的速度就更慢了。从First release算起三个月之外,就很少有更新了我指的项目不是指官方的一些项目,驻留在这里比如SQL Server的Sample Database驻留在这里,更新速度当然频繁有官方的背景,各方面的更新工作肯定不会马虎

1  项目已经成熟,满足作者设萣的需求范围不再需要更新

这种情况比较多。项目的开发人员在设定目标后,会花费很多时间来完成它业余时间都会充分利用上。峩自己也经常这样一旦认为添加某个Feature对项目非常重要时,会把业余时间都利用上加班加点的把它完成。

举例说明一个数据库工具,┅开始作者设定只需要连接到SQL Server进行数据操作即可这样的需求设计,你很难要求作者去为你添加Oracle,MySQL的支持一个代码生成工具,起初的目标昰支持SQL Server, Access, OracleMySQL四种类型的数据库,但是后来作者发现大部分的时候,只需要满足一个常见的数据库类型即可要能支持其它类型的数据库,測试和编码的工作量要多很多写出来的功能,就应该充分测试要么就没有,要么就测试充分以满足各种情况和场景我的一个代码生荿器曾经也有这样的思考,只要求支持SQL Server但是后来一直想加入对Access,Oracle的支持,一直没有动力最后不了了之。项目中遇不到的使用场景很难囿动力去虚拟一个环境,做出连自己都不需要的功能

2  遇到技术瓶颈 现在项目停止开发或转向新的架构和需求

每个开源项目是为解决特定領域的问题,如果满足第一条可以满足该领域的需求,便不再需要精进另一方面,遇到不可解决的技术瓶颈也会导致项目无法继续罙入下去,现在已经做的最好了再深入下去会无从下手。

前段时间我想找一个项目中代码重复的检测工具,判断一下我的项目中有哪些代码是通过拷贝的方法做出来的,而不是进行代码重用代码重复给项目的维护带来麻烦,所幸运的时在CodePlex上面找到一个开源工具,Clone Detective, 呮支持VS2008之后就没有更新。2010年4月微软发布Visual Studio 2010至今已有三年,也没有更新过这个小工具VS2012内置了代码重复的检查工具,但是依照目前的情况來看.NET 的崛起,Delphi控件供应商逐渐减少或是无法赢利的时候,直接把控件抛给开源社区开源社区因为没有赢利的驱动,又不以把握市场需求为目的凭借个人兴趣爱好,难以成体系的发展到现在,世界上流行的控件或组件包几乎都是.NET开发的。Infragistics

Java世界也发生过这种现象順应市场的发展,开源只是为了放下过去更好的拥抱未来。

留下一堆的组件包在开源世界几乎无人问津。

4  失去促进开源项目发展的动仂有心无力

这一点应该是符合中国国情的一点。设计一个流行的开源项目可以增加自己的知名度,为自己镀金但功成名就之后,这個敲门砖便不再有作用失去继续维护的动力。再者IT这一行逐渐走向平民化,薪水和待遇不再远远高于其它行业有时候甚至低于金融,会计这些行业

俗话说饱饭思淫欲,在没有吃饱饭的情况下积极的促进开源事业的发展,有点背道而迟如果有基金扶持,项目肯定會做的很好很有特色。但是这一项待遇只属于各大院校把研究出来的东西,再锁进抽屉里面如果想看论文,需要再次付款谁会再佽去为此付款。作为纳税人我们已经为他们的科研工作提供支持,用税收给他们研究动力我想看一下他们研究的成果却不行,这可是婲我的钱研究出来的东西

公司则永远不可能为开源而开源,公司要赢利才能生存每个月的水电费,租金人员开支都需要钱。公司开放项目的源代码也是为了赢利曾经看到一个公司把ERP项目都开源了,后来发现原来是赚个吆喝真正的核心组件没有开源。

5  项目被公司看Φ进行定制 开源停止更新 闭源发展的更好

如果一个开源项目被公司看中,公司聘请到这个项目的开发人员探讨这个项目的发展,或转姠新的商业领域这是开源项目中,我以为最好的一种结局典型的例子是.NET Reflector,大名鼎鼎的.NET反编译工具在.NET开发领域几乎无人不知,无人不曉后来被Red Gate收购了,版本更新更快了功能也更强大。

曾经有朋友问是不是增加了更霸道的功能才收费。我的回答是Yes

旧的版本的.NET Reflector,反編译后有几个问题没有处理好:

反编译后的结果是是get_Name,set_Name要手动修改才能编译成功。

事件也是一样旧版本反编译后的源码生成了 Reflector 可以正确識别,并为你重写代码

这种情况也有另一种发展方向,开源项目被公司看中但是公司不向作者购买,而是直接用它的开源版本在上媔直接修改,做出一个自己需要的版本或是进行增强。在各种盗版软件泛滥的情况下开源协议相当于一纸空文。公司的目的是以最小嘚开支创造最大的利润,可以理解这种情况

我要回帖

更多关于 属于开源软件都有哪些 的文章

 

随机推荐