回忆&总结05b:自由软件,一种崇高的信念


* 妥协还是进步?开放源码(Open Source)
虽然GNU计划开展得如火如荼,但RMS等人所倡导的GPL协议仍极具争议,例如大名鼎鼎的Eric S. Raymond就对RMS的态度和GPL协议保留意见,认为这会阻碍自由软件的发展。争议在于GPL协议强制所有使用以GPL授权的程序代码的软件必须公开该软件其余所有的代码,这会使许多商业用户望而却步。这些商业软件的公司其实愿意开放绝大部分的代码,但某些加密模块或是涉及第三方专利的代码就不能公开,因此面对GPL的强硬要求他们不得不放弃。一直以来RMS都不曾妥协,称这种要求是道德的要求,没有妥协的余地(其实我是支持他的)。后来,Eric S. Raymond就提倡开放源码(Open Source,该词后来成为注册商标,由www.opensource.org维护,必须使用指定的某几种协议的软件才能冠以这个名字)这个概念,它的出发点和GPL是类似的,但在公开所有源码上对特殊情况有所放松。这促成了Netscape公开Navigator的源代码。当时被微软IE压迫的Netscape收入每况愈下,最后决定主动公开Navigator的所有源代码,成立Mozilla.org来完成这个任务,当中Eric S. Raymond的游说起了极大的作用。mozilla.org后来脱离了Netscape公司,成为了一个独立的慈善组织,而当美国在线收到MS的赔款之后,已被美国在线收购的Netscape也名存实亡。mozilla浏览器套件后来发展成大家所熟悉的Firefox浏览器和Thunderbird邮件客户端。
至于后来微软所谓“公开源代码”和这个根本沾不上边,幸好"Open Source"已经成为注册商标,否则微软就要拿它来蒙骗公众。

* 我的Linux旅程
最早的时候在海印买回一套Red Hat 7.2,好像是69元,9张碟,其中有3张是所有源代码。接着对照《电脑爱好者》中的教程好不容易装好了,可是系统对中文的支持很差,我很不习惯,并且使用不了那台机的modem,无法上网。不久后删除。
大概几个月后,买了Red Hat 7.3。有了之前的经验,买之前已经上网查阅了关于modem的问题。原来现在的机器除了装的是外置modem以外,内置的基本是半软modem,即有一部分功能需要驱动程序完成,而这些程序是针对Windows操作系统的(也叫Win-modem),因此Linux下无法直接使用这种modem,而需要下载Linux下对应的驱动程序modem才能工作。类似地,装了linux驱动的软modem对应地叫做Lin-modem。
装好RH 7.3以后,马上安装modem的驱动。不同于Windows,装Linux驱动这个过程对于一般用户是很困难的,需要对照着全英文说明,在终端编译程序,然后运行安装脚本。连接上网又是一件难事,首先要用minicom登陆,然后要在10多秒之内用pppd建立连接,简直像拆定时炸弹那么紧张!我一次都没有成功过。幸好桌面系统GNOME有个和Windows差不多的网络连接程序!终于能够上网了!然而RH 7.3还是个很难用的系统,逃不了被我删除的命运……
初三的国庆节假期装了RH 9。RH 9的图形界面有了飞跃的改进,特别是中文支持得到了很大的增强!(当然不包括被改到不伦不类的KDE桌面系统)目睹RH 9这么完善,我毅然删除了Windows XP。这之后我有很长一段时间都在使用Linux。例如我的上一篇回忆&总结的初稿就是在Linux上的文字编辑器Emacs上完成的。Emacs算是世界上最强大的文字编辑器,如果你会用的话:-) Unix/Linux的程序都一般是这样的,如果你用心去学习的话,你会做到很多在Windows上永远都做不到的事情!好像TEX这个世界上最美丽的排版程序,效果真的很好,不过你要自己写代码:-) Unix/Linux的思维和Windows是不一样的,前者各部分自动吻合,后者杂乱无比却经常想强制各个部件融合。
类似的程序还有。我研究过一个窗口管理系统(窗口管理系统是比桌面系统低一级的程序,但也给了用户更多的定制空间)FVWM,发现系统的所有菜单都是可以编辑的,你可以编辑FVWM的配置文件指定某个菜单有什么选项,单击这个选项会启动什么程序,或者更进一步,指定会发生什么事情!诸如谈出n个窗口,或把你的常用程序一次过全部启动,或是为你清理垃圾邮件,甚至为你自动下载程序的源代码再编译安装!只要你懂得一点编程知识和拥有想象力。
但RH9最终我还是删除了,装回了WinXP。

我现在常用的自由软件和开放源码软件
MinGW(C、C++编译器)
GIMP(拥有Photoshop核心功能但体积超小的图像处理程序)
Maxima(专业的代数演算系统)
Mozilla Firefox(独立核心的浏览器)
Mozilla Thunderbird(电子邮件客户端程序)
FreePascal(Pascal编译器及类似Turbo Pascal的开发环境)
Lazarus(类似Delphi的开发环境)
Python(我最喜欢的程序设计语言的开发环境)
Dev-C++(图形C/C++语言程序开发环境)
MySQL(SQL数据库管理系统)
OpenOffice(MS Office的替代品)
lyricsman(我自己写的……)

* 后记
写这一节我的心情是沉重的,因为我害怕我的读者认为我在卖弄专业知识。

Advertisements

4 comments

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s