为什么开源软件比正常收费软件体积小?

艾木丰梦想团队


开源软件多数都是免费的,而收费软件通常又是不开源的。现在是市场经济,一般说来,价格高就肯定有它高的价值,要么是质量好,使用价值大,要么就是产品稀缺,供不应求。

那么为什么很多知名开源软件质量很好,却免费供应呢?这是因为开源软件作者免费贡献后,希望全世界的高手也同时免费帮助他一起完善代码,让软件变得更好。从这个角度来看,他并不吃亏。

现在问题来了,要让更多的不认识的人一起完善开源代码,那前提是软件必须好用。光好用还不够,还有更重要的一点:通用性强!就是说要针对通用领域,且符合大多数人的胃口,不要带太多个性化的东西。

所以,我们见到的多数知名开源软件的用户接口(UI)都是非常简洁的。软件工程中最棘手的需求问题,在这里根本不是事。开源软件的需求往往都非常清晰简单。否则,通用性得不到保障,开源出来意义就不大。

还有一个现象,绝大多数开源软件的界面也都是很朴素的,甚至干脆就没有界面(用命令行)。原因类似,界面是个性化的东西,每个人审美都不一样,有些软件公司还要请专业美工来搞。

开源软件作者开源的初衷,是让更多不认识的人帮他完善代码。所以他总是假定使用者具有足够高的软件编程水平。这就导致了用户使用起来不太友好,操作繁琐,缺乏傻瓜化的“一键操作”。意思很简单:

你要是不会用,那就别用,反正我也是免费给你的,没有形成购买合同。你要是真不会用,你这水平,我也指望不了你可以帮我一起完善这个开源软件。

用一句话概括就是:免费的开源软件,你爱用不用。

收费软件就不一样了,如果收费软件不极力讨好用户,用户就不会再来购买。收费软件,顾客就是上帝。顾客通常都是没有计算机专业背景的普通用户。

针对普通用户,用户界面(UI)是极端重要的,就如同一个女子的脸蛋和身材一样重要。而在UI上的代码量通常很大。因为多数时候,都可以用工具(或复制粘贴)自动生成冗长的UI代码。更重要的是,UI往往都带大量的图片,甚至音频、视频。

收费软件往往不再针对通用领域,而是带有大量的业务逻辑,大量的增删改查。代码量也会大幅增长。

收费软件为了迎合用户,会集成一大堆工具或插件,方便用户使用。开源软件的理念则是,你也可以用(第三方)工具和插件,但请自己去寻找或集成进去。为什么开源不去代劳,前面说过了,不通用(每个人想用的工具、插件不尽相同)。收费软件收费,其中一个原因就是,开发、集成整合这些东西是很苦逼的事情,花费大量人力。

收费软件之所以贵,一是因为可能针对个性化特定应用,二是可能操作简单,界面友好,傻瓜化操作,节省了用户的学习成本(时间就是金钱,用户用钱来买简单易用)。最简单的例子,为什么Windows收费,Linux免费?原因其中之一,因为前者简单易学。傻瓜化操作的代价,就是体积大,臃肿。

总结一下,通常情况下,收费软件有漂亮的用户界面,其中包含体积很大的图片、音频视频;收费软件自带个性化的业务逻辑,代码量较多;收费软件集成大量工具和插件。这些,都使得收费软件体积变大。


犍为真人


很高兴来为你解答该问题

所谓开源软件,指的是开放源代码软件,那么他的代码内容就公布于互联网,被全球人所阅读,故而下载的都是源代码,可以自己随意修改,需要自己安装时再进行编译。而收费软件,也就是没有开源的软件,是由开发商自己编写的代码,自己商用,代码已经编译完成,封装打包成安装包后供其他用户下载安装。所以两者在下载时文件大小会有所不同。


一 、对于开源软件,所有开发者或者使用者都有机会挑错和改进优化,使其代码逻辑性更加完善,代码量缩小,这样使代码的改进也会极大缩小封装后的体积大小,再有下载的开源软件一般都是下载的tar.gz格式的压缩包(未编译的大小),在linux上解压,编译,安装后其实和其他软件也差不多大,而未开源软件,下载的都是以exe结尾的文件,是开发者已经编译完成封装好了安装包。其他使用者不能反编译,去查看到代码的内容,自由自己开发者知道,其中代码的优质或劣处无人知晓,也许一个bug,会有上千行的代码来解决。所以光一个代码也会增加软件整体大小。故而两者相比下载是的文件包大小不同。




对于开源和非开源的软件存在的安装包大小,还会有开源软件中不会有任何广告的插入,而非开源软件中会有各种广告的接口。


以上就是对开源软件比正常收费软件(非开源软件)体积小的原因,希望回答可以让你满意。 如果你有不同的见解,可以在下方留言评论,一起交流。热爱开源,追求自由!


学派少年


你好:

开放源码软件(open-source)是一个新名词,它被定义为描述其源码可以被公众使用的软件,并且此软件的使用,修改和分发也不受许可证的限制。开放源码软件通常是有copyright的,它的许可证可能包含这样一些限制: 蓄意的保护它的开放源码状态,著者身份的公告,或者开发的控制。“开放源码”正在被公众利益软件组织注册为认证标记,这也是创立正式的开放源码定义的一种手段。


收费软件是一种针对客户定制来收费的软件,按照双方协议来进行收费。


开源软件比正常收费软件体积小的具体原因如下:

1、开源的软件一般情况下只包含需求功能的基础功能,一些高级功能未添加到里面,所以显得开软件的体积较小;


2、收费软件一般情况下会存在在基础的框架上添加一些客户定制的功能,随着功能越做越多,导致软件越来越臃肿,导致收费软件体积较大,例如最开始的Linux/Unix系统,都很小,经过开发商对这些系统进行封装,添加一些上层功能之后,软件的体积就变得越来越大,如现在的Android系统就是在Linux系统上层添加了许多功能,导致软件体积变得越来越大;


3、开源软件一般都是经过一些自由开发者进行贡献进行开发的,他们会对整个软件进行优化,优化一些不需要或者冗余的代码,总体的降低了代码量,但是提高了软件的质量,因此降低了软件的大小;


4、开源软件一般是纯净的,不会包含一些外置的链接之类的,像付费软件,一般会包含一些其他的外置接口,如广告之类的。


以上是开源软件为什么比收费软件体积小的原因,希望我的回答您可以满意!


比特币二师兄


很简单不少大型软件公司是按照软件代码量(不是质量),甚至有全自动的代码质量检测工具(减少重复代码算工资的软件),所以不少高手采取转义或混淆增加代码量所以……编译出来的结果就是……


蓝鸟啃苹果


有没发现很多开源软件就是个“半成品”,界面渲染效果很丑?


梨花儿


开源一般是为了兼顾通用性,所以很多定义扩展需要使用者自己定义,小巧更容易吸引开发者使用,如果太过臃肿,用户体验就会下降,开发者就会舍弃。


颓废131760435


哪来的结论了,你是调研了几个软件了。


分享到:


相關文章: