为什么要维护开源软件
㈠ 软件开源有什么作用
开源软件的意义
在AMD追赶英特尔的漫漫长途中,一句广为流传的话是这样说的:“AMD的存在,不仅深受AMD客户的拥护,也是英特尔用户的福气,因为它打压了英特尔的高价垄断。”同样,开源软件相对于商业软件也是同样的道理,尤其是对那些具有垄断性质的软件来说,开源软件更显其深远意义。
君不见在IBM、Sun等公司推动OpenOffice系统成为业界标准的进逼下,顽固如微软者也不得不把MS Office拿出来充公。显然,随着开源软件的流行,商业软件不仅被压缩了发展空间,同时也促使软件商们不断地降低软件价格,给消费者带来了显而易见的利益。
身兼开放源代码应用基金会(OSAF)总裁和主席以及Mozilla基金会主席的Kapor先生就表示,这两个基金会并不是要创建新的杀手程序,而是要利用开源软件的模式削弱微软在网络浏览器和电子邮件软件领域的垄断地位。
事实上,对一些发展中国家,或者说那些软件业欠发达国家来说,开源软件还为他们制造了后发优势,提供了追赶和超越发达国家软件业的机会。毕竟,对于像中国这样的发展中国家,软件业的发展严重滞后,完全依靠国内的资金和人才要想赶超像美国这样的软件大国,几乎是没有机会的,充其量只能是一种理想。但是,如果能在基于开源软件的基础上加大投入的话,这种理想就有了实现的可能。
当然,不得不提的是,业界也有人怀疑,开源软件是否会扼杀国内软件人士的努力。就像AMD前段时间向我们提供X86技术一样,有人担心会使国人失去研究龙芯的兴致。还有人认为,像MS Office这样的软件如果都开源的话,那么微软们就不可能再投入大量的资金进行开发和升级,从而也会间接地阻碍软件业的发展。这些言论有一定道理,但开源的意义就是为了挖掘新的产业模式,这种探索精神正是我们世代所鼓励的。
赢利模式是开源软件发展的根本
以火狐(Firefox)浏览器闻名于世的Mozilla基金会,宣布成立一家子公司Mozilla Corporation,以便投入可创造收益的商业活动。作为一家着名的开源软件组织,Mozilla的行为招致大量质疑。人们之所以有这样的反应,就是因为认定开源软件出现的初衷就是免费和开放源代码,Mozilla的行为看起来无疑是违背了二大法条之一的免费。
但是,开源软件的免费说至少就目前看来,可能是人们的一种误解。让我们简单地扫描一下当前开源软件的运营模式:第一种,软件完全免费,后续服务收费。像当前的Red Hat Linux就是使用这样的模式。但是,这种模式并不是每一家开源企业都能使用的,也只有像Red Hat这样的行业领先者才有这样的资本。第二种,软件免费,没有售后服务,在软件市场成熟后,靠出售专利谋生。这种方式的代表是Foxmail。第三种,应用服务提供模式。在这种模式下,软件和服务都是免费,企业按时间交纳使用费。最主要的运营模式也就是这几种,其他种类的模式其实都是这几种模式的演化和变种。从中我们可以看出,开源软件本身的确是免费的,但开发者最初的意图其实是为了通过后续服务或出售专利等方式获利。从这个层面来说,天下的确没有免费的误餐。
当然,不排除一些真正的免费的开源软件,不过这只能是一些小型的软件。这些软件不需要集中太多人的就能开发出来,后续也不需要太多人的来维护和升级。而对一些大型软件诸如操作系统等,当前不可能成为免费的开源软件。因此说,如果开源软件找不到自己的赢利模式的话,就很难生存下去,更别提发展了。上海中标软件有限公司常务副总经理秦勇就表示,“在中国国内Linux市场上,虽然现在起得很快,但是整个市场容量、整个市场还不够大,还不足以养活号称国内有9家企业的庞大的Linux家族。”这句话背后的潜台词,很显然企业还是要靠Linux赢利的。
在笔者看来,开源软件的意义就在意源代码的开源,免费只能说是它的一种说法,并不代表实质性意义。因此说,开源软件企业要想生存和发展下去,肯定得寻找自己的赢利模式。然而,就目前来说,能通过开源软件赢利的太少了,即使像Red Hat这样的业界巨头,2004年才实现2亿美金的营业额,别的企业业绩如何可想而知。
事实上,当前无论是国际还是国内的开源软件组织和企业都是少之又少,原因何在,就是因为这些组织和企业没有找到可行的赢利模式,从而没有足够的资金支持企业持续发展下去。
高级人才是开源软件发展的瓶颈
就像本文开篇时说的那样,国内外开源软件业都存在缺乏高级人才的问题。当前,开源软件业的一致观点就是:人才数量不缺,缺的是质量。实际上这句话更准确地表示应该是:人数不缺,缺的是人才。据业内人士分析,开源软件目前能够想到的赢利模式都是为企业服务的。但是,目前的开源企业总体上规模很小,由几个人到几十人公司都有,然而,大型企业对这样的小企业,包括几百人的软件企业,都会持不信任的态度。Novell中国区市场与渠道总监罗威就表示,在两年前,Novell之所以收购SUSE,一方面当然是业务发展的需要,另一方面其实也有扩大规模的动机。当前,Novell公司在全球已有数千人。Novell通过这种扩张,就是想把非常好的技术放到坚实的企业平台上,两者结合,探索出新的,为企业级支撑提供好的方法的盈利的比较好的道路。
然而,开源软件虽然发展几乎与商业软件同步,甚至可以说更早,但其真正以产业的形式问世,不过几十年时间。在这么短的时间里,又受限于规模的制约,不可能培养大批的开源软件人才,而缺乏开源软件人才又进一步制约着开源软件的发展,这就形成了开源软件当前面临的恶性循环。同时,由于开源软件本身的免费,对于刚起步的企业来说,就存在资金的瓶颈,在没有投资者注资的情况下,企业就很难持续提供高薪给企业员工,这实际上也是制约开源软件发展的重要原因。毕竟,高级管理人才是从普通员工培养而来的,没有大批的后备队伍,高级管理人才从何而来啊?
就目前来说,虽然开源软件的高级管理人才工资很高,但这只不过是极少数的人,对普通员工来说,工资其实并不高。所以说,从行业的角度分析,开源软件缺的可能不是人才,而是资金。大丈夫何患无妻,开源软件业有钱了又何患无人呢。
笔者相信,找到赢利模式的一天,就是打破人才瓶颈的一天,就是开源软件业获得长足发展的一天。
㈡ 软件工程概论:为什么软件需要维护维护有哪几种类型
在软件开发完成交付用户使用后,为了保证软件在一个相当长的时期能够正常运行,就需要对软件进行维护。
软件维护的类型有4种:改正性维护、适应性维护、完善性维护和预防性维护。
其中,改正性维护是要改正在特定的使用条件下暴露出来的一些潜在程序错误或设计缺陷;
适应性维护是要在软件使用过程中数据环境发生变化或处理环境发生变化时修改软件以适应这种变化;
完善性维护是在用户和数据处理人员使用软件过程中提出改进现有功能,增加新的功能,以及改善总体性能的要求后,修改软件以把这些要求纳入到软件之中;
预防性维护是为了提高软件的可维护性、可靠性等,事先采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计、编制和测试,为以后进一步改进软件打下良好基础。
㈢ 为什么软件需要维护维护有哪几种类型
维护的原因主要有软件开发设计时考虑不周,存在缺陷和不能完全满足需求的问题,还有就是以前开发的软件不能适应新的软硬件环境,需要维护。软件维护分为改正性维护、适应性维护和预防性维护,分别对应于前面的三个问题。改正性维护就是修改原有的缺陷、适应性维护就是使软件适应新的软硬件环境,预防性维护就是把今天的技术用在昨天的软件上,以期软件在明天还能使用。
㈣ 维护一个大型开源项目是怎样的体验
近年来,越来越多的开发者选择将自己的产品以开源形式发布,有时的结果是——你满怀诚意地开源,却无人问津。尽管你的产品做得相当好,但是仅把产品的源代码公布出来,这还不算开源,因为其他用户可能无从下手。没有用户,久而久之,你的满腔热情就会熄灭。 一、有一个真正有用的README 即使你为你的开源项目制作了一个很好的网站,但是一些潜在用户很可能会首先通过阅读README文件来了解这个项目。因此,你要确保在README中提供尽可能全面的信息: 1. 依赖、安装信息 尽可能写清楚依赖、安装信息,最好能够让用户通过复制粘贴相关代码来添加依赖。比如这样。 2. 项目成熟度状态 不至于让用户在生产环境中用了几个月后才发现你的项目才处于Alpha阶段。 3. 详细说明项目支持的语言、运行环境和工具的版本 不至于让用户花费大量的时间去摸索你的项目的兼容性。 4. 明确所使用的许可证 这个许可证需要是流行的、用户都知道的,如果你自己创造一个或使用一个陌生的(比如WTFPL),那么没有用户敢于在自己的产品中使用你的开源项目的。你可以选择比较友好的 Apache Public License 2.0或Eclipse Public License等。需要注意的是一些许可证(比如MIT)也是比较流行的,但是没有提供任何专利保护。你也可以采用APL2/GPLv2双许可,让用户挑选适合他们的。 二、为你的项目写一个文档 写文档并不容易,且比较费时,但是对于用户来说,文档是了解一个项目最便捷、最省时的方式,还可以让用户相信你不会轻易放弃这个项目。 在文档中,把你的项目可以帮助用户完成的事情放在首位,这是用户决定是否使用这个项目的关键。此外,你要让用户相信做这个项目的是个人,而不是一个会产生代码的机器人。 关于开源项目文档,建议你阅读:开源项目文档应规避的13处“硬伤”三、项目可以很容易地升级 随着项目中bug的修复和一些功能的改进,你需要发布另一个版本。需要注意的是: 1. 向后兼容 不要因为不向后兼容,而让用户重写大量代码。这样会让用户愤怒,继而抛弃你的项目。当然,你也不必像OpenJDK那样兼容15年前的产品。 每修复一个bug,就在更新日志中写上一个简短的条目每添加一个功能,就简要描述一下并附上一些示例代码每改变一个API,就需要在日志中用粗体明确指出如果你有多个分支,就需要为每个分支都写一份更新日志。 3. 版本标签 为你的项目的每一个版本打上一个标签,比如v1.0.0-alpha1、v1.0.0、v1.1.2,可以让你的用户很清晰地分辨出项目的版本。 4. 发布公告 项目发布后,接下来就需要为这个事件写一篇博文,或直接将公告发布到项目的邮件列表中。 5. 项目状态标签 有些项目很长时间一直使用相同的版本号,比如1.1.0,而项目一直在改进。如果这是一个开发版本,你也需要通过标签来说明项目所处的开发阶段。比如: 1.1.0.pre11.1.0-alpha11.1.0-SNAPSHOT总之,你要确保项目有一个严格的版本命名规划。 四、使用GitHub 在GitHub上,你可以很容易地做下面的事情: 发布你的项目浏览和搜索代码专注于项目issues参与贡献,合并用户的贡献五、确保有一个为用户提供支持的地方 如果你的项目达到一定的普及程度,你就会不断收到用户的提问。你需要有一个收集和回答用户提问的地方,比如论坛、邮件列表等。只要有一个交流的地方,用户也可以彼此提供帮助。久而久之,就会形成一个很不错的社区。 六、项目传递 不排除这种情况——你可能会对项目维护失去兴趣,或者你换了一个新工作不再使用当前的项目了。你可以在邮件列表上公布,让其他开发者接管你的项目。在Github上项目所有权转移会更容易,尤其是在别人为你的项目引入了新功能后。 七、总结 总之,在你打算发布开源产品时,请确保它有: 清晰的依赖/安装说明至少有一个简短的文档/指南库中包含更改日志和相关标签一些关于支持语言、运行环境、工具版本、项目成熟度的信息邮件列表,供用户提问、相互帮助八、最后 总之,要想让你的开源项目“发扬光大”,首先应该让它对用户更友好。除了项目文档外,其他事情花费不了多长时间。 另外,将项目开源出来容易,长时间维护就难了,因此,你还需要具备坚毅的精神和打持久战的准备。
㈤ 什么是开源软件有什么优缺点
开源软件即为开放源代码软件,它被定义为描述其源码可以被公众使用的软件,并且此软件的使用,修改和分发也不受许可证的限制。
优点:
1、降低风险
拥有源代码使顾客们可以控制那些他们的业务所赖以生存的工具。当一个open-source产品的开发者提高价格,增加了难以接收的限制,或者使用了一些使顾客不满意的方法,另一个不同的组织将使用该源代码开始开发新的产品以解决原来机构的问题。顾客也能自己维护或找别人改进它以达到自己的要求。
2、质量高
一些研究已经显示了open-source软件与别的可比商业软件具有可靠性上的极大优势。更加有效的开发模式,更多的独立同行对代码和设计的双重审查,以及大部分作者对自己作品的极大荣誉感,都对其优良的质量有所贡献。一些公司甚至给予发现Bug者以物质奖励。
3、透明度高
有软件有很多“阴暗的死角”,隐藏着许多Bug。源码对于查错和理解产品工作原理来说是很重要的。在大的软件公司,只有极少数人能接触到源码,而这些能接触源码的人通常用户都无法直接接触。能接触源码对于修补安全漏洞来说,也是非常重要的。一些开放源码的产品--包括上面列举的一些产品--是如此成功,以至于其商业竞争者无法存活。
缺点:
1、安装open-source软件有时需要一些更多的技术经验,例如,可以配置或编译源代码的能力。
2、许多的组织已经严重的依赖open-source软件。
3、出了问题,可能没有人负责,会遭受巨大的经济损失。
(5)为什么要维护开源软件扩展阅读:
开放源码软件和免费软件的区别
历史上许多人开发过这样一种软件(也就是免费软件基础)简称为“free software”,而媒介一般称它为“freeware”。不幸的是这两种术语都被证明是不明确的且含糊的。
对于大多数人来说“free”仅仅用于购买的费用。比这个初始花费更重要的是由于缺乏许可证限制而带来的费用。这些是几种有可能是免费的软件类型,但是明显不是open-source software,因为它们具有某些限制或是缺乏公开的源码。
㈥ 开源软件是怎么赢利的,怎么衷擞
1、自我需求
开源软件是由各种经济模型推动而产生的。许多开源项目创建的初衷是因为开发人员自己需要一个供自己使用的解决方案,然后选择将代码开源发布。
这时常发生在个人或不想真正进入软件业务的企业,有时,他们希望通过将其项目发布开源,他们可以免费获得更多的开发资源,而无需雇佣更多的编程人员。
2、不具盈利需求
像其它始于教育或非营利组织、或者是个人喜好的开源项目,他们只管软件有开放的代码库,不需要一个保证收入的业务计划。 这种模式,并没有回报的承诺。
3、社区需求
此外,还有常见的社区版模式。一般来说,社区版是企业构建一个产品之后在社区进行开源,这个版本的软件,企业甚至不需要投资任何资源支持,由用户提供持续支持即可。这种模式的企业可以在安装和支持上赚钱,额外的高级功能更不用说。那些有需求但不想自己干的企业,交钱给他们进行支持、培训、维护、以及其它相关服务。
4、增值需求
这个模式还有一个变体叫“免费增值”。 可以采取多种形式,从具有所谓的“专业”升级到具有商业附加品的无核心产品,再到供应商托管、维护的SaaS版本等等。
5、组件需求
开源公司赚钱的另一种方式是使用附加组件。比如WooCommerce,它的基本产品是免费下载,赚钱的方式是在在线商店中销售许多不同的附加组件。同时,通过建立庞大的用户群,它创造了更大的价值, Automattic 用3000万美元收购了它。
㈦ 开源的使用原因
降低风险
在当前动荡的市场环境下,组织不应该过度依赖软件公司,因为他们可能正面临生存的困境,每天都有无数的软件公司倒闭,因此选择软件公司的产品,无异于将自己的命运交给了别人。同时,软件公司的产品一向是封闭源代码的,试想一下,如果软件公司在一夜之间突然人间蒸发,你运行的系统就无人维护,随时可能面临更换系统的境地,如果选择开源软件,可以将这种风险降到最低,活跃的开源软件通常会有源源不断的贡献者维护和更新,而且自己可以获取源代码,完全可以按照自己的意愿进行修改,无需担心某一天突然找不到依靠。
产品质量更可靠
闭源软件的质量通常与软件公司的开发人员水平息息相关,开发人员的水平通常参差不齐,因此闭源软件的质量通常也是参差不齐,而开源软件通常是由社区中的技术高手在维护,有时用户自身也可以参与维护,并且开源软件的用户较多,软件存在的bug一般都会被及时发现和修补,产品质量更加可靠。
付出少,回报多
削减成本是商业成功至关重要的的因素,bug修复,开发功能和编写文档都会消耗大量的人力、物力和财力,如果选择开源软件,这些事情都有人在默默奉献,不需要你付出什么,但你却可以享用别人的劳动成果,当然你愿意的话,也可以为开源软件做贡献。
不花冤枉钱
使用开源软件开发一个产品是值得投资的,可以降低开发成本,并可以快速推出自己的产品,然而,许多组织都希望投放到生产环境中的产品能得到支持,于是诞生了许多提供企业级开源产品支持服务的专业型公司,组织可以根据自身的情况,有选择性地购买需要的服务。如果选择闭源产品,通常会多花钱,买到自己可能用不上的产品和服务。
招揽优秀人才
开源社区中充满了大量的优秀人才,他们富有激情,才华横溢,乐意为开源软件奉献,如果你的组织选择了开源软件,在他们眼中,你的组织充满了魅力,因此要想招揽到优秀的人才一点问题也没有,试想一下,对开源软件有浓厚兴趣的人加入到你的组织,想不提高生产力都难。
行业适应能力更强
因为开源软件大多免费的缘故,在中小型组织中迅速得到了广泛使用,这些使用开源软件的组织可能来自各行各业,经过这么多组织的长时间使用,开源软件的适应能力更强,因此无论你的组织属于何种类型,都可以放心使用,相比之下,闭源的软件产品通常用户数量较少,行业适应能力不强,即使软件公司承诺可以定制开发,也会是一个痛苦的合作过程。
产品更透明
由于开源软件是由社区在推动,其透明度很好,bug的发现,新功能的提出都是在一个公开的论坛中进行的,你可以随时获取到最新信息,还可以参与进去,开源软件会根据使用者需求不断演变,而不是受限于一家公司的意愿,因此你可以了解开源软件的未来发展规划和方向,其透明度比闭源软件高出许多,组织可以做到心中有数。
㈧ 软件为什么要维护维护的过程
你好,希望我的回答对阁下有用~A.要求进行维护的原因多种多样,归结起来有三种类型:
(1)改正在特定的使用条件下暴露出来的一些潜在程序错误或设计缺陷;
(2)因在软件使用过程中数据环境发生变化(例如一个事务处理代码发生改变)或处理环境发生变化(例如安装了新的硬件或操作系统),需要修改软件以适应这种变化。
(3)用户和数据处理人员在使用时常提出改进现有功能,增加新的功能,以及改善总体性能的要求,为满足这些要求,就需要修改软件把这些要求纳入到软件之中。
B.维护的过程:
软件部分 1.系统安装时系统盘分区不要太大,个人觉得XP的话有5G-10G就可以了,除了必要的程序以外,其它的软件不要安装在系统盘。系统盘的文件格式尽可能选择NTFS格式。
2.注册你的软件。这是在你使用正版的情况下。如果你使用D版的,那你尽可能去一些大型一点的、口碑比较好的绿色软件站去下载,尽量不要去一些小软件站。有很多人都喜欢尝鲜,当有一个新版本出来的时候就喜欢去下来用,个人觉得如果你的旧版还能满足你的要求而且一直很稳定,你还是不要那么快去尝鲜吧。而且,个人觉得同类的软件最好只用一个。很多人的计算机出现故障都是因为软件冲突,特别是杀毒软件,有人似乎认为装得越多越安全。其实不然,两个杀毒软件一般都是不共存的。
3.定制好自动更新。自动更新可以为你计算机的许多漏洞打上补丁,也可以让你免受一些利用系统漏洞攻击的病毒。当然,如果你的系统是D版的,就请小心使用了!许多补丁一打,你的系统也就games over了。
4.阅读说明书中关于维护的章节。其实很多常见的问题和维护说不定就在说明书中,结果你求助了很多人,后来却发现方法早就在你身边。
5.设置电子邮件程序自动存档老信件。
6.安装防病毒软件。虽然说杀毒软件不能百分之百防毒,但有总比没有好。就像我以前说的一句话:感冒药不一定能治好感冒,但除非你身体特别好,你不吃感冒药感冒多半不会好。
7.安装防流氓软件。这类软件也很多,个人使用爱好不同使用不同。我本人用的是优化大师自带的,感觉也是可以防住一些流氓软件的。说到这里,要提醒一些初学者,网络上很多共享软件都捆绑了一些插件,安装时尽量不要选择安装。
8.保存好所有的驱动程序安装盘。原装的虽然不是最好的,但它一般都是最适用的。最新的驱动,不一定能更多的发挥你老硬件的性能,不要过分追求最新版的驱动。
9.每周维护。做什么?删除垃圾文件,整理你硬盘里的文件,用杀毒软件深入查杀一次病毒。一个月左右做一次碎片整理,运行硬盘查错工具。
10.删除不需要的文件。
11.备份重要文件。个人觉得如果你有习惯将你的文件放在“我的文件”里,那么我建议你将“我的文件”的存放路径转移到非系统盘里。方法:在桌面“我的文件”上点右键,选择属性,里面可以更改“我的文件”的存放路径。这样最大的好处就是那天你需要格了系统盘重装系统,你也不会因为你的文件丢失面伤心了。
12.清空回收站。定期清空回收站,这是一个好习惯。
13.删除Internet临时文件。
14.桌面上不要放大多东西,也不要放大多的快捷方式。快速启动栏里也一样。
15.如果你有其它备份方式,尽可能禁用系统还原。 二、硬件部分 1.使用防电流冲击的电源插座。不要让计算机与家里其它大电流的家电共享一个插座。而且一定要记得,你的计算机用插座一定要用真正的三线(就是含地线的那种)。计算机专用的插座尽可能使用质量好的,这几个钱不要省。我有过教训,家里的插座看似三线的,结果地线根本没接。不到半年,我的电源就浴火但不重生了,当时我还以为我的计算机也同时报废了呢。
2.严禁热插各类设备(除USB类)。可能的情况下音箱,耳机及USB设备也不要带电插拔。因为瞬间电流很容易烧坏主板,很多使用801FB、801DB南桥的主板就是因为热插USB设备烧坏的。
3.定期清洁机箱内的灰尘。建议半年到一年做一次,因为灰尘会引起静电烧毁和一些接触不良。太多灰尘也是造成风路不畅的元兇,特别是电源供应器里的灰尘(电源供应器里灰尘的清理,建议请身边的老鸟来完成。)
4.所有开机箱的行为,都请注意静电防护。可以通过先触摸接中金属的方式来放掉身上的静电。有条件的请带上静电防护设备。
5.不要一边吃东西一边玩计算机,特别是带汁的食品。
6.不要在机箱上放很多东西,特别是机箱后面放太多东西会影响计算机散热。
7.一般情况下不要在计算机工作的时候移动机箱。
8.不要让音箱与显示器靠太近。也不要让计算机靠近带电磁辐射的家电,尽量让手机远离计算机。
㈨ 为何需要为开源软件付费
OpenStack 软件就是一种建立在私有云和公有云基础上的开源软件项目。 红帽的工程师们给OpenStack项目筹款。以产品来分类开源项目,并且将捐献款项提供给他们。 以Jboss 公司团体项目为基础的开源项目,因红帽企业Linux而闻名。它是一个运行在开源Fedora Linux 操作系统下以产品分类的版本。 企业级维护 如果你的公司在完成关键任务的时候使用了开源平台软件,那么你可能需要另外雇佣专人去维护软件的运营,排查使用障碍。 如果有专属权的软件出现使用问题时,软件技术团队对软件的支持是免费并可行的。但是对于使用开源平台编写的软件,当他们出现问题时,使用者没有保证开源平台的技术团队能够及时有效地解决你的问题。因为开源的团队并不是7天24小时随时都提供故障排查服务的。 也有一些第三方公司为开源软件提供付费的技术支持。然而,一名红帽的高级经理说,像红帽这样的公司会为你提供比第三方公司更好的开源项目产品化服务与资助。 “我们能够提供大多数核心软件技术的核心价值,我们雇佣相关领域的专家——并非一般专家,而是对产品有核心贡献的人。”他补充到,“更重要的是,这些都是一个开发团队的核心部分,它们能够对产品进行修改与维护。” 为软件引入新特征 对开源软件付费的另一个好处是在很多情况下你想要的不仅是基本功能。
㈩ 软件为什么要开源
开源软件的英文为open source software,简称为OSS,直接的字面意思是公开源代码的软件。软件既然连源代码都公开,那么使用自然是自由的,因为用户可以利用公开的源代码自己编译为可运行的程序。因此,开源软件具备可以免费使用、公布源代码的主要特征。