软件为什么要开源

软件为什么要开源软件为什么要开源软件为什么要开源
2024-11-23 22:14:54
推荐回答(4个)
回答1:

开源软件有许多好处,总结起来,最重要的有三点。

  首先,开源软件对用户的权利保护得更充分一些。举例来说,如果有一天微软公司不复存在了,那么 Windows、Office 这些本来由微软公司负责维护的软件很可能由于没人维护下去而被淘汰,但开源软件却不存在这样的问题,开源软件不会因某个人不存在而变得停滞不前。用户曾经花费巨资购买的 386、486 微机,现在却只能作为一堆废品来处理,原因就在于缺乏性能优异的应用软件来持续支持,但功能强大的自由软件却可以在这些 386、486 微机上跑得很好。

  其次,开源软件由于发布很广,开源软件的问题更容易暴露出来,这使得当这些问题解决以后开源软件就变得更加完美。

  最后,开源软件对用户个性化的需求更容易满足。由于软件过多地引进了工程化管理,使得软件的标准化程度越来越高。这固然可以增加软件的开发效率,但却使得人们都需要按照一个模式去操作软件。正常人使用着很方便的软件,左撇子使起来就很别扭。随着手机、PDA 等新产品的出现,这种个性化的需求会表现得更加强烈。开源软件由于源代码是公开的,所以这些个性化需求更容易得到满足。软件不能单纯用工程表现,在这个问题上,开源软件的开发方式给了人们很深的启示。

  共创软件联盟的刘澎则指出,开源文化是人类几千年的智慧结晶,是一种必然的历史发展趋势,这种发展趋势是谁也阻挡不了的。今天,已不可能有人会否认互联网所蕴含的价值,但人们有没有注意过互联网发展初期是一个什么样子呢?几十年前的互联网只是具备了一些核心的协议,应用价值也并没有显现出来,但这根本不会妨碍互联网发展成今天这个样子。互联网在发展初期实质上就是一种开源的形式,今天的开源软件与此非常类似。发展趋势本身就具有一种力量,Windows 之所以应用得这么广,在于它符合现代操作系统的标准。现代操作系统的标准就是一种趋势,Linux 也符合这些标准,这使得 Linux 也将注定成为了一种优秀的操作系统。

  刘澎同时认为:“目前开源软件的发展进入到了一个低谷的时期,这其实是开源软件发展的必经阶段。因为开源软件的商业推广模式在创立初期就出现了问题,所以才有今天的发展低谷,可见这个低谷并没有超越于发展趋势之外。我们在二十世纪九十年代中期就采用开源技术解决了路由技术,这个项目在商业上也获得了巨大的成功。事实上,国内有许多开源项目,如 Hopen 等,都做得非常成功。因此,面对暂时的困难,就认为中国无开源,认为开源没有希望,是一种敷浅的表现。

  中国工程院院士倪光南指出:“从产业层面看,以 Linux 为代表的开源软件增强了我国软件业讨价还价的能力,并且使得软件的市场空间增大了。我们必须看到,国产 CPU 必须有 Linux 支持,否则就会因使用范围太窄而不能投入实际应用。”

开源的本质

  在许多人眼中,开源就意味着只有付出而没有任何回报,然而,开源的本意却是“ When programmers can read, redistribute, and modify the source code for a piece of software, the software evolves ”(只要程序员对软件的某一部分实现阅读、重新分发和修改代码,即可称作开源)。既使是要求极为严格的GPL协议,也仅要求使用GPL源码这个部分开源,而 BSD 协议则仅仅要求在 End User License 中,保留原来的协议就可以了。

  由此看来,开源软件同样可以做到“别人怎么赚钱,我们也怎么赚钱”,开源与商业利益并是完全对立的。在国内保障体系还不完善的情况下,国内的软件公司和程序员完全可以利用开源软件解决吃饭和生存的问题。而开源软件也并不只包含 Linux 这样的系统软件,目前热门的 ERP、CRM 乃至知识管理、商业智能同样可以基于开源软件开发。

  对程序员个体而言,加入开源社区也并非一无所获。国外许多程序玩家通过社区的锻炼获益匪浅,功成名就者也不乏其人。国内的软件工程技术人员参与过大型开发项目的少而又少,中软 COSIX 项目尽管归于失败,但通过这个项目培养出来的参与过大型项目开发的人员已被几大外资软件公司瓜分殆尽。而现实的问题却是,一方面程序人员抱怨没有项目可供练手,另一方面却又不愿加入开源社区得到锻炼。无论国内的程序员有着什么样的想法,开源社区却绝对不失为获得大型开发项目经验和扬名立万的良好场所。

  对软件公司来说,开源还是增加软件需求的好方法。软件发展到今天,由于过多地引入了工程方法,使得软件越来越趋于标准化。对个人用户而言,同样的软件,用惯右手的人使用起来得心应手,然而左撇子用起来却怎么使怎么别扭。而对企业用户而言,管理软件的使用必然伴随着管理方式的变化,然而,并不是说管理软件带来的总是适合用户的管理变革,这时用户就会提出系统必须要和管理实现互动的要求,显然,开源软件处理这类问题更为方便。

  与国内软件公司远离开源的情况相反, Sun 公司把 Solaries 操作系统的源代码毫无保留地公开给了业界,微软也已宣布将把投入巨资开发的 Windows CE 的 70% 的源代码以 5 美元的象征性价格出让给业界。微软公司和 Sun 公司当然明白这样做带来的好处,源代码开放以后,业界更容易形成基于某类产品的技术标准,这将为技术的拥有者带来更大的市场。而对下游的服务厂商而言,可以更容易地为用户提供更好的服务,表面看来微软公司和 Sun 公司在服务市场损失了一部分收入,但这部分损失会在产品市场得到更大的补偿。

  从根本上讲,开源与非开源的开发只是开发方法上的不同,采用开源方式开发出的软件产品,也可以采用不同的商业模式来实现其价值。开源不是怪物,开源也不会让某些公司保不住饭碗,相反,开源可以培养出更多高水平的人才,开源软件能应用于核心应用,也能创造出更广阔的需求市场,从而改善软件产业环境。

  来自CSDN网站关于开源的调查表明,抱有“开放源代码会使公司失去收入来源”和“加入开源社区意味着只有付出没有回报”想法的人,只占到总调查人数的十分之一;明确表明无条件不加入开源社区的调查者不足 3%;反进来,认为开源拥有良好商业前景的调查者占到了十分之七,认为能从开源中取得回报的调查者更是占到了十分之八。
然而,日渐成熟的开源技术与惨淡的生态环境还是形成了强烈的对比,开发人员对于开源的高涨热情与开源社区的惨淡同样形成了强烈的对比,被赋予了太多使命的开源让我们感受到了从未有过的沉重。面对着这些强烈的反差,我们不得不开始思考一个问题:中国开源路在何方?

中国开源路在何方

  谈起中国开源的发展道路,这绝对是一个仁者见仁,智者见智的问题。关于这个问题的答案,涉及到了心态、人才、政府支持、产业等方方面面。应该说,经过了几年的普及,开源在国内确实已经拥有一批拥趸,政府在这方面也下了不少力气,而现在所需的,是要把这些力量汇聚成一股合力。为此,发展开源首先要保持良好的心态,其次是要选择正确的方法,最后是要实现开源成果向产业的顺利转化,当然,政府的支持同样是不可缺少的。总之,开源软件的推动工作是一项系统工程,其中需要用到太多公众的力量和智者的思想。

开源的心态

  对许多事情而言,态度往往决定一切,发展开源无疑就属于这类事情。从事过开源实践的人对开源界人士有一个共识,那就是开源界人士的浮躁。关于这一点,无论是早期创办 Turbolinux 公司的 Iris Miller,还是把开源软件引入国内的宫敏,再到开源的实践者刘澎都有同感。

  开源软件界的人很浮躁,往往是没有听别人把话讲完,就开始了指责。这个时候,如果他们能够静下心来再听别人讲五分钟,结果常常是五分钟过去后,这种指责已经没有办法进行下去了,因为他们误解了别人的意思,别人的意见是正确的。事实上,浮躁也绝不仅是国内开源者的专利,国外开源者也概莫能外。在 Linux 开发的初期,Linus 曾经删掉了 Linux 系统的一部分程序,这遭到了他身边 20 多个高级开发人员的反对,这些人在网上公开发文,表示 Linus 先生应该征询他们的意见后再决定删除与否。但 Linus 先生马上就回复了这些问题,他表示他读了关于这些程序的所有文档,最后发现这是一个黑洞,而保留这些程序的后果只会延续这些错误。最后大家都对 Linus 先生表示了歉意,承认他们并没有读过全部的文档。

  浮躁带来的最大后果是容易让人忘乎所以,于是开源就变成了带有感情色彩的开源,Linux 也一度成了让人用着就想哭的 Linux。共创软件联盟的副理事长刘澎认为,发展开源就要以“进化论”的观点来看待开源软件。而以“进化论”论的观点去看待开源软件的发展,就是要从市场需求的角度去考虑开源软件的发展。开源软件变成某种具体的产品后,能否生存下去,要看市场上是否存在需求,如果不存在需求,以指令的方式强制生产,肯定要出问题,这种产品的寿命也不会太长。如果存在需求,即使眼前看起来困难重重,但这种产品还是具备生命力的,一定会有企业克服重重困难让这种产品面市。以“进化论”论的观点去看待开源软件的发展,就不能无视“拔苗助长”现象的发生。
洪峰则认为,开发开源软件要有一种做学问的态度,因为这不是今天投入多少,明天就能产出多少的问题。许多知识是人类几代人积累的结果,天才科学家为解决微积分中无究小的问题,花了 150 年的时间,而解决开根号的问题花了一千年。

  与浮躁相伴随的,还有一种心态,就是悲观。浮躁使人头脑发热,还会使开源的发展脱离正常的发展轨迹。于是,内心的狂热与无情的现实就特别容易使人悲观。刘澎对此谈了他的看法,当开源运动陷入低谷后,刘澎同样感受到了失落,他觉得别人都亏欠了自己。这时,有个朋友问他:“难道你就没有缺点吗?”为此,刘澎反省了自己,这才领悟出“我们花了国家那么多钱,却做了许多失败的项目,这怎么能算是国家亏待了自己呢”。据此,刘澎认为要想克服困难,去解决问题,就需要保持一种良好的心态。对从事开源软件研发的企业来说,不要总是指责周围的环境,要多从自己身上找缺点。反过来,经历过失败也并不一定是一件坏事,因为失败本身就是一种财富。刘澎坚信,经历过失败以后,我们才耐得住困难,在艰苦的环境中才能生存得下去。刘澎同时认为,面对暂时的困难,就认为中国无开源,认为开源没有希望,是一种敷浅的表现。

开源的瓶颈

  在 Linus 和 Richard stallman 创立开源软件的初期,他们并没有很好地解决开源软件日后的商业发展模式,这使得开发开源软件的企业在经营上遇到了很大的困难。同时,在现阶段,中国的软件开发人员首先要解决的是吃饭问题,先要生存才谈得上发展,因此,国内开源社区的发展缺乏物质基础。这些使得国内开源的发展不可避免地落入到低潮。基于这个原因,国内开源界的人士普遍认为缺乏良好的商业发展模式,是制约开源运动发展的瓶颈。CSDN 的调查显示:对于程序员加入开源社区的前提这个问题,十分之四的程序员选择了自己有足够经济基础的答案,近十分之三的人选择了“得到赞助或从中得到回报”的答案。也就是说,如果商业模式的问题得到解决,将有近十分之七的程序人员加入到各类开源社区中去,这是一个让人感到振奋的数字。

  对于这个问题,开源运动的倡导者洪峰给出了这样的解释:开源发展的制约瓶颈在于开源软件厂商没有找到开源项目中存在的稀缺性的东西。传统经济学的出发点是资源的稀缺性,在这种理论指导下,政府采用了强迫性,商业软件强调竞争性,但开源软件中只有合作性,稀缺性仿佛不存在,开源厂商无法找到开源软件所蕴含的稀缺性,厂商开发出的开源软件的价值就得不到体现,开源发展的制约瓶颈也就产生了。但是随着人类的发展,合作性会被越来越多地采用。关于这一点我们可以从政府的法制建设的完善中感受到。

  以开源教育为例,如果学生自己去学习,那么付出的成本将非常大,许多学生在大学中专门学习了四年计算机知识,还是不会编程;而我如果给出了学习的线路图,为学生提供辅导,学生的学习成本就可以下降很多。经过两年甚至两个月的学习,就可以成为编程高手。我为此付出了大量的时间和精力,因此就可以把学生节省下来的成本的一部分,作为费用收上来。这就是利用了开源的稀缺性。实际上开源软件完全可以利用其他形式实现赢利,我们可以见到尽管数学定理都是公开的,但这并不表明每个人都能够成为数学家。要成为数学家还就需要付出很大的成本,这种成本就是稀缺性的源头。

  对于个人而言,由于找不到这种稀缺性,同样使得一些人不愿加入开源社区。事实上,在开源社区内,你给别人提供了帮助的同时,也得到了非常多的帮助。国外开源社区内的许多程序员都是利用了开源社区,最终他们提高了知名度,也找到了很好的工作。因此,合作也能对个人产生价值。由于国内只有很少一部分人真正理解开源软件的意义和规则,中国软件企业大多也是在按照专有软件模式在运作,使得国内参与开源社区的人太少。因此,要想打破这个瓶颈,首先就需要把开源软件的含义讲清楚。

  虽然阻碍开源发展的瓶颈是商业模式问题,但要解决商业模式的问题又会涉及到方方面面的问题,这就使得阻碍开源发展问题变成了许多个,著名的 IT 评论人雁鸣先生把这些因素归结为普及程度低、公共资源稀缺、人才缺乏、开源项目少、厂商和社区缺乏合作、应用难以推广、服务滞后、源码不开放、标准不统一等九个问题。

开源需要什么样的人才

  阻碍开源社区发展的最直接的原因就是人气的缺乏,而要解决这个问题,除了要让开发人员明了开源的本质外,还需要让他们明白开源的发展究竟需要什么类型的人才。对这个问题,不同的专家给出了不同的意见,但大致分起来,开源人才又可以分为社区内的人才和产业内的人才,这些人才当中既需要使用层面的人才,又需要高端的开发人才。从数量上看,使用层面的人才需求较多,而开发层面的人才需求较少,整体人才数量将呈金字塔状排列。

  就开源社区内的人才来看,洪峰认为 Perl、Linux 等开源软件的创立者都是精英,而中国开源社区缺乏的恰恰就是这种精英。开源社区需要各种层次的人才,有应用型人才,也有开发型人才,但就目前来说,急需的是高水平的开发人才。要成为高水平的开源开发人才,要迈过一个很高的门槛,而国内迈过了这个门槛的人还太少。怎么叫迈过这个门槛了呢?基本要求是把 Linux 内核研究过一遍,还要能熟练使用各种开发工具。Linux 的内核压缩以后是 20M,打印出来后相当于 60 多本砖头厚的书,国内很少有人能完成这个工作。而这只是一个学习的过程,真正要成为能对开源社区做出贡献的人才,还要具有相当的创造性。

  洪峰同时认为,中国开源社区的成长空间是惊人的,北京有这么多聪明的学生,他们之所以没有加入到开源社区内,是因为高校没有给出适合学生的清晰的发展路线图。如果我们给出他们清晰的发展路线图,中国的开源社区的发展将是充满光明的。

  在产业层面,刘澎认为要发展中国的开源软件,在现阶段所需要的不是精英。事实上,也不存在什么精英。所谓精英只不过是比别人早几年认识到了开源软件,如果宫敏先生当年不把开源软件引进到中国,会有另一个人把开源软件引进来。Linus 写 Linux 内核确实付出了艰苦的努力,但并不是说另一个人就不可能完成这件事情。Linux内核并不能直接应用,真正让 Linux 成为一种优秀的操作系统的原因,在于后期大量的工作。

  刘澎坚持这样一种观点:现在做开源软件的人缺乏一种献身精神。许多开源的倡导者谈开源文化时显得觉悟很高,但到了实际工作中,开发某个具体开源项目时,动辄就要求上万元的月薪。从这个角度看,发展开源软件目前急需的是有执行能力而又有着对开源文化的信仰的人才。此外,国内开源软件还缺乏复合型人才,往往是原来搞研究的人在搞开源软件项目,这些人只能起到“车间主任的角色”,当上级领导下达生产任务后去完成,而不能实现从研发到把技术成果转换成商业成果的全过程。因此,开源软件界同样需要学会了在市场中同最精明的商人打交道的人。

  刘澎强调,这并不是说开源厂商不需要高层次的人才,相反,我们要抱着一种科学的态度严格挑选人才。举例来说,一个职业篮球队需要一名右前锋,找到一名原来打左前锋的职业选手,问他能否适应右前锋的位置,可能会得到否定的答案。然而找一名业余的多面手,我们可能得到肯定的答案。但他的技术水平不行,最终还是要放弃。因此,我们要找的是高水平的专业人才。

  软件技术的竞争归根到底还是人的竞争,对此,开源软件也不能例外。从技术层面看,软件的竞争,既不只是金钱的竞争,也不单纯是代码量的竞争,而更多的是创造力的竞争,也正因为如此,人才问题才应该被摆在软件业发展的首位,开源也才因为对于人才培养有着更好的效果而更具魅力。针对开源人才问题,IT 评论人雁鸣先生一针见血地指出,当前发展开源急需两类人:运用开源技术的管理软件的开发者和开源教育的推广者。

政府支持是灵丹妙药吗

  在影响开源发展的因素中,政府支持一直是一个争议较大的问题。韩国的开源软件从业者已能自毫地说,他们的开源软件发展水平要远远高于中国的开源软件水平,这其中,政府的支持功不可没。另一方面,我们也能见到因政府干预而造成的种种负面作用。于是,政府支持是不是促进开源发展的灵丹妙药这个问题,就成了摆在中国开源发展道路上的一个大问题。

  就政府支持的问题,洪峰认为在软件这场智力竞争中,首先应该允许多种形式并存;一方面需要有国家队的选手,另一方面也要有个人选手存在。其中,由个人选手组成的开源社区的成长与产、学环境有着很大关系。Linux 为什么诞生于芬兰,而没有诞生于中国或是美国呢?原因就在于芬兰赫尔辛基大学从二十世纪七十年代就很注重操作系统的研究,积累了很多图书和代码。Linus 正是在前人的基础上才创立了 Linux。然而,国内在产、学环境方面对开源的发展存在着诸多限制因素。如目前经费的支配存在着垄断,并不是每个有创意的人都能拿到经费。你要把你的思想和别人共享,就要出书,但出版业是垄断的;你要传播你的思想办教育,国家不承认你的文凭,你就招不到学生。因此,洪峰强调,在这个问题上,政府不应该当运动员,而应该是规则的制定者。要让所有的纳税人受益,政府所要做的是制定好游戏规则。开源的发展还是一个反学术垄断的问题。

  洪峰同时认为,发展开源软件要抱着一种“入静”的心态,抛开浮躁。并不是要先把生活搞好了,再去搞开源软件,而一旦迈过了基本的门槛,回报就会来了。要知道许多开源软件项目的创立者在创立项目之初经济上也很贫困,但多年的心血换来的是一种超越层次的成功。但问题是目前整个环境太过浮躁,如大学中要求一年发表多少篇论文,但就是没有人统计这些论文中有多少获得过国际奖项,这些论文又有多少原创性。IT 业的一大挑战就在于原创,创造出一种新思想,就会带来巨大的收益。创意产生于人的头脑,并不完全产生于军团做战。因此,政府需要为开源的发展创造一个良好的生态环境,这是政府支持中最为重要的一部分。

  刘澎则认为,必须重新审视对待开源的保护策略,对待开源软件不能完全采取保护策略,如果把开源软件当作温室里的花朵,开源软件就永远也长不大。我们应该正视一个很有意思的现象:几千年过去以后,人人喊打的老鼠繁殖得比主宰这个世界的人类还要多,而人们视之为保护动物的老虎却进了动物保护园。目前开源社区在经济上遇到了一些困难,但中软、红旗、共创等开源软件企业自身经营也很困难,因此不可能指望他们资助开源社区。同时,国家的资金也应该只用来支持那些踏踏实实搞开源研究的人,而不应落入打着开源的幌子却在为自己谋私利的人手中。
事实上,影响开源发展的还有一个重要的问题,就是国内软件的有效需求不足。在凯恩斯看来,当企业找不到出路时,政府就应出面采取一些诸如启动公共工程建设之类的措施来刺激经济的增长。与此同理,政府也应该考虑在同等条件下,政府可以将采购需要更多地向国产软件(特别是开源软件)倾斜。中国工程院院士沈昌祥介绍说:“国内目前急需安全等级达到A级的操作系统,在国内开发不出A级操作系统的情况下,只好采用国外的产品,而在许多机要部门,这是一个隐患。正因为如此,国家正在下大力气开发A级操作系统,许多从事开源软件研发的机构找到我,要求得到一个机会。这实际上就是需求促进开源发展的一个例子。”

  由此看来,在目前的情况下,开源的发展确实离不开政府的支持。而政府支持成为开源发展的灵丹妙药的前提,一是不能用包办代替的方法把开源管死,二是要在宏观层面结合开源发展的需求提供适时的政策帮助。

开源与产业

  提起开源的发展,另一个不得不提的问题就是开源与产业的关系问题。业内专家普遍认为,发展开源软件可以促进软件产业的发展,而反过来,实现开源成果的产业化以后,又可以解决开源的商业模式问题,使得开源软件更好地向前发展。从这个角度说,开源与产业是一种互济的关系。

  对开源与产业的关系,洪峰举了这样一个例子:在中国西部,人们由于吃不饱饭就想到了挖山,其结果是造成了生态环境的恶化,反过来,人们因此而变得越发贫困。这就形成了一个恶性循环。现在政策反过来了,政府开始鼓励人们种树、种草,并给予一定的补助。这样一来,生存环境改善了,就业机会也增加了,形成了一个好的循环,人们的日子就越来越好过。洪峰感叹,同样的方法为什么不能应用在开源的发展上呢?

  倪光南院士指出:“政府原来的做法是支持五、六种 Linux,这样每家得到的支持力度又都不够。现在政府改为制订 Linux 标准,去引导在 Linux 上的开发,目前我国制订的中文 Linux 标准已经引起了一些国家、Linux 社区和跨国公司的关注。”一个产业的健康发展,需要不同厂商间的竞争与合作,而标准关系到整个产业链的各个环节,政府在其中的用意,完全可以通过信息产业部苟仲文副部长的一番话表现出来:“从以往看来,政府扶持企业,往往达不到政府所需的科研技术开发效果。即使达到了,又会形成新的垄断,企业往往不愿将研究成果与别的企业分享,最终还是达不到政府想通过个别企业来推动某技术产品在产业界形成主流产品的良好愿望。所以,我们政府在 Linux 这件事上,将转向支持基础的、开放的、公共的、服务的能力建设之上,而不是光支持某些企业公司的发展,依靠他们来走这条路。”

  早在二十世纪八十年代末,倪光南先生就提出了国内 IT 业“无芯无魂”的问题,当时,倪光南先生的建议并没有得到普遍的重视。而在此之后,我们为了弥补操作系统的问题,走了一条封闭开发之路。试想如果当时我们就采用开源的方式解决这些问题,相信今日IT业的格局已不是这个样子了。从这一问题上,我们不难发现开源在整个IT产业中所起的作用有多大。

  老话重提,今日的开源又走到了技术成熟而生态环境薄弱的十字路口,风险与机会混杂着摆在我们面前。面对着风险与机遇,我们必须明白,我们今天的行动将决定着经历了冰与火的融合之后的明天的中国开源的命运。

回答2:

开源软件的英文为open source software,简称为OSS,直接的字面意思是公开源代码的软件。软件既然连源代码都公开,那么使用自然是自由的,因为用户可以利用公开的源代码自己编译为可运行的程序。因此,开源软件具备可以免费使用、公布源代码的主要特征。

回答3:

这是本着共享的精神。
就像liuxn那样。大家可以一起卡发这个软件

回答4:

开源可以有效达到竞争对手
微软没有开源,使它的产品支持率大大降低