7z和winrar就是典型的开源软件和商业软件的区别。功能和定位都差不多,可以解压大部分的压缩包,只可以压缩自己的格式和zip。算法也都是字典压缩算法,用来作为通用无损压缩。作为同时代的产物,算法就就在那放着呢,具体的实现性能的区别不是很大。也就是说,rar设置为固实,字典大小设置为一样,结果只比7z大一丁点,速度比稍快7z快。rar的默认不固实,和较小的字典,牺牲压缩率,换取较快的速度和文件的随机访问。新推出的rar5格式,支持更大的字典(rar原先最大4Mrar5默认32M,最大1G7z默认16M,最大1.5G),缩小了和7z的压缩率差距,应该是随着硬件的进步,对速度和压缩率的又一次平衡。

由于一般用户往往使用默认参数,于是rar和7z的区别就是,固实与非固实的却别,字典大小的区别。这样看区别还是很大的。作为一般用户,rar的默认参数应该更适合。非固实的随机访问,方便修改。较快的速度,不心烦(虽然真差不太多)。

但作为一个压缩工具,在近似的速度下对压缩率的追求,是压缩的意义。不过这仅仅是理科的思维。写开源软件的人都是是计算机专业人士,更在乎的是功能,更希望可以自己控制软件的行为。既然是开源,都不要报酬了,为了心目中的理想,当然写出的软件当然是程序员们认为的理想中的样子了。拥有强大的功能,大量的自定义设置(灵活的、分类的、多种压缩算法的叠加),简洁的界面(个人很喜欢win8的窗口风格,简洁)。结果往往对新手不够友好,就更不用说外行了。7z还至少有图形界面,大量的开源项目都是命令行接口的。命令行可以节省开发时间,而且使用范围广,体积还小。

7z真是一个神器的工具,他可以解包一些平常想不到的东西。比如world,excel文件,xlsx可以解开为一堆xml。有些打包的exe安装程序,可以直接看到打包的软件。于是可以直接解压,就不用安装了,尤其是各种打包的盗版游戏。当然大型工具大都不可以这么干,因为往往牵扯到系统组件的祖册,注册表的安装,等等。而盗版游戏的破解往往和打包不是同一伙人,于是打包的exe往往带有各种广告,而没有真正的安装行为。7z是开源软件,对开源世界的linux下的许多包格式支持更好。

其实就和windows和linux的关系类似。linux取代windows,还有很遥远的路要走。ubuntu的界面已经和win区别不大,用户上手难度已经很小了。而且免费,开源(公开,尊重用户),系统开销的win少。随着跨平台的编程语言,使得软件支持更好。比如mono代替.net。以及神器wine。甚至可以跨平台的qemu,exagear。我相信linux的占有率会越来越高的。现在主要是win有着庞大的现有用户,现实必须要和他人交互。而libreoffice和msoffice不能完美兼容等等问题。linux一旦突破成为主流,win的收场只能是雪崩。

此外,说道开源,并不是免费。开源和收费并不矛盾,只是由于开源,那些限制复制的手段不能工作了。再加上绝大多数的开源软件是免费的,特别是个人使用几乎都是免费的。版权保护,实质上是分配更多的社会资源到知识的开发上,至少现在是无可争议的是有利于社会的发展的。开源是指公开源代码,目的是为了代码的重复使用。开源对于软件的发展的有利也是无可争议的,如果社会资源任然投入其中。开源世界使用少于商业软件的资源,取得今天这样的成就就是证明。只是开源软件就似乎成了社会基础建设一类的,就像自然基础科学的研究。基础科学需要政府投资,自由软件现在依赖于人们的捐赠,资金和劳动的捐赠。

软件和知识十分类似,复制的成本微乎其微。只有广泛的传播,才能创造最大的价值。问题只是如何回馈知识的生产者。这需要社会意识的改变,体制的改变,路漫漫其修远兮。但我们已经在路上了。所以作为半个软件专业的人,我是使用7z的。对于我个人rar提供的功能不值他几百元的价格。好在7z可以解压rar,给别人的7z也可以被rar解压。不过好像官方的免费版(评估板)功能上没有限制只是每次启动弹出讨人厌的窗口。