开源社区---中国软件业发展的必选项

简介:
开源软件大家都不陌生,LinuxApacheMYSQL等软件的成功,让我们知道了世界上还有一些“思想高尚”的黑客,他们发布的软件同时提供全部的源代码,允许任何人免费使用软件,还可以根据自己的需要修改软件,只要按照GPL(通用公共授权)要求再重新发布给其他的人就可以了。
是不是有些“世界大同”的意思?有人把开源社区描述为“黑客写给黑客的软件”,所以一开始就有人担心使用这样的软件,会有黑客留下的后门,影响自己的安全。但发布者是以公开全部源代码的方式发布,有什么后门你可以自己去查找,再自己编译运行,都在阳光之下,你会有不安全的感觉吗?而我们“从不担心”的大牌公司的私有软件,几乎都有着大家共知的厂家后门,你能堵上它们了吗?那么谁能帮助你来堵它们呢?
 
开源软件来自于开源社区,开源社区的确是黑客们发起的,因为大家都爱好编程,喜欢使用自己编译的软件,Unix的诞生就是软件开源文化的早期历史,随着互联网的普及,开源社区成为一种成熟的大型软件开发模式。
开源社区的组织者通过互联网发布“招募”消息,组织自愿者利用“业余”时间进行软件开发。一般是组织者提供软件框架,或者是能运转的基本小系统,自愿者根据自己的爱好领取模块开发任务;若模块比较大,你也可以建立新“项目”,组织其他爱好者一起开发。每个人开发的代码与程序发布在社区内,其他人也可以取得,测试或使用,并把发现的问题(bug)发布给社区,也可以自己动手修改发现的Bug,然后重新发布;当然你对某个模块有新的想法或新功能建议,尽可能地展示你才华
开源社区内是免费地工作与免费地获取新的代码(早期用磁盘拷贝,允许收取发布成本费用),由于是免费,参与人的成本很低(自己的计算机环境),能参与的人可以很多,软件可以得到更多人的试用,软件成熟的周期很快;参与的人来自世界各地,行业各异,角度多变,因此新创意层出不穷,套一个流行的词汇,这是分布式创新模式。
 
开源社区是一个松散的组织结构,可以开发大型软件吗?有这样怀疑的人很多,但开源社区有两点是大家没有想到的:
1、   参与的人热情很高:编写代码是一种“艺术”工作,对开发者来说有很强的吸引力,尤其是那些初入此行的“学者”,开源社区内有各种代码可以学习,无异于最好的“自修学堂”。在这种心情的推动下,边获取,边“奉献”,同时也是自己实践的检验、自己“艺术品”的展示,让更多的人愿意贡献自己的创意代码。
2、   “民主”的组织方式:开源社区一般以邮件列表,或新闻组(聊天组)等方式组织,意见与建议都是公开地发表,可以随意进入,也可以随意离开,只要你遵守社区“公约”(一般是GPL,也有一些自己社区的要求),你就是社区公民,即使只有简单的测试贡献,也一样可以获得全部的代码使用权。
这种组织看起来很松散,但如同自然“进化”的组织,社区中的“权威”是靠对社区的贡献建立起来的,任何“项目”的组织,没有强制,只有吸引,你有兴趣就可以加入,即使是社区组织者也无法让任何人做他们不喜欢的工作。然而,这样做的结果是下面的表现:
1、               参与者更愿意“奉献”:因为他认为有价值才选择的,即使没有报酬,只要有成果的认可(社区的认可、社会的认可)。能创造价值与把价值变成金钱不是一件事,技术工作者善于前者,商人善于后者。而开源社区恰恰因为这一点可以良好地发展,没有因为金钱而夭折。由于是免费,前期的开发成本最小,由于使用成本低廉,所以,产品普及很快,商业价值急剧攀升;为产品的用户服务、定制模块的公司出现了,如红帽LinuxIBM成为Apache的小组成员反过来,获得了商业价值的这些企业也大量投入社区的建设。也许技术的贡献者并非最终利益的最大受益者,但这个世界从古到今,陷入商业利益的技术发现者最终都没有了“光环”,而社区起码保证了技术贡献者的名单,让后来的人们不会忘记他们。
2、               社区中协调自然:社区内没有因为公司的上下级关系,工作的安排完全出于自愿,所以大家都喜欢自己承担的工作,有兴趣才快乐,有快乐,工作的效率提高几倍、几十倍。因此,开源社区内的开发组织工作稳健而有序,大型软件能开发能胜过私人公司的开发就不足为奇了。LinuxApache的成功就是很好的证明。由于社区的进入门槛低,可以吸引大量新入行的人员,他们虽然经验少,但有朝气、充满活力、干劲十足,并且初生牛犊不怕虎,敢于挑战权威,新的思路就这样被发现了。而私人公司内,组织森严,权威人士的所有决策的制定者,思路老套,顾虑重重,稳定与尝新的矛盾,软件创新比不上开源社区就是必然的了。
 
然而,我们注意到一个现象,目前的开源社区大多是美国、欧洲等发起的,中国人参与不多,贡献有限,而随着中国经济的发展,人口的优势,中国软件开发大军的基数应该是最有优势的,同时,中国也将成为软件需求最多的国家之一。如何利用这样的开发大军,我认为:开源社区是最好的方式。
软件开发是高智商的艺术工作,开发的成本是高昂的,培训人才的投入费用更是高昂的,这也是我们国家这么多年来,软件一直落后的原因。开源社区不仅可以聚集大量的开发精英(我们不管他们叫黑客,我对黑客的定义是爱好编程艺术的人,是一个中性词,如同科学家,核技术可以用来发电,也可以用来发动战争,使用他的人往往是政治家与商人,而不是科学家),而且可以“有组织”地开发软件产品,Linux可以与Windows对抗,也许中国就不用发愁使用不可控的操作系统了。
 
我认为:安全软件更应该采用开源,因为安全的程度取决于你对它的控制程度,采用私有公司的安全软件,等于把你的安全投保于这家公司,把自己的命运交到别人的手里。采用开源的软件,你可以定制自己的软件,安全大门的钥匙掌握在自己的手里,安全才是可控的。
有人会说:开源代码大家都可看到,从代码找漏洞比软件接口要容易得多。这个观点好象是有道理,其实不然,它只是条件对,但结论不对。正因为开源代码是大家都可看的,所有的人都可以在上面找漏洞,找到的漏洞也好修补,因为你自己就有源码;也因为可找漏洞的人多了,剩下的漏洞就少多了,软件的强壮性就加强了。而私有软件公司的安全软件,看到代码的人很少,只有开发者自己,编程人员对于自己的软件不容易发现错误,这是不争的事实,所以发现的漏洞就少,而剩余的漏洞就可能多,虽然私人公司也大量地测试,但比起开源社区能发动的测试大军显然是不可比的;同时,通过软件接口发现漏洞是比较困难、比较枯燥的事,除了别有用心的人认真去找,一般的人都会退而远之,所以往往被攻击者利用了,漏洞才被发现,当然,用户就成为“实验品”。并且,私有公司软件的漏洞修补是专用的,若公司修补得慢或不愿意修补,那么,用户的利益谁来保障呢?
安全不是来自不知道,而是来自知道得多(知己知彼),只有知道了、了解了、控制了,人才会觉得安全。
 
    我们倡议:建立开源社区,开发我们自己的软件!




本文转自 zhaisj 51CTO博客,原文链接:http://blog.51cto.com/zhaisj/289389,如需转载请自行联系原作者
目录
相关文章
|
3月前
|
人工智能 Linux 云计算
【专访浪潮信息】构建开放公平的社区生态,中国服务器操作系统崛起进行时
服务器操作系统产业 2.0 时代,龙蜥社区和浪潮信息的创新、挑战与突破。
|
数据可视化 测试技术 调度
云巧支持中国红十字基金会联合阿里云发布数字救援平台,面向全社会救援力量开放注册
中国红十字基金会与阿里巴巴公益、阿里云联合打造的“社会应急力量数字救援平台”,借助阿里云产业数字组件中心云巧的可组装研发模式、EAOS企业协同服务以及钉钉的数字化管理技术,平台实现救援队组织及日常管理在线化,并对每一次的救援任务实现全生命周期的可视化管理,进而提高社会救援力量的专业能力及主体规范化运营,有效支撑救援行动,提升救援效率与质量。
云巧支持中国红十字基金会联合阿里云发布数字救援平台,面向全社会救援力量开放注册
|
机器学习/深度学习 人工智能 边缘计算
2021 re:Invent大会回顾:跟随Dr. Werner看云计算产业未来趋势
2021 re:Invent大会回顾:跟随Dr. Werner看云计算产业未来趋势
115 0
|
边缘计算 供应链 Kubernetes
2022 红帽全球峰会:持续创新,定义“新开源”
红帽作为企业级开源的代表,将带领开发者们在开源技术领域实现怎样的创新,值得我们期待。
246 0
|
供应链
Plug and Play中国徐洁平:中国创新生态尚在萌芽期|双创载体百人谈
Plug and Play中国总部设在中关村智造大街,进门的大堂里,挂满了各国的国旗,呼应着其遍布全球的业务及合作伙伴。
234 0
|
Kubernetes 云计算 UED
加快中国开源产业发展 Rancher2.0全新发布
本文讲的是加快中国开源产业发展 Rancher2.0全新发布【IT168 云计算】9月27日,“Rancher 2.0发布暨中国区用户及合作伙伴大会”在京成功举办。作为容器技术的行业盛会,Rancher Labs首席执行官兼联合创始人梁胜博士携手合作伙伴向与会专家和行业精英带来了容器技术的最新趋势以及成功案例。
2100 0