不设限的开放原始码

本文作者:admin       点击: 2008-12-10 00:00
前言:
Linux的魅力真的无法挡。只要你有耐心学习它-其实应该说“它们”-其中的乐趣真的乐无穷啊!可惜,一般人习惯于微软窗口环境,于是促使微软推出WinCE Pro和Core版本想跟Linux社群一较高下。但微软至今还是不开放WinCE的原始码,软件工程师必须使用它的API来设计自己的程序,因此WinCE的“黑盒子”和“臭虫”永远都无法被我们立即解决掉。这种不痛快,真让人受不了。 

反观Linux,几乎可以百分之一百满足所有想窥探操作系统究竟在搞什么的人的欲望,只要他愿意花时间去读Linux程序代码和技术手册,研究它们的逻辑,并试着自己动手做。

尼米兹航空母舰

美国尼米兹核子动力航空母舰(Nimitz Aircraft Carrier)是历史上最大的军舰,也是最昂贵的军舰,建造这样的巨无霸是为了要充分运用F-14雄猫式等90架高性能战斗机。或许微软帝国就像尼米兹航空母舰一样壮大,但微软的财大气粗似乎没有吓阻一大群Linux雄兵。讽刺的是,Linux社群的成长已经逐渐威胁到微软的市场地位。所以我们现在要问:到底谁才是软件业的尼米兹航空母舰?微软或Linux?

木匠精神的延伸

虽然美国是软件的发祥地,可是Linux核心却是芬兰大学生Linus Torvalds在1991年发明的。好在Free Source Foundation(FSF)创办人和GCC发明人Richard Stallman早在1984年就提倡开放原始码的观念,算是挽回美国人的面子。只是Stallman那时还没开发或找到像Linux这样好用的操作系统核心。1980年代的头条新闻是:AT&T由于捍卫BSD UNIX版权和柏克莱大学大打官司。

70年代,UNIX在AT&T的贝尔实验室被美国科学家们发明出来以后,AT&T就像现在的微软一样想独占UNIX程序代码的版权。“一物克一物”是自然的法则,FSF就是这样诞生的。一直持续至今,Linux社群突破微软的威吓,已经缔造了许多不可能的任务了。现在连微软也不得不使用部份的GNU/Linux程序代码。回顾这段软件历史,真教人不可思议啊!

Linux的精神很崇高,几乎等于美国的立国精神一样伟大。自由、平等、博爱就是Linux的精神。此外,在实作上,Linux几乎都是DIY的,使用者要自己建立开发环境和许许多多工具与链接库,没人能够代劳。这是承袭美国人的习惯,他们喜欢在家里设立workshop,自己当工匠设计家俱。Linux也是如此,敲敲打打统统自己来。这种类似美国西部拓荒的精神,正是高科技不断进步的原动力。

内行人的必备工具

为何Linux会流行呢?因为它的功能越来越稳定和可靠;因为Linux社群结合了全世界程序设计师的力量,使它的bug越来越少了-这实在可以比拟中国万里长城和埃及金字塔的伟大工程啊!现在连Mac X OS、VxWorks和数不清的软件都有用到Linux程序代码;而直接使用Linux核心的知名操作系统,譬如:Red Hat/Fedora、Debian、SUSE、Ubuntu……等,都是Linux的一个桌上型发行版。此外,还有专供嵌入式系统使用的特制Linux、微型Linux……等,这些变种Linux大都是芯片设计公司直接将Linux核心移植到他们的芯片平台上,虽然它们无法像知名的桌上型Linux一样可以让用户不断复制和重新安装,可是它们小巧玲珑,普遍应用在手机、PDA、数字相机、嵌入式PC……等便携设备中。

最近金融海啸来袭,企业纷纷缩衣节食,于是Linux的使用者又增加了。便宜是Linux的最大优势,但是便宜并没有侵蚀到Linux的强大功能。这真是匪夷所思,违反自然法则啊! 

如今,一旦软件工程师遇到任何程序问题,第一个想到的救兵,就是上网找Linux程序,或到Linux社群的Q&A网站、部落格查看信件找答案。Linux真是个宝藏,而且它是来者不拒,任何人都可以去挖宝。连IC设计工程师也可以找到他们所需要的Linux工具。不过,要看懂这些Linux程序、技术手册、信件,坦白说并非易事。一般人对Linux还很陌生,因为Linux是一大堆奇奇怪怪的命令、程序代码和术语堆砌而成的巨塔。只有Linux内行人看得懂它的门道,外行人只能跟着看热闹了。哈!

专利战争

在知识经济时代,打的是智慧战争,或专利战争。而专利构成的要件是:这个创意以前没有被任何人发表过。微软有许多独门的专利,其他公司或团体若抄袭或仿造微软的创意或专利,照理说,都会被微软告上法庭的。可是,Linux却像是打不死的“蟑螂”,永远存在。这是因为Linux有不怕被告的本钱:Linux的版本控管有记录可查,每一个版本都有log档案,记录了每一个设计概念和创意。此外,Linux社群都利用网络通信,共同讨论问题和交换意见,他们的新创意发想几乎都是公开的,而且是第一手的;即使某个模块或算法触犯到别人的专利权,Linux社群也可以藉由众人的力量及早发现、及早移除之,并设法设计出其它替代方案。相反的,一些Linux社群的网站还很欢迎任何人复制他们的创意哩!你说奇不奇怪啊!

不过,“面包”也很重要。有些开放原始码社群四处寻找捐款,譬如:2000年时的OpenBSD,以及许许多多默默无名的Linux网站,类似现在的他们都很容易因为财务短缺而被迫关闭或被微软个个击破。FSF的GPL授权到GPLv4后也必须和商业妥协,当初Stallman在发表GPL时,就没说GNU是免费的,可是一般人都把GNU当成“免费啤酒”一样。

2008年,我国电子厂在CeBit展和柏林CE展吃尽了苦头,都是因为厂商事先没有查清楚专利的来源。虽然GNU是软件授权,可是硬件和芯片其实也是用软件设计而成的,而那些软件很可能是使用GNU或其他授权,因此跟Linux软件一样,纵使硬件零组件是厂商自己采购的,可是芯片和电路图的使用仍需要专利所有者授权,因为Linux或其它开放原始码不是全部免费的。

总之,Unix是Linux的祖先,也是其它操作系统的祖先-微软或许会否认,但这却是不容置疑的事实。如果没有Unix就不会有现在的PC和嵌入式装置。Unix诞生后,GNU也随之出现。连芯片和硬件都是软件设计的,因此软件才是智能的精髓。软件授权是无形的,而法律授权却是非常无情的。许多开放原始码一开始出现时,好像是免费的,可是等到有厂商拿去量产以后,他们就会来索取权利金,最明显的例子就是uC/OS-II。只重视硬件量产的我国厂商长期漠视软件的发展,以后恐怕会遇到更多的专利陷阱,这似乎是不可避免的。