开源的诱惑

作者 YYGCui 日期 2011-05-22
Categories: 技术积累 Tags: Open Source
开源的诱惑

题记:这是一篇针对使用Windows的和不得不使用Windows的而又担心盗版或者藐视盗版的用户的日志。开源软件不仅仅是free的,它带来的是更专业的、更强大的功能,虽然UI可能相对于同样功能的商业软件不是那么友好。

工欲善其事必先利其器

上个月末入职,领了新电脑(hp的笔电伤不起啊),公司标配windows系统,而且还是xp(却用来开发Linux程序,更加伤不起啊),除了预装了一些office软件之外,没有任何其他其他正版软件的提供。大家都知道,为了避免不必要的法律纠纷,IT部门都禁止安装盗版软件的。在网络查找具有相同功能的免费替代品时,我发现一个有趣的现象:每一个耳熟能详的好用的共享软件(通常都是收费的),都有一个或小巧或更加强大的开源软件与之对应,而往往我们都忽视了开源。下面就从日常开发使用的一些工具为例对比聊一下。

1.File Archiver and Compression

我想大多数的windows用户使用的是WinRAR,WinRAR是一个收费软件,虽然可以长期评估使用。长期以来,我们都习惯于WinRAR的rar压缩格式,习惯于压缩成rar格式,解压缩各种压缩格式。
岂不知,在开源的世界中,我们有更加强大的,遵循GNU LGPL授权协议的7-Zip,它可以压缩解压缩各种常见格式(7z, XZ, BZIP2, GZIP, TAR, ZIP, 因rar是属于WinRAR的专有商业格式,所以不能),以及解压各种不常见格式(ARJ, CAB, CHM, CPIO, CramFS, DEB, DMG, FAT, HFS, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, RAR, RPM, SquashFS, UDF, VHD, WIM, XAR and Z)。可以说,它除了不能压缩rar格式之外,在功能上堪称一款完美的压缩工具。

2.FTP Client

号称“The best FTP client for Windows”的FlashFXP相信大多数人都用过,它的确是一款不错的FTP软件,但是它同样也是收费的。免费的FTP软件很多,如我在天空软件站搜索到110款;但开源的甚少。
FileZilla无疑是最好的开源FTP Client,FileZilla的强大谁用谁知道,而且这也是我使用过的UI做的比较好的开源软件之一,甚至它还提供了windows下FTP Server版本。当然它也有明显的不足:密码明文保存,不保存队列。

3.SSH Client

在各种SSH客户端共享软件中,SecureCRT当之无愧是功能最强大的,最好用的SSH客户端。在具备其他SSH客户端所具有的功能的同时,其最便利的功能就是标签化,方便易用,这是很多SSH所不具有的功能。
开源软件中,PUTTY是被大家广泛使用的SSH客户端,但至今仍处于Beta阶段,最后更新在2007年。它最大的特点就是小巧,开源。 当然也有一些不足:不能记住密码,没有标签功能。虽然也有些爱好者做了PUTTY的标签功能,但是效果不是很理想。

4.Editor for Programming

这个怎么说,怪只能怪Windows自带的editor功能太少了,只能实现简单的文本功能。编辑器共享软件中,UltraEdit算是功能强大,界面友好的文本编辑器,程序编辑器和十六进制编辑器。官方网站上提供了更详细的功能列表
开源软件中,自然不用说编辑器界的两大神器:Emacs和Vim。在Windows下界面友好的程序编辑器,个人认为Notepad++是最好用,功能更强大的,可扩展的程序编辑器。如通过compare插件就可以实现UltraCompare的文本比较功能。

5.Source Code Review

代码编辑器和浏览器,也真是没什么好说的,在共享软件中貌似只有Source Insight,SI的简单好用真是没话说,其界面友好性,及其布局设计让人使用起来很方便。
开源软件中,貌似也只有Source-Navigator了 ,sourcenav除了基本的代码编辑和浏览之外,还可以编译程序以及提供版本控制功能。唯一的不足可能就是UI的布局不够友好。

从上面的几个例子可以看出,开源软件相对于共享软件存在一些不足,但是这些不足都是体现在软件使用的友好性上,并不影响软件所提供的基本功能,甚至有些开源软件在功能上更强于共享软件。那么,没有价格优势的共享软件为什么还是比开源软件流行呢?

习惯抵挡住了诱惑

先入为主或者说习惯,是阻止拥抱开源的直接原因。共享软件的出现往往先于类似功能的开源软件,再加上缺少正版化意识,造成了这些共享软件的流行。在我们习惯了这些软件提供的基本功能以及一些可有可无的功能,习惯了UI的设计布局之后,在没有外界的压力下(比如软件版权),很难摒弃这种习惯,由共享软件转变到开源软件(当然,购买正版软件的除外)。
首先,周围的软件产业环境导致了我们的心安理得,既然可以破解这些软件而全然不顾软件版权,何必去购买或者寻找其他替代品,对盗版的纵容以及长时间使用形成的习惯是主要原因;
其次,这些软件提供的一些可有可无的便利功能为阻止转变提供了主观原因,正是因为类似的开源软件没有提供这些功能,所以甘于使用盗版,不想投入到开源软件的怀抱。比如SecureCRT的标签功能,没错,它给我们使用带来了极大的便利,但是没有这个功能,一样可以工作的很好。
最后,就是UI设计和布局,不得不说,开源软件在UI的设计和布局上,相对来说真的差好多,我想这主要是因为开源软件大多是个人及业余团队在开发维护,只是很好的保证了功能的实现,在UI设计上显得不够友好。当然也可以说习惯成自然,已经习惯了共享软件的交互设计。在我使用sourcenav的时候,我也有同样的感觉(还是source insight的界面设计更友好),但在使用了一段时间后,就慢慢的习惯了,感觉sourcenav同样很友好。

个人认为习惯是一个很可怕的东西,养成了好的习惯还好,一旦养成了坏的习惯,想要改正却要付出数倍的代价。习惯成自然,关键看态度!