中國自由軟體推廣先鋒的自述,心潮澎湃的一往無前,一定要看!作者:洪峰

NO IMAGE

一定要看,原文地址是:
http://www.cppblog.com/toMyself/archive/2010/08/29/125217.html
本文內容經過了我(Shane Loo Li)少許修改,主要是更新了目錄。

自由軟體:新的遊戲規則
洪峰
 
內篇之一:“一、百、萬”工程

   1. 牛犢涉世之初
   2. 迷霧中的引路人
   3. 蹉跎歲月
   3+漂泊
   4. 走出混沌
   5. 漫漫求索路
   6. 初試網路的威力
   6+自由軟體
   7. 堅果中的爪哇
   7+與中央電大的合作
   8. 結識理查德·斯托曼
   9. 奧萊理變奏曲
  10. 峰迴路轉九寨溝
  11. 從觀網看自由軟體
  12. 東山再起
  13. 結語

 
“一、百、萬”工程

牛犢涉世之初

我第一次聽說泛系和吳學謀教授的名字大約是在1990年的下半年。當時我年方二十二歲,血氣方剛,在某家國營的外貿公司工作。在大學裡我苦學過英語,功底很好,故經常奉領導之命出席參加外事商務談判活動,而很多同事幹了幾十年,但是終因語言不過關,因此只能做我的助手,因此我被他們嫉妒得不得了。 由於我不諳處理人際關係,終被同事暗算,從主管的職務“貶”到儲運部門當小職員,而且他們還派了一個終日喋喋不休的老婦人監督我。我開始過起了無聊的日子,眼看著時間一天天地過去了,心中感到無比的苦悶。

儲運部門的任務並不飽滿,空閒時間很多。為了不虛度年華,我開始自尋出路。我在那個老婦人的監督之外開始學習德語和法律。在大學裡我曾經學習過一段時間的德語,經過一段時間的自修,水平有了很大長進,學習的筆記也寫了厚厚的幾大本。為了應付那個老婦人,我在她監督時便看報紙,這她可說不上什麼,因為她在沒有事的時候也看報紙。

一天,我在讀《長江日報》時,一則報道映入了我的眼簾,那篇文章篇幅不算太長,大部分內容我已經回憶不起來了,但是,有一點給我印象很深,說中國學者吳學謀教授發明了一套方法可以“放大”人的智慧云云。為了瞭解更多的情況,我冒昧地按照報道上提到的武漢數字工程研究所的名稱寫了一封信給吳學謀教授,希望能見到他,並能具體地介紹泛系理論。這封信是用英文寫的,而且是利用那家外貿公司的英文打字機打的,我不能確信他是否能夠收到這封信,但是我還是發出了,我也不能確信他收到信後是否會給我回信,因為我是隻一個無名小卒而已。

又有幾個月過去了,我沒有收到任何信件,於是這件事情我就淡忘了,我仍埋頭學習德語和法律。這時(應該是在 1991 年的二月底或者三月份初,因為當時武漢接連不斷地下雨,快進入雨季了),我的一個蘇聯朋友來武漢訪問,因為他知道我會講俄語,希望我能陪同他參觀幾個地方。我於是陪同他到武漢東湖高新技術開發區去參觀和談判。當時蘇聯還沒有解體,儘管戈爾巴喬夫在臺上天天喊他的改革與開放,但是中蘇關係實際上還是處在冰凍時期末尾,沒有改善。一下子來了一位高鼻子、藍眼睛的俄羅斯人,東湖高新技術開發區的領導們很重視,也很謹慎。安排了一群老同志出來會見這位外賓,在會議室裡,中方的同志們說話都非常地小心翼翼,生怕洩露了什麼國家機密。這群同志二十世紀五、六十年代都學過俄語,但是多年不用,大都忘記了,只有一位同志例外,還沒有全部忘記掉(他的名字我已經不記得了),只有他能與外賓進行簡單的溝通,這樣會議室的氣氛才沒有凝固。

最後,外賓提出,你們的東湖高新技術開發區成立的訊息對外已經公佈過了,正因為這樣他才慕名而來,他也知道中方有些單位(這裡使用“單位”這個詞是最準確的,因為那個時候根本沒有今天這麼多的公司)想與外方合作,希望能實地考察其中幾家。於是那位老同志友好地介紹了研究和製造光纖、鐳射器件、計算機系統的幾個單位,包括以研究容錯計算機系統和 Ada 語言的七零九所。於是,在他們的陪同下,我們幾人一同驅車參觀了這幾家單位。

當我們最後到了七零九所時,我看到了門口的招牌,突然意識到這家單位就是武漢數字工程研究所,也就是吳學謀教授工作的單位。於是在與七零九所領導快談完時,我以外賓的名義提出想見吳學謀教授。七零九所的領導當場很詫異,他們搞不明白怎麼連蘇聯人也知道吳學謀,但最後還是叫祕書立即通知吳學謀到會議室來。

大約過了一刻鐘的工夫,祕書領著吳學謀進來了,當時的情景我仍然記得很清楚,彷彿就在昨天一樣。他當時身穿一件灰色的風衣,打上了一條紅色的領帶,下面是一條黑色的褲子,頭髮已經梳理過了,戴著眼鏡,人顯得很精神,一看就是一副大學者的形象。他一開口就是很濃的廣西口音,我起初聽不懂他說的話,但是過了幾分鐘就適應了。

寒喧幾句之後,我們便聊起來,我問吳教授,他的理論與模糊數學是什麼關係(我在大學裡學過模糊數學,但是並沒有入門。)?他說模糊數學可以用泛系理論來重新認識1。 這更加深了泛系在我心中的神祕感。我們還談了其他內容,我告訴他我就是那個寫信給他的洪峰,他一下子就聯想起來了,告訴我信他是收到了的,但是忙於寫作另外一本書,一直沒有時間給我回信。我希望他能詳細介紹泛系理論,於是他送了一本剛剛出版的《從泛系觀看世界》給我,說這本書比較詳細地介紹了泛系理論,希望我可以從中得到一些答案。我懷著對泛系的滿腹疑問愉快地與他告別,並約好過一段時間再見。

迷霧中的引路人

送走了蘇聯朋友後,我便廢寢忘食地開始閱讀《從泛系觀看世界》。這本書的確寫得很好,非常深入淺出,定性的部分我基本上看懂了,但是我的數學功底實在太差,很多定量性的內容我還是根本看不懂,我雖然是學機械工程出身,上大學時數學分析課程也學過一年,吉米多維奇的數學分析習題集上的四千多道題目也做過一兩千個,但是當時都是為了應付老師和考試,數學理論還是學的少,真正知其所以然的東西就更少了。《從泛系觀看世界》裡面用到了很多集合論的術語,什麼冪集啊、傳遞包啊,等等,這些東西當時我可都是第一次看到,一竅不通。

為了搞明白泛系,看來集合論是非學不可了。於是我找了一本介紹集合論的書,是方嘉琳編寫的《集合論》2,開始鑽研起來。這本書不算厚,253 頁,但是裡面的各種數學符號一看就令人頭痛,什麼阿列夫(aleph)啦、良序啦、格啦、代數系統啦,等等。我越看問題越多,而且理不出一個頭緒來,於是我決定提前去問吳學謀教授,讓他來指導我。我天真地以為,只要明白了集合論,就可以不費吹灰之力地搞定泛系理論,就能去放大我的智慧,而變得更加聰明些了。

我帶著《集合論》這本書又一次見到了吳教授,我原來指望他能夠就書中的問題逐一地對我進行輔導,就像大學裡老師對我們的輔導一樣。當得知我在學習集合論時,吳教授很高興,把我帶到了他的家中,我們開始談起來。這是他第一次給我上數學課,但是,他自始至終沒有開啟我的那本《集合論》的書本,而是給我講什麼是集合,這個概念是怎麼來的,數學中的隸屬關係如何理解等。他在將分類的辦法時,以人的分類為例,通過不同的分類條件,可以分出形形色色的人群來,大量生動的例子逗得我哈哈大笑,可以說他講得頭頭是道。這是我一生中第二次有人將枯燥乏味的數學講得這麼生動,就像聽動人的故事一樣。

我第一次接觸數學的美感是在高中一年級學習立體幾何時,我的中學數學老師是一位極為出色的先生,他的講課充滿了幽默故事,純啟發式的,又不失嚴謹,往往枯燥無味的數學問題經過他的講授,一切疑難便無形地消失在笑聲中。他總是試圖引起我們的好奇心。正是在這種好奇心的驅使下,我在高二時便理解了數學中極限和導數的概念。可惜當時面臨高考的壓力太大,我不可能用心思去仔細地品味數學中的美感。

時隔這麼多年後,吳教授的講授又再次引發了我的好奇心。吳教授高度重視直覺在數學思維中的作用,從此以後,我完全改變了對數學的看法,不再覺得數學符號是枯燥乏味的,相反,我認為一旦理解了數學符號背後理論的思路和背景,把相關的數學直覺建立起來後,數學是人人都會喜歡的學科。可惜,現代的教育體制已經將人的好奇心扼殺殆盡,人的直覺訓練不受重視,對於背景與數學理論的來龍去脈更是很少提及,我發現這一問題不僅僅存在於數學的教學活動中,在其他學科的教學中也不同程度上地存在,甚至有過之而無不及,令人惋惜。

無論在中學還是在大學,我的文科功課是學得很好的,中學的語文課本里的古文可以倒背如流。歷史成績更是好得連授課老師也覺得奇怪,這個孩子怎麼知道這麼多歷史知識啊。英文老師也佩服我的記憶力,因為我掌握的詞彙量很多,後來由於吃不飽,便自學了一年的法語(我的英文老師也學過法語,所以他總是擔心兩種語言是否會在我的頭腦中打架),我還是物理課代表,物理老師總是讓我幫助他代解其他同學的作業。只有化學課糟糕,因為我覺得那麼多的分子式、反應式不用去死記硬背,具體應用時,知道查書和手冊即可,而且化學課經常做實驗,酸啊、鹼啊、玻璃瓶啊,這個不許碰、那個不許摸,我覺得約束實在太多。

我喜歡上數學課是因為我沒有這些約束,而且老師的講解輕鬆有趣,什麼東西只要在頭腦裡認真想清楚就可以了,可以說數學是一種“思維體操”。後來我的體會是,文科的功課比較好懂,容易入門,而理科課程則需要動腦筋,沒有老師的指導,很難入門並掌握要領。所以,要理解這些課程,就必須要有好的引導過程。

我很幸運,因為我遇到了吳教授,他能給我良好的導引。

蹉跎歲月
艱難的人生抉擇

在吳教授給我上了第一次課後,我對數學產生了濃厚興趣,開始花很多時間來思考集合論中的觀點。現在回憶起來,可以說我走了一條捷徑,因為集合論是幾乎所有現代數學理論分支的共同基礎,沒有集合論提供的工具,描述一種數學概念或理論可以說是寸步難行。從這一基礎理論開始研究數學要比從其他地方開始少走很多彎路。

方嘉琳所著的《集合論》一書只介紹樸素集合論,也就是由偉大的德國數學家康托爾(G. Cantor)首創的集合理論。對於大多數人來說,這本書介紹的樸素集合論應該是足夠了,但是我沒有滿足,我懷著好奇的心情想看看書中一筆帶過的公理集合論究竟是什麼樣的東西。

公理集合論非常大的程度上是為了解決樸素集合論中產生的悖論而產生的。後來我才搞明白,這個問題涉及到了數學這門學科的哲學基礎。所謂悖論,按照我的簡單理解,就是在邏輯上自相矛盾的東西。數學是講究理性思維的,不允許似是而非的東西存在。可是我當時非常迷惑,為什麼從純粹的邏輯假設出發,按照邏輯系統的推導,可能會得到似是而非的結論呢? 難道說我們人類在認知能力上有著先天性的重大缺陷嗎?

對於這些問題, 當時我無法回答自己,我想泛系理論或許可以回答我的問題。但這時我對集合論剛剛入門,無法深入下去,我步入了一個謎茫的世界。 我這個人天性愛好自由,一旦心中有了疑問,便感到了身上有了巨大的約束,心中非常地忐忑不安。

除了這些煩惱之外,我的生活也遇到了麻煩。1991 年底我第一遇到了人生以來最嚴重的危機,我所在的外貿公司的工作儘管在其他人看來是令人羨慕的職業,但是對於我,上班卻如同坐牢一樣難受,終於到了我無法忍受的地步。經過反覆的思考,我做出當時令所有常人(除了我自己之外)難以理解的舉動 —— 辭職。武漢這樣的中國內地城市在 1991 年時仍然是非常封閉的社會,辭職就意味著失掉了一切 —— 沒有了任何收入,沒有了任何社會保障,沒有任何社會地位如同乞丐,女朋友也同我一刀兩斷。一句話,我從一個令人羨慕的位置一下子跌入了社會的最底層。

感謝我的父母親,是他們在我人生最困難的時候仍然是一如既往地那麼愛著我,儘管他們也不理解我的離奇舉動的原因,他們卻早就看到了兒子的彷徨、苦悶,也看出了我的不幸。憑藉他們對兒子的愛和了解,他們還是默默地接受了我辭職的現實,一方面終日為我擔心,另一方面還忍受著家庭周圍人投來的異樣目光。

我失去了一切,除了自由。

飄泊

為了謀生,我到了深圳這個當時中國最開放的經濟特區,原來指望能找到一份新的工作重新開始平靜的生活。但是事與願違,我在深圳碰到的卻是更多的複雜社會景象,當時深圳最火爆的生意有兩個:一是房地產,二是炒股票。這兩樣我都是門外漢。這兩樣都需要初期有資金投入,加上投機取巧的本事 —— 恰巧這兩樣東西我都沒有: 如果我有資金就不用去深圳淘金,如果我會投機鑽營就不會混到辭職的地步了。

我曾經設想利用我的語言特長,試圖在深圳找到一份工作,但是我遇到的老闆或者業主有兩大類,一是來自內地的投資者,再就是幾個來自香港的商人,他們大都以貿易和製造業為主,除了做轉手貿易外,需要的是來自四川和湖南等地廉價的罐裝勞動力。在朋友的介紹下,我去過幾個高檔涉外星級賓館應聘做管理人員,但是我覺得這些工作並不適合我做。最後我帶著遺憾離開了深圳回到武漢家中。

在深圳期間,我並沒有學習泛系,但是我看到了社會系統的複雜和不規則,我看到了在不公平的社會系統下的弱勢群體的遭遇,我看到了知識在勢利的商人眼裡毫不值錢的窘迫和尷尬。

1992 年時,原來的蘇聯已經不復存在。在蘇聯解體之前,中蘇關係就已經開始解凍,俄羅斯獨立之後,由於原蘇聯地區日用百貨奇缺,俄羅斯開始市場化改革,中俄貿易開始急劇升溫,我到過北京,北京街上成群結隊的倒爺告訴我俄羅斯那裡有巨大的市場需求,我決定到莫斯科去碰碰運氣。經過幾番周折,使出了渾身解數,動用了所有可以利用的社會關係,我終於搞到了出國護照,懷著對未來美好的憧憬踏上了異國之旅。
觸“網”

路上經過的千辛萬苦,我終於到了莫斯科。這不是我第一次來莫斯科,早在 1989 年蘇聯解體之前我就來過。我原來計劃先找到幾個認識的俄羅斯商人,進行合作,但是後來的事情發展表明,這是一個錯誤的計劃,這些俄羅斯商人與我在深圳見到的商人沒有任何兩樣,他們貪婪、奸詐,甚至有過之而無不及,而且他們天性多疑,大國沙文主義思想嚴重,在他們的眼中,中國人是與吉卜塞人一樣的劣等民族,邋遢、沒有文化修養,沒有信用。再加上俄羅斯的新聞媒體的過分渲染和誤導,在普通的俄羅斯老百姓眼裡,中國的經濟改革很成功,所有來俄羅斯的中國人都是暴發戶,有些俄羅斯人開始針對在俄羅斯的中國人進行搶劫等刑事犯罪活動。
在高峰時期,僅在莫斯科的中國人就達到八萬人之多。經常聽說有中國人在莫斯科被謀財害命。我也有過被輕微搶劫的經歷,憑我一個人單槍匹馬,想闖出一條生路來,無疑是夢想。

不過,我的異國生涯也不光是隻有夢魘,我也有極幸運的地方。我的房東是無線電物理研究所的高階專家,他家中的藏書豐富,正是在他家中,我第一次看到了《蘇聯數學百科全書》。通過這套磚頭式的大部頭著作,我看到了數學理論的高樓大廈群落是何等的雄偉壯觀,他教了我不少數學知識。 通過他,我還接觸了不少俄羅斯的學者,他們都是學術功底紮實的人,其中有過叫伊萬諾夫的先生,是我房東的同事,在衛星通訊領域是行家裡手,我與他曾經工作過一段時間處理航天體軌道誤差計算的問題。有一天,他告訴我,莫斯科將在國際展覽中心舉辦一次規模空前的通訊與網路技術展覽,他們的研究所也會參加,並邀請我也去看看。

這是我第一次參加通訊技術方面的展覽會,時間應該是在 1994 年 4 月左右。俄羅斯人對通訊技術的研究是非常深入而卓越的,此前無線電物理研究所裡面就有大量的技術專家被歐洲宇航局高薪買走了,這從一個方面說明他們的技術水平是非常尖端的。我參觀了他們展出的裝置,給我印象非常深刻。

展覽會上還來了大量的外國通訊公司和計算機公司展出各種新技術、新裝置。由於我學習過德語,因此我與一家德國公司的工作人員談上了,他向我介紹了他們推出的計算機網路產品和天線系統,告訴我究竟什麼是 Email。這是我第二次聽說什麼叫電子郵件和計算機網路。(第一次是從美國的未來學家奈斯位元在《大趨勢》中介紹的內容得知的,但是,我被這本書誤導了,因為作者說過,電子郵件只是高科技,不具有傳真的高情感,所以他說電子郵件不會真正流行起來 —— 我聽說他後來還寫過幾本未來學的書,但我再也沒有讀過,也不知他後來是怎樣自圓其說的。)

德國人告訴我,現在他可以分文不取將我的信件發往世界各地,我覺得他像是生活在另一個世界裡的人,因為他所說的聽起來都像是神話 —— 當時我所知道的主要通訊手段除了電話,就是傳真(Fax)和電傳(Telex)。兩者的費用都是非常高昂的,電傳的技術基於每秒五十波特率的電傳打字機技術,只能傳輸純英文字元,按照資料的傳輸時間計費,與今天的高速鐳射印表機相比, 電傳機的列印速度真是慢得像蝸牛爬行一樣,因為列印是靠機械裝置完成的。傳真則可以傳輸黑白圖文,費用與電話一樣,從中國打電話到莫斯科一分鐘當時是人民幣二十多塊錢。
每次打電話至少需要講上十分鐘,一次通話下來怎麼說也要花掉兩三百元錢,而可憐的父母親一個月的收入加起來才不到幾百塊錢。因此我與父母的聯絡主要是通過普通的航空郵件進行,只有在重大的節假日才使用電話。

航空信件最快也要花 15 到 20 天的時間才能到達。 莫斯科的郵政系統運轉效率非常低下,航空信件花一個月的時間才收到也是常見的事情。儘管中俄已經是友好鄰邦,當然沒有烽火連三月的局面,但是家書的確是值萬金的。小時候我就能背誦古詩“慈母手中線,遊子身上衣”的詩句,但是我卻是在異國他鄉才得到對這句詩的最深刻的體會和最準確的理解 —— 有時候,我一看到身上穿著母親編織的毛衣,思家之情油然而生,我多麼想時時通通電話,問侯一下他們啊。通訊是人與人之間溝通思想必不可少的技術,但是昂貴的電話卻根本滿足不了人們的需要。(後來電信部門紛紛大幅度減低國際電話費率,可以想象他們當初的壟斷利潤是多麼高。)

當時這家公司的電子郵件是通過專門租用的衛星線路從莫斯科投遞到德國的,再從德國的計算機主機上進入 Internet 進行投遞。我好奇地問他,中國有沒有這樣的計算機網路,因為我在國內時從來沒有聽說過有這樣的服務。 他告訴我,他的公司與中國之間直接的衛星網路連線沒有,但是中國科學院有計算機節點連線在 Internet 上,因為他曾經聽說有人在德國收到過來自中國的電子郵件,所以他可以肯定中國應該有這樣的網路。

突然間,我覺得世界全變了樣,我有一種感覺,似乎我得到了一切,並不僅僅是因為 Email 是免費的,而是我找到了我生命中最寶貴的東西 —— 與他人的交往時不受任何約束的一種真正的平等。而在此之前的我是一無所有的,我生活在一個缺乏資訊資源、幾乎與外界隔離的黑洞中,我渴望擁有這份平等。我應該回國去建設這樣的計算機網路,讓網路為人人服務,讓人人都擁有這份平等。

走出混沌

1995 年我離開俄羅斯回到了武漢,開始實施我的網路建設計劃。我高興,我曾經到過俄羅斯,那裡我遇到了世界一流的科學家和工程師,我從他們那兒學到了一些東西;我高興,我離開了那裡,俄羅斯社會充滿了欺詐、歧視和混亂,我因此失掉了一些寶貴的青春時光。

由於我以前提出過各種各樣的計劃,不是行不通,就是無疾而終,因此這一次父母親開始時都堅決反對我組建公司搞什麼資料通訊的業務。他們擔心我再次遭到人生道路上的失敗,他們希望我回到普通打工者的軌道上去。

但是,我不甘心就這麼放棄我的計劃,我苦口婆心地說服了父母親支援我建立一個公司,最終他們還是心軟了下來,被我說服了,但是他們始終以一種將信將疑的心態看著我,他們不相信我的公司能夠在市場上成功。這也難怪,在 1995 年前,國內主流新聞媒體上從來沒有出現過什麼關於 Internet 的報道,你又如何讓他們一下子相信我能去運作一個他們從來沒有看到過的東西去獲得成功呢?

1995 年時,國內的市場環境開始有所好轉,註冊公司不像以前那麼困難了,而且當時《公司法》之類的法律也出現了,儘管註冊公司還受很多約束,但是,畢竟它是一件平民百姓們也可以操作的事情了。註冊公司需要有“三師”的資歷,也就是高階工程師、經濟師和會計師。經濟師和會計師我很快就物色到了,工程師需要找好幾個,我給吳教授打了電話,希望他能支援。吳教授很爽快地答應了,並提供了有關證件。

經過一番艱難的準備,公司終於在 1995 年 5 月 12 日成立了,說實話,除了缺乏資金外,這個公司是“三無”企業:既無自己的場地,又無產品,也沒有任何技術儲備。老闆和員工總共加起來只有一個,那就是我自己。但是這個公司有一樣東西屬於另類,那就是對構建未來理想資訊社會的堅定信念。正是這種堅定的信念,使我克服了前進道路上數不清的困難,將公司一直經營到今天。

公司開張後,我開始構思應該怎樣開展業務。我想第一步要做的就是自己應該上網,自己先成為網路使用者,不然你如何向其他人展示網路的作用和力量呢? 正是基於這樣的考慮,我與中國科學院網路中心進行聯絡,成為他們的使用者。當時他們主要向北京的單位提供網路接入服務,在北京的使用者可以撥打他們提供的電話號碼,以終端使用者的方式進入網路,我主要的時間在武漢,因此如果以長途電話入網,一個月下來電話費用將非常高,我開始琢磨是否有其他辦法來解決這個問題。

答案是有的,就是通過 X.25 分組交換網路。中國科學院網路中心已經租用了電信部門 CHINAPAC 的兩條 X.25 專線,速度為 9.6Kbps, 因此如果我能夠在武漢能夠找到電信部門的 X.25 的接入點,就可以不用撥打長途電話號碼從武漢連線到中國科學院網路中心的網際網路主機上。

當然,我當時得到的這些結論都是從書本上得到的,實際結果如何,我是無從得知的。 無論如何,我得有一臺計算機,沒有計算機,什麼都無從談起。我妹妹借給了我一萬五千元買了第一臺真正屬於我自己的電腦。永遠應該謝謝我妹妹,因為她的工資也很微薄,這筆錢她積攢了多年,是準備用於出嫁的錢。我答應一定將公司的第一筆收入用來歸還她。

我在研究這些遇到的問題時,接觸到了拓撲學,這門數學學科是專門從連通性的角度研究廣義距離的理論。不理解拓撲學,就很難深入理解計算機網路的工作原理,就很難理解為什麼只需撥打一個市內電話,就可以讓電腦把一個檔案傳遞到國外去,因此在 1995 年夏天我整天閱讀拓撲學,也正是在那段時間,我又重新拾起久違的數學書籍,開始鑽研起來。我記得每天都呆在家裡的陽臺上,一邊晒太陽,一邊讀數學書,累了就彈彈吉他,吹吹口琴,有一段時間我總是吹奏俄羅斯名曲《三套車》以釋放和緩解心中的壓力,因為歌中唱道:“小夥子,你為什麼憂愁,總是低著你的頭
……” 詩言志,歌永言。沉重壓抑的旋律正是我那時候心境的寫照。故以後只要我吹這隻曲子,我父母親就知道我遇到了不愉快的事情,他們也就讓我一人獨處,不來打擾我。

正是有了這段時間的寂寞和孤獨,使我真正能夠沉下心來學習數學。我在這段時間裡除了複習集合論方面的知識之外,還非常仔細地閱讀了長達兩千多頁的《世界數學家思想方法》3 ,這本書收錄了古今中外的一百位具有偉大原創性的大數學家和數學大師,分別介紹了他們的生平事蹟、數學上的輝煌成就,以及他們取得的數學成就背後使用到的思想方法論。儘管這本書還存在一些不足,但是總體上說是一部極優秀著作,不亞於著名的數學史學家莫里斯·克萊因(Morris Kline) 所著《古今數學思想》(Mathematical Thought From
Ancient To Modern Times)。因為它通俗易懂,將數學家的思想方法論介紹得比較全面、比較清楚,所以它實際上幫助我建立了關於數學這門科學的框架和背景,一切開始逐漸地變得清晰起來。

漫漫求索路
電話裡的泛系課堂

我從來沒有坐在大學的數學系裡接受過一天的正規訓練(儘管我曾經渴望過有這樣的機會),吳教授當然明白我是沒有數學家們所應有的基本功的。因此我們的數學課的形式採用了一種非常奇特的方式來進行。 我的家位於武漢西郊的東西湖區吳家山,離吳教授居住的武昌東邊的魯巷乘公共汽車約有四個小時的路程。每一次我遇到了疑難問題,我就通過打電話請教吳教授,因為他是唯一能幫助我的老師。

我猜想傳統的大學數學課堂裡無疑是滿黑板的數學符號和公式,從概念定義,定理的提出和證明,到結論與應用等。但是我們基本上沒有這樣做,雖然吳教授本人是研究數學出身的,數學是泛系理論的一個重要來源,但是他後面的泛系研究工作內容遠遠地超出了傳統數學的範圍,所以泛系理論不等於就是數學理論,泛系理論通過建立泛係數學給未來的數學發展提出了一條方向,儘管這一方向現在還不被一些傳統的數學工作者看好或者接受。

我們的數學課一般是在電話裡進行的,我可以在任何時間打電話給吳教授請教問題,先打他辦公室的電話,如果不在,就打到他家裡。我已經記不清這樣的電話交談在那段時間進行了多少次,總之,我繳納的電話費用是非常高的。回想起來,每一次交談的時間至少有半個小時,短的時候也有一刻鐘,有時長達幾個小時。

要想在這麼一篇不長的文章中說明什麼泛系理論是很困難的,因為有大量的背景材料需要事先介紹,而且這些背景材料就是吳學謀教授作為科學家的修養、或者一位偉大思想家的豐富內心世界的一個極為重要的組成部分。 歷史上有很多偉大的科學家, 例如數學家維納, 曾經感嘆寫清這些背景是何等地困難,維納本人就花了整整一本書的篇幅,才基本講清楚《控制論》的主要原理,而且如果事先不認真閱讀他的自傳的話,恐怕沒有幾個人能夠真正理解控制論的深邃思想。我想準確地介紹泛系理論時也不會例外。

例如,泛系理論中的泛係數學是建立在現代數學基礎上的,而對現代數學作全面介紹讀物本來就不多,屈指可數的是在半個世紀前,由蘇聯的老一輩數學家完成的精采嘗試:他們組織了現代數學各個分支的學術帶頭人撰寫出了經典著作《數學:它的內容、方法和意義》,中文版的篇幅就長達一千多頁,但是讀者要真正理解這本偉大的著作,還是需要花費巨多的時間獨立思考。一個人如果沒有獨立思考的精神,要準確理解泛系理論,乃至其他任何一門科學理論,那都是不可能的。
我學習泛係數學的心得體會

我們涉及的內容很廣泛,以哲學和數學問題為主,其他的主題也有過深入的討論。我覺得他是一個現代的亞里斯多德百科全書式的學者。因為無論我提出什麼樣的問題,他總是能夠立即提供非常深入淺出的回答,當時我並沒有做筆記(當時我覺得那樣就反而束縛了我的談話思路),但是吳教授有隨時隨地寫筆記的習慣,俗話說得好:“好記性不如爛筆頭”。 真可惜當時沒有作筆記,也因為條件所限,沒有電話錄音,現在讓我回憶每一次談了什麼細節已經不可能了。歸納起來, 我們曾深入討論過以下主題:
(一) 離散數學。

按照一般正規數學教科書的劃分,離散數學包含集合論、數理邏輯、代數結構、組合數學、圖論等幾個分支學科。這幾門學科是吳教授對我重點指導過的學科,對我後來從事計算機軟體開發工作幫助極大,因為離散數學是計算科學的基礎。

集合論是我最先開始學習的部分,也是延續時間最長的一個學科。剛開始時我們只涉及到樸素集合論,但是後來轉入到公理集合論,這一轉向迫使我靜下心來研究數理邏輯,因為公理集合論大量使用了邏輯學提供的工具和方法。集合論涉及到了對無窮的看法,實無窮與潛無窮之間的關係,連續統問題是著名的希爾伯特 23 個數學問題中的第一問題。要理解這一問題又迫使我去研究哲學上的問題,研究歷史上的大哲學家們、大數學家們對無窮的認識看法。

我記得蘇聯的生理學家巴甫洛夫說過,“學習應該循序漸進”,從我向吳教授學習數學的過程中,我再次體會到了這一句話的重要性。

一個根本的問題在於怎樣看待選擇公理。總體上看,吳教授對於實無窮與潛無窮作過深入思考,他同意希爾伯特的看法,即不能像直覺主義者那樣放棄排中律對數學進行大砍大殺式的改造, 同時他提出了相對主義的觀點來看待兩者之間的關係,通俗地講,他允許在一定的程度或者範圍記憶體在兩者之間的悖論,只要這個程度或者範圍是我們可以觀察和控制的。這一點與二十世紀初期形式主義者、邏輯主義者和直覺主義者三大流派之間非此即彼、水火不相容的立場是相距甚遠的。從泛系的角度出發,這三種流派均可以轉化為在不同泛系哲學空間中“基磚”來存在,可以使用它們去組建新的哲學網路、搭建新的哲學體系。

近年來,特別是二十世紀六十年代在美國數學家科恩(Paul Cohen)將力迫法引入集合論研究後,數學界出現了對非標準集合論研究的熱潮,也就是在採用其他公理後再來考察集合論本身,一個已經討論得比較多的話題是決定公理的使用。在採用決定公理後,系統又出現了主體和客體合一的有趣局面,而傳統數學的哲學基礎是要求主體和客體分離的。當然還有其他公理,例如馬丁公理,因此如何在泛系的框架下,重新進行主體和客體的分離,哪怕是有條件的相對分離,都是具有重大理論價值的成果,它將引發其他領域裡(例如量子物理)的一系列的強烈“地震”。
這方面的研究,只要泛系統隊伍中有人肯下工夫深入去做,是大有希望做出成績來的,甚至可以拿菲爾茲大獎。我已經感覺到,集合論的研究已經出現了類似當年非歐幾何出現前期的局面,幾何系統有三種,三種都是符合邏輯的。類似的,邏輯上獨立的集合論系統除了 ZFC 或者 GB 之外,可能也有多種,它們都有各自適用的領域。

邏輯學方面,我們討論較多的是羅素的觀點。羅素曾經試圖將數學還原成為邏輯,但是最終沒有成功,而且也永遠不可能成功。 他的工作表明數學和邏輯兩門學科儘管相互密切聯絡,但是畢竟不能相互替代,數學不能還原為邏輯,邏輯也不能還原為數學。

布勞威爾的直覺主義觀點重視構造,不能實際構造出來的東西在直覺主義者看來都是不可接受的。 這一流派的學者不承認實無窮, 只接受潛無窮。有趣的是, 電腦科學迄今的發展受到這一流派的影響最深。

希爾伯特在元數學、證明論、公理系統理論方面的成就卓著,特別是他關於公理系統應該滿足完備性、相容性和獨立性要求的觀點給我影響很大。

吳教授曾經向我指出,公理的方法的應用是具有一定範圍的,不能將公理方法到處套用。例如許多人文科學領域使用公理系統就可能根本行不通。這又引導我去閱讀許多人文學者的著作,例如法國的盧梭關於平等和民主的理論,孟德斯鳩的法學理論,康德的權利科學理論,黑格爾的美學理論,等等。這些理論對我後來正確理解自由的概念和意義很有幫助。

我在長期的學習和交往中逐漸認識到,吳學謀教授是具有深刻哲學思想的數學家,他是泛系理論、電磁介質動力學等價論和逼近轉化論等多種理論的建立人。他在長達半個多世紀不間斷的學術研究中,創造了大量世界一流的原創性工作。在數學領域,他在函式論方面具有非凡而精湛的造詣,據我後來整理他的材料時的發現,僅他發表的數學定理多達 800 多個,前後超越了維納、康託諾維奇等四十餘位國際一流的數學家和學者的成就,而且其中的相當部分的成就是讓人非常吃驚的,例如對泰勒級數理論(泰勒餘項定理是數學分析的三大基本定理之一)的推廣,對維納和帕雷在調和級數與富里哀變換上的超越(複數域上的富里哀變換是控制論創始人維納在數學上最傑出的工作,而維納是國際公認的二十世紀一流的數學家),等等,都是具有深刻思想方法論意義的。他獨自創立的“逼近轉化論”是他後期建立“泛系理論”的起點。對於逼近的意義,偉大的英國哲學家和數學家羅素曾經提到過它的重要性:
“所有精確的科學都受到逼近的思想所支配”。 所有關於非線性的科學研究無疑也受到了非線性逼近思想的滲透和影響,而系統,特別是複雜的系統,其表象往往是非線性的,因此逼近轉化論研究中產生的思想、方法、模型工具在處理複雜系統時的巨大作用就可表現無遺了,這對於發展現代的高新技術的各個方面都會產生深遠的影響,儘管國內數學界對它的重大意義還完全不瞭解。

最可貴的是,他不僅僅是一位傳統意義上的數學家,因為他後來又跳出了傳統的純數學的框框和約束,創立了偉大的泛系理論。這樣,在泛系理論的框架下,誕生了偉大的泛係數學。

我們知道,十七世紀是數學界的英雄世紀,原因在於古典的數學分析創立後,我們有了特定的工具來處理極限,處理微分和積分,從而得到大量的精確的結果來“顯運轉、度生克”。而泛系理論開啟了新一輪英雄世紀的大幕,因為她在新的歷史高度,特別是在二十世紀數學界的偉大成就的基礎上,揚棄了西方哲學,再對源自中國古代哲學中的關於變化的思想提出了全新的、系統的理論框架和一批具體的數學理法。我完全可以預料,二十一世紀數學發展的最前沿的陣地將回到中國來。

從廣義系統的觀點出發,泛係數學中關於關係和聯絡的思想,發軔於逼近轉化論中的廣義轉化的思想,以及源自數學中的廣義對稱的思想,在泛系理論中得到了有機的結合與高度統一。我們可以利用泛系理論的思想方法論“一以貫之”地處理數學中的百科千題。我把他開創的泛係數學稱為是二十世紀繼邏輯主義學派、形式主義學派、直覺主義學派和布林巴基學派的結構主義學派之後的第五大數學流派。如果泛係數學今後在形式和研究結果再豐滿一些,就可以讓中國真正邁入數學強國之門,躋身於德國、法國、俄羅斯、英、美等世界數學大國之林。
(二) 數論。

我學習數論的動機很奇特。 我的一位朋友是研究數論的,有一次,他邀請我到他家去作客,為了能夠與他能有更多的談話內容,我需要對數論的輪廓做一個大致的瞭解。

數論被稱為是數學王冠上的明珠,可見它在數學學科群落中的基礎性地位。數論的研究物件為素數,也就是隻能被自然數 1 和這個數自身能夠整除的自然數。德國數學家克羅內克爾說過這樣的話:“只有自然數是上帝創造的,其他的數都是人為的。” 這句話有一定的道理,它道出了自然數在整個數系中的基礎地位。因為素數不能再分割成為其他自然數,而其他的自然數(數學術語稱為“合數”)都可以由素數來構建,因此素數又被稱為自然數的基磚。

數論是數學中最古老的學科之一,也是發展得非常成熟的一門學科,特別是在電子計算機出現後,由於計算工具的革命性進步,數論研究更是得到了飛速的發展,每年都有數不清的論文發表。同餘的概念在數論研究中是最為基礎性的概念,只要理解了同餘的概念,就等於抓住了數論這頭難以馴服的野牛的牛鼻子。

在吳教授給我講授了數論的基礎知識之後,我到了朋友家,在交談之中,他們發現他們遇到了一個知音,儘管他們的研究課題已經非常艱深,例如對“黎曼-zeta”函式的研究新進展, 但是我問明白幾個關鍵的內容之後,他們研究的脈絡便一目瞭然了。我還對他們的研究提出了自己的一套看法,令他們眼界大開。朋友最後提出了一個令我難以回答的問題 —— “您學了幾年的數論?” 要知道,前後我學習數論的時間沒有超過兩天,包括吳教授對我指點的那一刻鐘。

這次的數論學習歷程並沒有就此停止,因為後來我發現計算科學中的很多“加密—解密”演算法就與數論密切相關。這些演算法具體內容不盡相同,但是有一個共性,就是利用了一個簡單的原理,將幾個素數拼裝成為一個新的數非常容易,但反過來將一個數分解成為素數的組合,而組合中的素數排列恰好就是幾個原來的素數排列卻不容易,特別是當待分解的數的位數非常高的時候,計算便出現組合爆炸,計算量非常龐大, 於是出現了所謂 “單向街道”的說法。 只要在計算的可行性、計算時間和計算成本等幾個方面或者非常難、或者非常長、或者非常高,那麼,這種加密和解密的原理就有可能發展成為實用的
“加密—解密”演算法,可以在計算機系統的安全性方面派上大的用場。至今我還保留著對數論的興趣。
(三) 泛積原理。

泛積是泛係數學中的一個重要的概念,因為它是如此有趣,所以我花了大量的時間來揣摩它的來龍去脈。要理解泛積的概念,首先可以設想聚類。所謂聚類,可以簡單地設想為分類,分類是人人皆熟悉的概念,幼兒園的小朋友都知道怎樣將四個蘋果分成兩組,每組兩個。所以分類也可以視為是在對集合做“除法”。

除法是乘法的一種逆運算,在各種不同型別的數系中,不是所有的數都能自由做除法的(即使在像實數系這樣的數系裡,數也不能被零來除),不是所有的數系下的運算都同時滿足結合律、交換律和分配律的,有些數繫上做傳統意義上的除法運算就不可能,原因在於傳統的除法定義太嚴格。

泛系理論提出“形影局整兩根本,生成系統泛對稱”,生動地點明瞭形影關係和局整關係是兩大最基本的關係,如果能夠運用它們對除法的定義本身進行調整,在一定範圍內解除一些約束(通過應用擴形和/或縮影、廣擴形和/或精縮影等),那麼,除法就可以進行了。 如果除法可以進行,那麼它的逆運算,也就是乘法的結果稱為泛積。

泛系研究表明:可以利用泛積的原理人造出形形色色的數系來。這一方面我曾經接觸過熊錫金教授創造的超複數系統,在這個數系中,兩個超複數在一定的條件下就可以進行除法運算。 儘管這一人造的數系目前還沒有發現任何實際的用途,但是數學家不必等待物理學家。這一充滿美感的數學理論的價值可以從數學理論體系本身來評價,就像複數本身剛出現時,誰也搞不清楚它的用途,但是誰又可以否認複數今天的如此廣泛的用途和價值呢?

對除法調整的方法,或者說規則系統,是泛積原理應該研究的重點,泛系理論已經提供了豐富的理法。這一來源於傳統拓撲學的商空間與積空間的思想,經過昇華揚棄後,統一了人對數系的認識,有了泛積原理之後,人對數系規律的看法從必然王國躍進了自由王國。

泛係數學對於局整關係和形影關係的理解非常妙,它把局整關係視為是對集合的加法和減法,把形影關係視為是對集合的乘法和除法,局整關係和形影關係就是“基本粒子”,這一見解直接超越了羅素的工作,因為羅素畢生工作中最主要的部分就是試圖以邏輯統一數學,即以原子性的邏輯命題來嘗試,但是他失敗了。而吳學謀教授的局整關係和形影關係作為基本粒子,構造出對集合的加、減、乘、除,加上泛導和泛極,共六則運算,可以成功地統一現代數學的分析、 幾何(包括拓撲)、 代數、概率等各個大分支。

泛係數學把對關係運算規則本身的運算統一在泛導的概念之下,從而在歷史的新高度下統一了自牛頓和萊布尼茨提出微積分以來,經過尤拉和拉格朗日系統整理和推廣的古典變分原理,使古典變分原理演變成為了成熟的泛系變分原理,從而以系統而普適的、數學形式確切的、可以形式化操作的三兼顧的方式昇華了傳統辨證法中的對立統一律、度是質與量的統一律、否定之否定律。現代數學的各個主要流派的工作的實質和成就在泛係數學的框架下都是非常清晰的。
(四) 泛系運算元。

上面提到的對加、減、乘、除法規則的調整,以及所涉及到的關係的運算規則,泛導,是我後來提出武漢綱領、建立泛系尺度論和泛系維數論的前提,泛系研究在這一方面的研究成果頗豐,泛系運算元是其中比較突出的一個。

縱觀數學的發展史,數學經歷了從常量到變數、從變數到關係、又從關係到關係的系統幾個層次的發展。 從關係的角度看待數學物件是現代數學的顯著特徵,泛係數學則另闢奚徑,著力於建立關係系統的框架,併力求在這一框架下可以做到對數學物件的相互轉化。

泛系理論對關係系統的構建在方法論方面是有鮮明特色的。形形色色的關係的劃分起來只有兩大類,即等價關係與相容關係,就像世界上的形形色色的人只有男人和女人一樣。但是理解這些簡單的概念,我卻費了很多周折,除了花大量時間研究集合論方面的內容外,最終我是在吳教授的辦公室裡得到他的指點之後才理解清楚的。一個系統中的關係,無論多麼複雜,都可以利用關係的系統來描述,至於採用什麼形式來描述,則可以具體情況具體分析,可以文字列舉,可以利用矩陣來窮盡,還可以利用圖論中的圖來演示,這些只是關係系統的不同表達方式而已。

泛系運算元共兩大類,一類是將一個普通的關係轉化為相容關係,即相容運算元,人類可以辨異同,靠的就是對相容關係的運籌;另一類是將一個普通的關係轉化為等價關係,即等價運算元。一個關係系統經過泛系運算元的操作之後,便顯示出新的集散性質,可以得到新的泛系聚類。吳教授曾經親自動手給我進行過演示,直觀的圖形立即讓我明白了什麼是“物以類聚、人以群分”的道理。 對關係進行各種相容化或者等價化的運算,可以刻畫出不同尺度下的邊界,從而是模與擬的關係,現象與存在關係,內在與表象的關係,等等,全部都可以用一個統一的方式,在一個相當可靠的基礎上,通過泛系網路來運籌。

經過多年的思考,我終於開始意識到吳教授工作的重大意義了 —— 他實際上建立了一套動態的觀察和控制的視窗系統,依靠這套視窗系統,你可以隨意地對你的觀察物件從各個不同的方向進行觀察。打個比方,就像讓你坐在中央電視臺發射塔頂上的旋轉餐廳裡從不同的角度去觀察城市的全貌一樣。

當然這只是一種簡單的理解,實際上的意義還遠不止如此,通過對系統的關係運算,在集合的集散之間,可以對系統進行非常複雜的分析,這樣一來,就可以得到各種不同型別的分析結果,如果再次對分析結果結合其他條件進行綜合,那麼就完全有可能得到不同條件下,對系統進行各種操作所需要的“成本”,正是在這裡,價值觀進入了系統理論,有了這樣的操作,在行動之前先作泛系運籌,避免做不利的行動,而去爭取得到好的結果,而這不正是對人的“趨利避害”本能的提升嗎?! 如果真的能做到這一點,那麼至少從某種程度上可以保證,人的智慧就可以被“放大”。我終於在認識吳教授近六年之後得到了我原來問題的答案的一些輪廓了。

各種不同型別的專家系統實際上都可以視為在不同的泛系框架下進行這樣或者那樣的泛系量化和泛系聚類操作。

經濟學家已經提出的各種經濟理論現在完全可以在這一框架下重新認識。特別地,我對科斯的交易成本理論與吳教授進行過較長時間的討論。在泛系的框架下看,科斯的交易成本的提出充其量還只能算萬里長征的第一步,我們無意去貶低科斯的經濟學理論的重大價值,他的發現的重要價值已經自有公論, 但是就理論的完備性而言,科斯定理離建立系統的經濟學理論體系還相距甚遠。科斯的交易成本使我們擁有了建房的基磚,但是真正的經濟學大廈還沒有搭建起來。我在“論尺度(泛系尺度論)”的寫作中,對泛系經濟學這方面的研究開了一個頭,這方面如果有泛系學友深入去做,其價值將完全是可以與得諾貝爾大獎的研究相提並論的。
(五) 重新認識分析數學的價值。

在泛系的框架下,傳統數學分析理論的價值得到了質的提升。數學分析經過三百多年的發展,已經取得了輝煌的成就,特別是在工程技術領域,成就更加突出。但是,我們也該清醒地看到,數學分析在社會科學領域的成功還非常有限。除了建立數學模型遇到的困難之外,還有一個問題就是數學分析若不加改造而作為一個工具本身是否適合在這些模型下的研究的問題。

將傳統的數學分析與其他數學學科的雜交形成的新學科早就已經有很多成功先例,例如魯賓遜(A. Robinson)將模型論引入數學分析,讓萊布尼茲的單子的概念又堂而皇之地重返數學分析,建立了非標準分析理論就是一例。魯賓遜的非標準分析從某種意義上推翻了羅素對萊布尼茲單子論哲學的非難,得到了包括哥德爾(K. Gödel)在內的數學大師的認可。

泛系理論的對傳統分析數學的工作可以說是獨樹一幟的。改造的重點在於來自於引入了泛導的概念。所謂泛導,就是廣義的導數,而導數是數學分析中最基本的概念之一,它建立在數系、連續、極限等概念的基礎上。從根本上講,導數是在數學變數的相互運動中來刻畫關係的。正如一些哲學家所說的,它將辯證法引入了數學。

泛系對導數的理解大大地突破了這一認識水平,除了照顧和保留傳統數學分析對導數的觀念之外,它將廣義除法的概念和泛積原理與導數結合了起來,從而將對導數的認識提到了一個嶄新的高度。根據上面講過的廣義除法的原理,既然導數可以被視為是進行除法運算,因此泛導的運算就不一定非要限定在同一數系中進行。當然這裡不便展開說明,我只想強調的是,經過泛系的改造,特別是泛導的引入,數學分析的應用面被大大地拓寬了。它的成功引入,使得我們對於複雜系統進行數學分析成為可能。例如,從泛導的概念出發,分析數學和組合數學可以完美地統一起來,正是在這裡,數學內部的兩大群落,以及其他分支完成了歷史上在新的高度上的大統一。
正是因為有了這種新的統一,源自傳統的數學分析的方法論的應用價值被大大地提升了,像分形與分維等這樣一些使傳統數學很棘手的問題現在也有可能利用數學分析工具來處理。
關於哲學的思考

泛系可以視為是一種元哲學。它的突出特點表現在建立哲學流派的框架上。在泛系哲學空間的框架下,什麼唯物與唯心的對立不再是研究和爭論的重點,取而代之的是,各個哲學流派之間的相互關係是什麼。泛系,就像在泛係數學中一樣,再次扮演了觀控視窗系統的角色。它使得我們認識世界的出發點和視窗不只一個,而且利用泛系哲學框架,不同的視窗之間的轉化關係還可以清晰地表示出來。辯證唯物主義中的物質運動的聯絡觀在泛系哲學裡可以活生生地體現出來。

泛系理論框架還可以進行遞迴,生成所謂框架的框架的系統,也就是關於元哲學的哲學,等等。 帶著這樣的觀點,我在吳教授的指導下,重新研究了中國古代哲學家、古代希臘哲學流派、笛卡爾、萊布尼茲、龐加萊、希爾伯特、哥德爾、懷特海、羅素、維納、馮·諾伊曼等人的哲學思想,大大地超出了思辯性思維所能達到的水平,並且反過來提高了思辯能力,其中的一些思考結果收錄進入了本書內篇的“論尺度(泛系尺度論)”一章中。
泛系與人體科學

我曾經夢想當上一名中醫大夫,繼承祖傳家業。因此我研讀過《內經》。而祖國的醫學理論體系剛好是泛系理論的來源之一,據吳教授自己說,他曾從《內經》裡面得到過很多靈感和啟發。

《內經》中的醫學理論是極具中國特色的,從理論的系統性的角度講,它至今仍然遙遙領先於發源於西方以解剖為方法論基礎的醫學體系。正因為如此,我與吳教授之間有大量的共同語言,也使我在學習泛系理論時有了似曾相識的感覺。泛系研究隊伍裡有同志發表過一些人體科學的文章,這裡就不一一列舉了。

小波分析是現代應用數學中迅速發展起來的一個分支,長期以來,中醫的觀控和診斷手段難以從現代科學的角度解釋,但是我認為小波分析和小波變換理論的成熟,則可望使這一局面改觀了。參見本書雜篇中“脈象新解”一章的內容。
泛系與孫子兵法

兵者,詭道也。由於我們生活在一個以利益交換為基礎的社會裡,利益的衝突往往導致戰爭的出現,而圍繞戰爭的兵法理論以及各種各樣的謀略學層出不窮。泛系對兵法做過深入研究,特別是對於孫子兵法中的數與術的關係的研究最為精彩。泛系將各種相對不變的因素劃歸到“數”裡面,相當與我們平常所說的硬體系統,而將謀略,戰略等因素劃歸到“術”中,相當於我們平常所說的軟體系統。

由於商場如戰場,因此兵法中的許多謀略可以應用到商場上,創造出巨大的商業價值來。
探索計算科學與泛系的關係

由於我的公司經營資料通訊業務,很多專業知識與計算機和計算機網路密切相關,因此我從 1995 年年底開始認真學習編寫程式,成了一名程式設計師。我本人在大學裡沒有學習過計算科學課程,因此基本上可以說是零起點,或者講是半路出家。因工作所迫,我必須成為這方面的專家,為了這個目的,我付出了驚人的代價。

我首先試圖學習 C 語言,因為 C 是開發系統程式常用的程式語言。C 語言本身很小,規則不算太複雜,但是 C 語言有一個特別讓初學者感到困難的地方,那就是指標的廣泛運用,對於沒有硬體經驗的人來說,學習 C 語言的指標就如同夢魘一般。

雖然我從 1995 年就開始學習 C 語言,但是真正能夠熟練地使用它,卻是在 1998 年以後的事情了。應該說 C 是功能強大的語言,而指標是它能量的源泉。我費了很大的工夫才意識到 C 指標的本質可以通過泛積原理,配合局整關係和形影關係來認識,C 指標變數是儲存變數地址的變數,由於本質上程式設計中的一切東西都可以放到計算機記憶體中,因此指標實際上可以指向一切東西。一旦理解了指標的本質,那麼 C 就是一門可愛的語言了,因為你可以直接去操作一些硬體。為了詳細解釋這一原理,我創作了《C 指標程式設計的藝術》一書。4

1996 年時,我還學習了組合語言, 通過對組合語言的學習,我真正瞭解到了計算機內部的工作原理。有了 C 語言的組合語言的基礎後,我開始學習計算機作業系統。由於 MS-Windows 之類的作業系統不提供程式的原始碼,因此後來我選擇了 GNU/Linux 系統作為學習的工具。在學習作業系統的過程中,我發現泛系的概念可以到處應用,作業系統本身就是一套完整的競分規範,即對作業系統上的軟體和硬體資源進行分配,競分者就是各個程序。整個關於作業系統的課程可以視為學習泛系理論的一個極好例項。

我還掌握了 Lisp 語言(包括 Common Lisp 和 Scheme 兩者,以及 GNU Emacs 內嵌的 Emacs Lisp),但是這卻是後來的事情了。

我自學生時代開始有寫日記的習慣,在這一探索過程中,我詳細地記錄了自己經歷的學習路徑和遇到的挫折,以及克服困難的辦法,這些關於自己進步的原始素材為自己後來的“黑客道”教學打下了堅實的基礎。

初試網路的威力
助人進入天堂島

1996 年的一天,我去吳教授家裡拜訪他。談話間,他提起了美國的林益教授邀請他參加在巴哈馬舉辦的生命系統科學大會。他正在猶豫是否參加,我鼓動他去,因為機會難得,最終他同意赴會。

由於當時電信部門的 ChinaNet 還沒有建立起來,因此,我與美國的聯絡的 Email 都是通過中國科學院網路中心的機器完成的,也就是我在武漢撥通 X.25 的接入點,(資料通訊術語稱為 PAD),然後在 X.25 網路裡面二次呼叫中國科學院網路中心的網際網路( Internet )主機,登入成功後成為終端使用者,然後在使用 Kermit 協議將郵件從北京的主機上的郵箱下載到我武漢家中的計算機中。雖然這一過程今天看起來很麻煩,但是當年對我卻是唯一經濟上可以忍受的與國外通訊的方法。

經過好幾輪 Email 的來來往往,吳教授赴巴哈馬開會的事情基本上明確了,美國方面也將全部檔案發給了吳教授,吳教授在得到這些檔案之後便開始辦理漫長的申請手續。

辦理出國手續的過程中,吳教授遇到了很多麻煩和阻力。其中一個是臨近開會的日子,北京的領導部門說他的邀請函有問題,無法批覆,要求外方提供更加詳細的函件云云,這無疑給吳教授是當頭一棒。時間已經非常緊迫了,哪裡還有時間這麼反覆折騰呢?

無奈和絕望中的吳教授打電話給我,說明了情況,因為我以前也辦理過出國手續,知道其中的鬼名堂,所以我在這方面的心理要比可憐的吳教授結實的多,我一邊勸他先不要著急,一方面立即幫助他通過Internet與美國的會議組織者聯絡,希望他們能夠立即發來新的邀請函件。碰巧的是,這一天我剛安裝好傳真機,將傳真機接到了電話線上,我也想試一試傳真機的效果。

晚上十點半鐘左右,電話鈴聲響了起來,我連忙從床上跳起來,將傳真機切換到接收狀態,一會兒的工夫,將近三頁檔案嘩嘩地列印出來了,其中就有吳教授急切盼望的那份重寫的邀請函。我連忙給吳教授打電話,告訴了他傳真件到了。

這是一份具有特別重要的意義的傳真件,說它重要,並不僅僅是因為它第二天幫助吳教授順利地辦妥了出國手續,而是邀請函裡面對吳教授評價的措辭頗耐人尋味,函件中說,他們邀請吳教授去參加會議,是因為他們知道他在數學和系統科學方面的深厚造詣而聞名於世。他們知道美國權威的《數學評論》專業雜誌上就發表過吳教授的論文。我當時想,一個國內不被學術界認可的學者在國際上卻有那麼大的影響,難道說我們的學術界對學術研究活動的評級和評價體系就沒有出現了偏差嗎?為什麼一個普通學者出國開一次國際學術會議竟然是這麼困難呢?

吳教授還有一個大問題,他出國的經費不足,因此,他希望我能夠幫助他解決。可是當時的我實在是囊中羞澀、愛莫能助,只能如實告訴他我沒有錢借給他,但是我給他指出了一條辦法,就是出找他所裡的領導,請求幫助。吳教授是個學者,極要面子的,從來沒有給他所裡的領導添過麻煩,但是事到如今,也只有這樣一線生機了。

後來,所領導考慮吳教授這麼一位元老人物,自所裡成立以來,怎麼說即使沒有功勞也是有苦勞的,因此破例給他借了錢,讓他上了路。

最後一件事就是飛機票,中國沒有直飛巴哈馬的航班,只能在美國中轉前往,中國民航只能飛到美國西部的舊金山或者洛衫磯,或者飛到東部的紐約,無法到美國南部的邁阿密,因此最好是乘美國聯航的飛機。於是我在北京又幫吳教授找到了美國聯航的售票處,落實了航班和航程,由於他這次的會議地點離機場距離還相當遠,因此必須在他到達後讓會議的組委會派人去接他,所以我特別地抄下了美聯航售票員提供的電傳確認表,並將該航程表在北京利用 Email 通知了會議組織者,告訴他們務必去接他。

由於中國當時與巴哈馬沒有正式外交關係,所以當時我不清楚他能否入境巴哈馬。但是為了不再讓這個可憐的老人再在路上胡思亂想,我也就沒有說什麼了。後來一切正常,我收到了他從巴哈馬天堂島發來的電子郵件。

他回國後,我極力主張他將這次去巴哈馬的全過程寫下來,因為這次是一次極為難得的經歷。在我的慫恿下,他後來真的寫出了他的這段難忘的經歷,而且還將這篇文章收錄進了他的《萬悖痴夢》一書中,成為了該書最為精彩耐讀的章節之一。

自由軟體

那段時間,因為有了網際網路這個工具,我開始經常上網去尋找資訊資源,以讓我的公司有穩定的業務開展。當時的網際網路的網路規模還不大,但是可以使用的資源卻實在不少。一天,我留意到有個人在發行一個新的作業系統,他聲稱是不向使用者收任何許可證費用的,而且提供作業系統的全部原始碼。這個系統就是 Slackware Linux,後來我才知道準確的名稱應該叫 Slackware GNU/Linux,因為它是 GNU 系統的一個發行版本。

全部系統需要三十張 1.44MB 的軟盤,我於是開始下載它。這一過程花了三天三夜才完成。因為我的調變解調器(是電信局賣給我的,不買它,他們就不讓你入網)只有 2.4kbps。X.25 網路的速度本來就慢(因為要對每一個分組資料包作糾錯檢查,有錯誤的分組包要重發),而且當時武漢市的市話網路還沒有完全數字化,網路通話質量時好時壞,下載時如果時間太長,連線就斷了,又得從頭來,非常麻煩。

最後我終於得到了 Slackware 中的全部軟體包,但是沒有使用者手冊,只有區區幾個簡單的、但卻無比折騰人的自述檔案,這個系統實際上根本無法立即投入使用,於是我開始自己琢磨到底應該怎樣才能安裝上這套系統。這一黑暗中的摸索過程花費了整整三個月才完成。不用說我當時在安裝成功的那一刻是多麼地高興了!
發行 SuSE

Slackware 安裝困難,自己使用倒無所謂,但是用這樣的系統去搞發行是不行的,因為我無法想象其他人也會有我這樣的耐心去學習它。我開始在網上尋找有無更好的發行版本,將安裝、配置之類的問題解決好。

後來答案找到了: 德國的 SuSE 公司發行的版本解決了這個問題,他們的方法很獨特,就是另外設計了一個控制整個系統軟體資源的工具,稱為“YaST”(Yet another Setup Tool),使用者可以通過它解決安裝和配置上的問題。

我覺得這個發行版本是一個較好的版本,但是系統足有三張 CD-ROM,因此依靠我的低速網路連線去下載太昂貴了,而且即使下載了也還要去壓制 CD-ROM,製作 CD-ROM 需要先製做母盤,價格也不菲,少量的銷售肯定是要賠本的,不如進口 CD-ROM 直接賣好了。 於是我通過網路與 SuSE 公司聯絡, 告訴他們我有興趣發行它。 SuSE 公司當時就已經開始進行海外發行業務,這個公司的總部在德國,中國使用者卻需要同他們的美國分部聯絡。好在幾經周折,最後還是與 SuSE 確定了發行合同。5

在簽定了合同之後,根據合同,我應該購買一批軟體試銷。我又遇到了一連串的麻煩事,首先因為匯往美國的金額為三千美元,超過了兩千美元就算大額匯款,中國銀行的工作人員讓我出示公司是否具有進出口的許可證,我在外貿公司工作過,沒有想到過了這麼些年了,外匯管制依然這麼嚴格,因此沒有辦法,我不以公司的名義匯款,改成以個人的名義匯,但是必須分成兩次,每次一千五百美元,銀行的收費費率很奇怪,每次有一個基本費用,加上按照金額收取的手續費,因此我實際上多付出一次的基本費用。

我向美國的賣家發出了 Email,通知他們錢已經匯出,請他們發貨。一個月後,武漢郵局通知我去提貨,我按照通知來到上海路郵局提貨,郵局人員卻讓我去找海關的人員來檢查,於是到了海關那裡,裡面坐著一個女士,我進門的時候正對著鏡子梳妝打扮,見我進門,忙問我有何事。我說郵局請海關人員去驗貨,於是她沒好氣地讓我等著,大約過了一個小時,她回來了,說你的貨物是光碟,要按照音像製品徵收高額關稅,我解釋說來的郵件裡是自由軟體,不是遊戲或者電影片。一聽說是什麼軟體,她連忙又說,進口軟體需要技術進口許可證。我一聽就愣了,這種自由軟體可以從網路上自由下載,為什麼還要技術進口許可證?

這位女士望了一下我,覺得我不像是社會上那種調皮搗蛋的人,於是又給上級領導打電話,要求再來一個人協助檢查,又過了一個小時,來了一個身著制服的官員,胖胖的臉,大腹便便,說貨已經看過了,讓我寫保證書,保證這裡面的東西不是盜版的商業軟體,保證不是遊戲和電影片,並且仍然要按照音像製品收稅。最後沒有辦法,只得按照他的指示行事,寫了保證書,繳納了關稅。誰讓你幹這門生意呢?
壟斷的通訊業

從技術上講,GNU/Linux 與 UNIX 作業系統具有相同或者相似的使用者介面,因此對於想學習 UNIX 作業系統又付不起錢的人,GNU/Linux是一個極好的選擇。 UNIX 是一個多使用者、多工的系統,GNU/Linux 克隆了它,而且具有和它完全一樣的健壯的網路功能,拿它來建網路伺服器和主機是很理想的,它符合我當時的網路建設計劃要求。

我想將公司發展成為一家網路服務提供商,需要申請資料專線,但是電信部門卻開出了天價,一條速度並不高的專線,除了高昂的初裝費用,每個月還需要繳納高昂的月租! 高高的門檻表明他們自己想獨家經營這項業務。對於這一問題,我當時沒有任何辦法的 —— 要麼被他們痛宰,要麼就休想幹這一行。他們為什麼這麼厲害?答案似乎只有一個:他們是一個政企不分的壟斷部門。

過了很長時間,我讀到了美國的本傑明·富蘭克林的文章:

All governments are more or less combinations against people… and as rulers have no more virtue than the ruled… the power of government can only be kept within its constituted bounds by the display of a power equal to itself, the collected sentiment
of the people.

— Benjamin Franklin Bache, in a Philadelphia Aurora editorial, 1794

[“所有的政府,或多或少,總是反人民的組合……而作為統治者,他們並不比被統治者具備更多的美德……要將政府的權力限制在憲法規定的範圍內,只有一個辦法,靠另一股和政府同樣強大的力量 —— 也就是全體民意的集合。”]

富蘭克林在這篇文章中表達出的觀點,給我帶來了巨大的啟發,我認為他實際上已經隱含地提供了自由軟體如何打破通訊壟斷的訣竅,我後來一直關注 Wi-Fi (Wireless Fidelity)無線互助網路的發展,Wi-Fi 網路在理論上不需要什麼通訊公司的介入,因為人人都可以讓自己的 Wi-Fi 裝置成為通訊訊號交換的樞紐,但是與建立在 UUCP 之類的儲存轉發服務相比,Wi-Fi 技術可以做到實時通訊。我相信這種以使用者利益為基本出發點、 而不是以控制使用者為經營手段和前提、以通訊公司的壟斷利益為基本出發點的新一代通訊技術,將是這些壟斷的通訊公司的掘墓人。
6

堅果中的爪哇
Java in a Nutshell

由於一時無法進入資料通訊市場向公眾提供服務,因此我原來花了很多時間考慮和準備的建立網路的理想無法立即實現,但是公司還得照樣經營下去,因此我經常泡在網上,試圖尋找新的商業發展機會。

網際網路上有一個很好的工具,就是已經對主題分門別類的新聞組,即 USENET。但是中科院網路中心擔心使用者亂髮政治性的意見通過網路到處傳播,害怕承擔政治責任,封掉了 News 服務,所以我只能利用其他工具來查詢資訊。 1996-1997年時,全球資訊網(World Wide Web, 即 WWW)還不像今天這樣流行,而且瀏覽 WWW 靠的是 Lynx, 這是一個基於文字的瀏覽器,很多現在的網友可能從來沒有見過它,Lynx工作在 HTTP 協議之上,它內含有一個很簡單的 HTML 文件解析器。當時的 Web 網站並不是像現在這麼多,我收索資訊的主要靠
Gopher,這是一種基於選單式的文字檢索軟體,它工作在 ftp 協議之上, Gopher 很簡單,它只是將使用者的檢索請求轉換成為 FTP 的檔案提取命令從網路遠端的主機上獲得檔案的拷貝並顯示我的螢幕上。

一天,我進入了一個 Gopher 站點,這個站點儲存了 USENET 的 News 的檔案,裡面有關於程式語言的檔案,於是我將它拷貝下來,這個檔案很長,我花了兩天的時間才讀完,裡面提到了美國的 Sun Microsystems 公司開發了一種新的語言,名字叫 Java。

爪哇(Java)是印度尼西亞的一個大的島嶼,因為風光旖旎而聞名於世,成為旅遊勝地。但是, Java 語言除了名稱與爪哇島相同之外,其他東西與爪哇島風馬牛不相及。那篇文章還有相當的篇幅介紹它的新特性,說它是下一代的網路語言,特別是 Web 上的程式語言,可是使用它來設計網路上的動畫片,這門語言設計得很像 C 語言,但是取消了指標;它又像 C++ 一樣物件導向的,卻比 C++ 來得簡單,甚至可以用它來編寫作業系統等。

單憑這麼一些隻言片語的介紹是無法掌握這門語言的全貌的,我需要更加詳細的文件資料,於是我又上網查詢有關的文件資料和介紹 Java 的書籍,當時系統全面介紹 Java 的書並不多見, 但我還是發現了一本書叫 “Java in a Nutshell”,書名照字面直譯出來就是“堅果中的爪哇”的意思(實際上意思是對 Java 程式設計一個深入淺出的介紹),網上對它的評價不錯。

書的作者是 David Flanagan,他畢業於麻省理工學院(MIT)。我知道這是世界一流的名牌大學,許多革命性的技術都產生於那裡,我們泛系學友隊伍中也有人在那裡獲得過數學博士的學位。我寫信給美國的朋友讓他們買一本書來給我看看。

過了一個月,英文原版圖書到了。我很高興,便靜下心來仔細閱讀它。Java 的設計思想是卓越的,儘管 Java 程式的執行速度可能趕不上編譯型的 C 程式,但是對於網路應用,速度並不是最突出的問題,網路應用程式最突出的問題在於計算機之間的協同性如何,因為網路上的計算機基本上是異構的,也就是說,它們往往來自不同的廠家,體系結構上的差異很大。一個平臺上開發的程式以前往往不能直接在其他平臺上執行,移植的工作量往往隨著程式程式碼的長度的上升變得非常龐大。現在 Java 似乎可以解決這個問題,只要你在計算機上安裝了 JVM(Java
虛擬機器,Java Virtual Machine),那麼程式只要寫一次就行了,它可以在任何計算機上執行。

Java 虛擬機器本身是採用標準的 ANSI C 編寫的,因此, Java 與 C 之間有清晰的介面,系統程式設計師可以採用 C 編寫底層的模組,通過兩種語言之間的介面,傳遞到 Java 虛擬機器的執行環境中去執行,而採用 Java 編寫應用程式時,由於有了大量的類庫,因此應用程式的開發時間與採用 C 編寫相比可以大大得以縮短,對於熟練的 C 程式設計師而言,學習和掌握 Java 不是太困難的事情。

Java 的規範是公開的,我意識到 Java 在試圖創造一個前所未有的計算平臺,這個平臺可能會使使用者擺脫掉微軟強加的約束。在讀完了這本書之後,我想將它翻譯出來,讓更多的人認識它的價值。於是,我開始試圖獲得這本書的版權。

這本書的作者已經將版權轉讓給 O’Reilly 出版社,因此需要同 O’Reilly 公司聯絡購買版權的事宜。當時的 O’Reilly 公司規模不大,但是已經出版了很多開放系統方面的好書。這個公司準備向海外擴充套件。在一個朋友的資助下,我最終買到了這本書的中文版本的著作權。

時間已經到了 1996 年的夏天,武漢是全國的三大火爐之一,夏天酷熱無比,整個夏天我都坐在計算機旁汗流夾背地翻譯這本書。 整整三個月後,翻譯完成了。應該承認我從翻譯過程中學會了很多東西,翻譯的過程就是一個向作者學習的過程,因為你要準確地表達作者的作品內容,就必須先透過文字清晰全面地理解作者的原意是什麼。 我以前讀過嚴復翻譯過的作品,嚴復採用的是意譯法,翻譯幾段後在譯文中加入了自己的評論,嚴復的中文和英文功底都是當時無出其右的,他的翻譯是名副其實的再創造,所以他的譯作今天我們讀起來仍然覺得價值巨大,特別是他提出的“信、達、雅”的翻譯原則更是後人推崇的金科玉律。

翻譯科技作品,準確當然是第一要著,想做到這一點就非常不容易,因為科技作品需要譯者對專業知識非常瞭解,至少是半個技術方面的專家。譯作是給中國讀者看的,所以中文的表達必須流暢,很多翻譯作品由於拙劣的翻譯,讓讀者實在難讀難懂,還不如去閱讀原文,以至翻譯的目的沒有到達。

通過這一次真刀真槍的翻譯,我開始明白了一個道理,科技翻譯這一行當的門檻非常高,絕對不是隨隨便便找一個會外語的人就可以幹好的。除了外語水平要過關之外,專業技術上要精通,中文表達水平要一流,而且更重要的一點就是要有大量的時間投入,這樣才有可能沉下心來仔細對翻譯作品進行精雕細刻,使之完善。

我很高興地看到 Java 與我們泛系的思維有很多相似之處,我告訴了吳教授,並希望他注意這一新的技術,並要求他寫一篇評論文章。吳教授真的寫了一篇文章,這篇文章含有很多關於語言學的新思想,原來準備將這篇文章作為導讀列入到書中去,但是後來 O’Reilly 不同意,因此沒有發表。

翻譯完成後,就要將書排版。為了排版這本書,我費盡了心機。在這之前,我在學習數學時知道了有 TEX 這個工具並且學會了它的用法, 因此我先是嘗試利用 TEX 來排版這本書7, TEX 是美國斯坦福大學的高德納(Prof. Donald Knuth)教授發明的專門排版數學論文和書籍的工具,這個工具有一個特點,就是隻利用可以閱讀的 ASCII 字元來描述各式各樣的數學符號、表示式和公式和正文。例如,泛系的代表性表示式,粲泛系“B \subset An × W”, 就可以被 TEX 用 ASCII 字元描述成為
$B \subset A ^n \times W$。 這裡表示式中所有字元都是 ASCII 字元,以反斜線開始的字串稱為“控制序列”(Control Sequences),也就是 TEX 的格式化指令。 ASCII 字符集是幾乎任何計算機系統上都支援的編碼格式,因此使用 TEX 排版的數學論文具有非常廣泛的平臺支援。

最初的 TEX 系統本質上是一個用 Pascal 語言編寫的一個編譯器,這個格式化工具將含有 TEX 控制序列的文字檔案編譯成為 DVI 檔案,而這種 .dvi 檔案格式與硬體無關,因此,只要具有了相應的裝置驅動程式,利用 TEX 排版的檔案可以在任何印表機上輸出,成為便於閱讀的紙媒體版本。

TEX 系統是屬於公用領域的軟體包,也就是任何人都可以免費地使用它而不用向高德納教授繳納任何軟體的許可證費用。在我下載的 Slackware 和發行的 SuSE GNU/Linux 軟體包中都附帶有 TEX。

TEX 自己有一套字型設計工具,叫 METAFONT,高德納教授自己利用 METAFONT 已經設計了幾種漂亮的英文字型和許多數學符號,因此用 TEX 排版出來的論文或者圖書質量是非常高的。 但是, TEX 對中文的支援較差,主要原因是沒有高質量的中文字型檔。最終我還是放棄了使用 TEX 來排版這本書。儘管這樣,我一直在抽時間學習它、使用它、鑽研它。我當時根本沒有想到它竟然成了我開創事業第二春的工具和起點,當然這是後話了。

沒有辦法,只有去使用 MS-Word 來排版,回想起來這真是一項枯燥乏味的工作,因為書的篇幅有將近 500 頁,因此每次改動一個地方,就可能造成所有的頁碼從頭設定,段落的分段需要重新調整。

還有另一大令人頭痛的問題,原書中有許多插圖,O’Reilly 在收到我支付的版稅後提供了利用 Macintosh 計算機制作的高質量的圖形檔案,但是我當時沒有昂貴的 Macintosh 計算機,因此在我的 PC 上無法讀出這些檔案。後來通過一位朋友終於找到了某個大的設計院內有一從事地圖測繪的製作室,他們那裡有 Macintosh 計算機和輸出裝置。我帶著光碟到了那裡,但是他們告訴我,我的 PC 已經排好的檔案在他們的 Macintosh上無法制作,需要重新排版! 我的天,我花了將近一個月的心血眼看就要白費了。我拒絕這樣做,只要他們製作封面和有插圖的內頁。

在這次折騰中,我從他們那裡學到了一個新的知識,那就是 PostScript 技術。他們不無自豪地告訴我,他們購買了德國生產的 Agfa 發排機,並且專門安排了一間很大的屋子放置它,任何外人都不能進去摸它。這臺機器可以生成印刷彩色地圖,報紙,雜誌等許多漂亮的印刷品所需要的膠片。Agfa 發排機可以將蘋果電腦製作的 PS 檔案輸出到膠片上,解析度非常高。Agfa 的品牌我是見過的,在國外時,我就用過 Agfa 牌子的膠捲照相。我剛開始時聽不懂他們說的 PS 檔案是什麼,後來他們告訴我 PS 檔案就是 PostScript
檔案。

突然間,我想起來了,在我的 PC 上的 Slackware GNU/Linux 上不是也有一個叫“鬼”什麼的程式可以顯示 PostScript 嗎?我帶著疑問回到家裡開啟計算機,試了試,果然不出所料,這個“鬼”什麼的程式叫 Ghostscript,其實它是一組程式,其中一個叫 Ghostview 的子程式可以顯示 PS 檔案,還能顯示 .eps 格式的圖形,即一種封裝的 PostScript 檔案。

PostScript 本身是一種基於堆疊的頁面描述語言,使用 PostScript 語言可以描述三次貝濟埃(Bézier)曲線,而貝濟埃(也有人稱之為貝塞爾)曲線我在大學裡學習機械製圖時就接觸過,它可以光滑地逼近英文字母或者漢字筆劃等圖形的輪廓。PostScript 語言採用向量技術描述圖形,因此 PS 檔案與圖形的尺寸大小無關,只與圖形本身的複雜程度有關。 PS 檔案是 ASCII 文字檔案,Ghostscript 負責將這種文字檔案解釋成為控制硬體繪製點陣圖的指令(印刷術語稱為“柵格化”,也就是泛系中將精縮影進行賦形的技術),而
Ghostview 負責將這些硬體指令轉換為在 X Window 系統上點陣的輸出顯示出來。Agfa 發排機的工作原理也是這樣,只是它的輸出不是在計算機的顯示器上,而是在透明的膠片上,而且解析度非常高(所以就非常貴)。

從理論上講,只要有了高質量的漢字字型檔,那麼就可以在 Ghostscript 字典堆疊中插入字型檔, 而得到漢字的頁面輸出。將漢字字形封裝後,又可以作為“盒子”( Box )被 TEX 系統使用,從而在我 PC 的 GNU/Linux 系統上也可以製作出與在 Macintosh 上一樣高質量的 PS 檔案來,這樣不用購買昂貴的 Macintosh 計算機就可以搞排版了。我後來的研究表明,的確可以這樣做,而且我們還可以做得更好!

我將封面設計的圖案傳真給了 O’Reilly 公司,原以為一切順利,但是第二天得到的答覆卻是需要重新設計封面,因為他們公司有自己的商標和風格,他們要求我“必須遵守”他們的設計風格。

我感到奇怪,因為在我們的合同中並沒有這些條款,更加奇怪的是,同我籤合同的 T 先生在美國西部的加州,而 T 卻讓我將封面設計傳給美國東部麻省的辦公室,我真不明白這個公司內部是一套什麼樣的工作機制。

不管怎樣,在幾輪反覆之後,封面設計的問題總算搞定了。接下來要將書印刷出來,我開始找印刷廠聯絡,可是印刷廠卻讓我去找出版社的人來交涉。我感到奇怪,我已經購買了書的版權,版權是屬於我所有了,出版書是我自己的事情,為什麼要將一個與我跟印刷廠毫不相干的國內出版社絞合進來。

原來,所有的印刷廠都受到新聞出版局的管轄,印刷廠當時被認為屬於新聞出版系統的一個環節,而新聞出版在中國被認定是特殊的行業,黨的喉舌,必須壟斷經營。

我的天!我感到萬分沮喪,因為我又一次進入了一個不自由的行業。沮喪之餘,我疑竇叢生,難道出版這麼一本純屬技術類的書也會威脅到黨的聲譽和危及政府的統治嗎?我們憲法中規定的公民言論自由、出版自由的權利應該怎樣體現和保護呢?

帶著這些問題,我到了有關新聞出版部門,試圖讓他們同意我出版這本書,我很耐心地向他們詳細介紹了這門技術的價值和這本書的價值,希望他們同意讓印刷廠出版。可是官員們只是搖頭,他們對我解釋的技術毫無興趣,他們也解釋不清楚什麼權利與自由的問題,說如果我不找所謂“正規的”出版社出版,像我這樣搞下去就是非法出版活動,他們要處罰。我問他們如何處罰,一個官員說處兩倍的罰款,另一個官員說要處以五倍的罰款。

我實在忍耐不住了,衝著官員們高聲咆哮起來:“這件事我幹定了,你們罰吧!” 官員們被我鎮住了,他們壓根沒有想到我這樣一介文弱書生竟敢在他們的辦公室裡“無理取鬧”,平常一貫處尊養優的官員們一下子手足無措,面面相覷,我“砰!”的一聲關上了門離開了。

我是個意志堅定的人,一旦我認定的事情我是不達目的不罷休的,最終我找到了一個規模小的印刷廠將書印刷出來。在這個印刷廠的車間裡,我與印刷工人師傅們一起經歷了從製版到裝訂的全部印刷生產流程。

因為這是一本沒有經過所謂“官方批准”而出版印刷品,所以沒有被視為所謂“出版資源”的書號,沒有書號,就不能進入“正規”的圖書流通市場,也就沒有大的銷路,不過這並沒有影響我在為別人講授 Java 課程時作為輔導材料來發行它。
奧萊理登陸中國

書印好之後,按照合同,我寄了幾本樣書給 O’Reilly 公司,這是這家公司的第一本中文書,因此成了該公司歷史上具有紀念意義的文物。那段時間,他們也不時收到來自國內一些出版社的購買版權的函件,這時 O’Reilly 公司剛剛賣掉了一個軟體產品給 AOL(美國線上),得到了一大筆錢,開始走上了向海外市場急劇擴張的道路。最終他們派 T 來北京考察市場。

我在北京如約見到了 T,T 有斯拉夫人的血統,長得人高馬大,很英俊瀟灑,性格樂觀豁達。他了解了一些情況,並彙報給總部,以決定下一步如何行動。

不久,O’Reilly 決定在中國拓展業務,並要求我提供幫助,作為一種善意表示,他們邀請我到馬來西亞的吉隆坡參加 INET’97。費了很多周折,我到了吉隆坡,這次大會的規模比我在莫斯科參加的那次通訊展覽會的規模大多了,可見國外的資訊科技的發展是一日千里的,展覽會上見不到一家來自中國的公司,可見中國人在資訊科技領域已經大大落後了。 會上我見到了O’Reilly 公司的老闆 Tim O’Reilly 以及他們當地的合作伙伴林先生(林先生是華僑,對人非常友善)。在會上給我印象最深的東西並不網路技術本身,而是信用卡,很多開會的人到了展覽會上,都拿信用卡購買
O’Reilly 的圖書,非常方便,甚至來自不發達非洲國家的黑人顧客也在使用信用卡。也有一些人使用現金購買,但是人數不太多。我回憶起了在國內辦理 SuSE GNU/Linux 軟體包匯款時的情景,相比之下,國內金融機構的服務實在令人不敢恭維。

這次在吉隆坡,我在與 Tim O’Reilly 談話時表明了我的觀點,網路技術仍然太難使用了,為了更多的人使用上網路,網路工具必須簡單直觀,O’Reilly 公司以前是以出版 UNIX 和 X 圖書出名的,但是我的話可能給 Tim 留下了一些印象,後來他回去之後不久,O’Reilly 公司出版了 MS-Windows 平臺上的網路圖書,但是推廣應用 MS-Windows 上的網路技術卻並不是我當時的意思。

不管怎樣,O’Reilly 公司最終決定要開拓中國市場,公司派了高階主管 D 和 B,加上 T 三人一行到北京與我談判合作。 臨走前,父親叮囑我遇事要三思而後行,根據他的判斷,美國人這次來是有備而來的,我應該做好充分的準備。我根據孫子兵法制訂了我的預期目標,並分析了對方可能會提出的方案與我的對策。

這是我第一次見到 D 和 B。 D 是英國移民,一口的倫敦腔,長相非常像前蘇聯的克格勃頭子克留奇科夫,帶著眼鏡,笑容可掬下面透露這一種令人難以言狀的城府很深的陰森。我預感碰到了一個難以對付的對手。

果然,D 和 B 在會談時坐在一旁很少開口說話,一切由 T 來表達,而且每次離開談判桌後總是撇下 T 到外面去透透空氣,一起嘀嘀咕咕。我無從知道他們說些什麼,反正我只要表達清楚我的想法即可。

最後一次會談,D 開口了,說 O’Reilly 公司要聘用我,支付工資,我覺得 D 終於開始跟我討價還價,而不像是在談公司之間的合作。但是我還是平心靜氣地對他說,我公司願意幫助 O’Reilly 公司在中國開展業務,但是我公司現在發行 SuSE 的收入要遠大於您的開價,因此,我個人決定不加入 O’Reilly 公司。

T 一聽就急了,因為他好不容易才物色到我這麼一個合適的夥伴,而且我也去吉隆坡見過他的老闆,老闆也認可了。現在一下就談蹦了,他以後的工作無法開展,於是 T 拉著 D 離開了我進入了咖啡廳,只剩下 B 與我談話 。

B 開始和稀泥,一會爾, T 回來了,要單獨與我談,他提出了他的看法,說一切還沒有開始,但是他希望我能與他們合作。我想了一下,將我的預期計劃改了一個說法,說原來我之所以願意幫助 O’Reilly 公司開拓業務,正是因為你 T 提出過一個方案,現在我沒有看到這個方案會執行,因此讓他去與 D 商量,重新考慮原來他提的方案。

最後,在 T 的勸說下,D 同意了這個方案,我們達成了協議,由我負責幫助他們開拓中國市場。這次談判最後以在北京前門烤鴨店的兩隻烤鴨被我們消滅而告終。

回想起來,我這次之所以達到了目的,除了過硬的心理素質折服了對方之外,還因為我使用泛系兵法的指導準確地摸到了對方的底牌:他們想在中國開展年營業額在上千萬元之上的業務,而我的腦袋裡裝著他們通向這座金山的清晰路線圖。沒有我,他們無法輕鬆進入這個市場。
難入出版界

國內出版界是一個壟斷的行業,壟斷就意味著封閉。有一大批才能平庸的特權階層的人被這套壟斷出版制度養著,寄生在出版業內。他們的份量在開放的市場中是不堪一擊的,所以,他們拼命地維護著這套壟斷制度。

這個制度下,最大的受害者中當屬作者首當其衝,為了出版著作,一些作者被迫與出版社簽定類似“賣身契”一般的不平等合同,被迫將著作的著作權轉讓給出版社。我也知道,鮮有作者能夠去查閱出版社的帳目,調查究竟有多少拷貝賣出。出版社的情況也糟糕,因為很多出版社沒有自己的發行渠道,依靠新華書店這種主渠道銷售圖書,而新華書店在與出版社結帳時,也總是做不到將銷售情況的明細告訴出版社。

總之,因為不自由,出版界裡存在的問題非常多,充滿了恩恩怨怨和矛盾。

與中央電大的合作

由於我很清楚國外的出版社一下子是無法直接從事出版活動的,所以必須要與國內的出版社合作。以前我為學員提供 Java 培訓的服務經歷告訴我,教育培訓是一個新興市場,義務教育之上的高等教育作為一個產業遲早是要面向市場搞產業化的。因為中國的學生數量龐大,這一市場的潛力無疑是巨大的。 在與新華書店的接觸中,我瞭解到的情況也肯定了這一看法,因為新華書店的收入構成中,教材發行的收入所佔的比重很大,而且相對很穩定。

要想迅速發展培訓業務,與教育機構的合作是一條有效途徑,而且中國有這麼一個機構,那就是分佈全國各地的廣播電視大學。從道理上講,這種合作符合現代遠端教育的發展方向。

通過一系列供求索交的活動,我們終於與中央廣播電視大學達成了合作協議。此前,我也像我承諾的那樣,幫助 O’Reilly 成立了他們的中國公司,而且給它取了一個好聽的中文名字:奧萊理。

為了推廣奧萊理的品牌,我細心策劃了一系列的市場推廣活動,包括各類推廣介紹會、展覽會、技術演示會等,其中特別值得一提的是在中央電大製作的電視教學節目,根據電大的同志講,它已經成為電大電視教學課件庫中的精品之作。我則通過這套教學節目的製作,發現了自己在教學方面具有過人的潛質,為自己後來的“黑客道”教學樹立了信心。

結識理查德·斯托曼
焦點時刻

1999年10月,吳教授受香港大學的邀請去講學,需要將護照和入港通行證讓我從北京捎回武漢。

在此之前,我組織人力和物力翻譯了奧萊理出版的《開源軟體文集》一書,正如書名中提到的,它收錄了軟體領域的一些精英們的文章,在當年國際 IT 界造成了很大影響,在此之前我發行 Slackware 和 SuSE 時,我早就聽說過其中的作者之一 —— 理查德·斯托曼院士(RMS) 8的大名和他開發的自由軟體,以及自由軟體基金會(FSF)。碰巧當時南京的一次國際性學術會議邀請他到南京做演講,因為我翻譯過他的文章,因此我想先去南京會他,然後從南京回武漢。

從那篇翻譯的文章中我得知,斯托曼院士早年也有辭職下海的經歷,也有過艱難痛苦人生抉擇的遭遇,他的經歷極具傳奇色彩,從他的那篇文章裡可見一斑。那篇文章寫得非常好,不過其深刻思想遠遠非一般的人一下子就能理解透徹的。儘管我和另外一位朋友在翻譯時非常賣力,譯稿歷數次修改,後來在出版之前還交他指定的五位海外華人審讀並通過,但是坦白地講,我也還有一些問題沒有真正地搞清楚,想當面請教他。

自由軟體的特點在於它提供了軟體的所有原始碼,而且允許使用者自由地執行、拷貝、複製發行和修改程式。在這一遊戲規則下,大眾爭論最為激烈的一點就是,軟體公司如何靠自由軟體生存?這也是我最想問他的一個問題。

為了見到 RMS,頭天我就到了南京等他,住進了他將下榻的同一賓館。晚上他很晚才從上海飛到南京,我在電話裡首次聽到了他的聲音,典型的紐約口音,聲音非常巨集亮清晰。電話中他約我第二天上午先去聽另一位會議主講人的演講,然後會面後回他房間裡去談話。

1999 年 10 月 30 日上午 9:30 左右,我進入了會議的大堂,當時正好是中科院的鐘錫昌研究員在講解他的 HOPEN 作業系統。 RMS 就坐在觀眾席的第一排,他一頭長髮,身著藍黃黑條紋相間的 T—恤衫。我一進去就發現了他。幾乎是在同時,他也回過頭來,注意到了我,在鍾錫昌研究員作報告的過程中他幾次回頭看我,似乎是暗示我,他已經注意到我了。在報告中間暫停休息時, RMS 快步地朝我走過來,一手拉著我就走。

進入他的房間後,我剛坐下來,想跟他寒喧幾句,不料他卻將一條板凳挪動到房間的空調下,光著腳上去想調節溫度,這時我才看到他一直沒有穿鞋。他示意讓我過去幫助他,那家賓館是一箇中日合資企業修建的,空調是進口的,但是我們費了很長時間,就是無法將室內溫度調整到他希望的溫度。 我想找賓館的服務員來調節,RMS 卻拒絕了。 最後我們放棄了努力。

他的房間很零亂,行李和衣物等散落在床上和地上,膝上型電腦旁邊有一大袋巧可力糖果,每當寫程式或者電子郵件興奮時,一顆顆巧克力便被送入嘴中。他自己帶來了一個兩米長的大氣墊放在床上,他說晚上就睡在氣墊上面。如果沒有房子住,找個安靜的地方睡在地板上也行,這是他年青時因為經常開夜車編寫程式無法回家睡覺而養成的習慣。我感到很新奇,也到氣墊上去躺了一下,果然很舒服。

在此之前,我曾經同他討論過為他寫一本傳記,因此我們正式談話也就從這裡開始。我開始提問,問他的過去,他的生活,自由軟體的歷史,對圈內外其他人的評價等,漸漸地,我發現斯托曼具有無窮的人格魅力,特別是當我瞭解到他當時辭掉 MIT 人工智慧實驗室職務去開發 GNU 工程自由軟體的細節時,他便將自己的經歷娓娓道出,也喚醒了我自己當年辭職而得自由的回憶,“同是天涯自由人,相逢何必曾相識?!” 我們一下子成了好朋友。
處於爭論旋渦中心的自由軟體哲學

英文中的 “free software” 這一術語經常被人誤解,因為“free” 一詞在英語中有兩個含意: 一個是“自由”,另一個是“免費”。 RMS 告訴我,他年青時學過一年的漢語,所以他知道這個詞的中譯文應該是“自由”,而且很高興我的譯文中是這麼譯的。

另外一個經常被誤解的地方就是自由軟體的版權不像 TEX 系統演算法的版權那樣屬於“公用領域”(Public Domain)內,而是有現行著作權法所定義的版權的,它的版權許可證稱為 Copyleft,其條款也是根據現代的著作權法建立,但是版權保護側重點不同於專有軟體。專有軟體公司拿軟體的 Copyright (版權所有,或者說“版權屬右”)來保護出版商的權益, 而自由軟體使用 Copyleft (“版權屬左”) 來保護使用者的權益。

正因為自由軟體也擁有版權,而且任何人都得到了作者的許可,可以在市場上按照任何價格以 Copyleft 的規則(作為發行者必須承擔的義務)來銷售自由軟體。Copyleft 有多種形式,例如 GNU GPL 就是其中之一。

“版權屬左”規則下的自由軟體有兩個特點特別引人注目:一是必須提供軟體的全部原始碼,二是自由軟體不附帶任何質量保證。 前面一點可以為其他人從原始碼中得到程式的開發思路從而修改完善軟體提供前提,後面一點為軟體的開發人員從自由軟體的開發業務中得到回報創造了條件。 因為軟體作為複雜的產品,並非人人皆有本事或者能力從軟體的原始碼中反推出軟體原作者的心思,而無論設計多麼精巧的軟體,使用者使用軟體時總會產生大大小小這樣或者那樣的問題需要幫助,所以,除了銷售軟體的拷貝之外,軟體的作者還可以在使用者要求提供技術服務時向使用者收費
—— 我恍然大悟,頭腦中的疙瘩一下子就解開了!
理想與信念

但是,自由軟體商業模式在 RMS 看來只是一個小問題,根本不值得投入太多的關心,因為世界上的功力深厚的程式設計師永遠是一種市場上的稀缺資源,這類人才永遠不會失業。

RMS 關注的問題在於使用者是否擁有自由,即人的權利。因此當我讓他在《開源軟體文集》上簽名時,他拒絕了,因為推廣開源軟體的人將軟體的實用性置於自由之上,是與他的理想格格不入的。正是為了實現自己的自由理想,他從 1984 年離開 MIT 人工智慧實驗室以來的十多年裡,沒有任何薪水、自己沒有房子、沒有自己的汽車,單身一人過著苦行僧般的生活,這在美國是常人難以忍耐的。唯一支撐他的就是對自由追求的信念 —— 我面對的不是一個普通的名人,而是一位來自理想國度的聖者。這位先知啟蒙了我對自由的認識,我開始真正覺悟了。

告別時,RMS 說他明年還可能來中國,希望能再次見到我。

下午我離開了南京市,準備飛回武漢,但是到了南京機場後,飛機還沒有來。也許是我的運氣不好,在我的記憶當中,我幾次乘坐這家航空公司的航班,總是不順利,不是飛機調配未到,就是飛機要加油或者檢修,不能按時起飛。

我之所以選擇這家航空公司的航班,就是因為它的航班飛機將降落在王家墩機場,在漢口的市中心,離我家更近,這樣可以省掉從天河機場到市內的時間和交通費用,早點回家將護照和證件交給吳教授,沒想到弄巧成拙。等到晚上八點,天色已經漆黑一片了,飛機才來,是雙螺旋漿的運七支線飛機,噪音很大(後來我聽說武漢航空公司的有一駕飛機失事了,可能失事的飛機就是那架運七型飛機)。從那以後我再也不想乘坐武漢航空公司的班機了。

到武漢家中時,吳教授和我父母正在焦急地一起等著我回來,時鐘已經指向晚上十二點,真是漫長的一天。但是我絲毫不覺得疲憊,因為我當天的經歷的東西太多,心境根本無法一下子安靜下來。

奧萊理變奏曲
序曲:兩類美國人。

與 RMS 告別之後,他的形象和說的話一直縈繞在我腦海中。他的傳奇半生和思想你很難用一句話說清楚,因為他的工作介於幾個領域之上,他不僅是天才的程式設計大師,而且利用他的才能去構建他的自由軟體工程,並且能夠長期不懈地努力實現他的理想。他怪異的性格掩蓋不住他對真理執著追求的流露。儘管他的哲學思想當前還沒有得到全社會的公認,但是我敢肯定他是一個可以入史爭鳴數百年的人物。

在美國本土,商業圈一度對 RMS 是相當敵視的,因為RMS 制定的遊戲規則判處了很多專有軟體公司的死刑或者死緩。當我回到北京後,奧萊理的 D 又一次到了北京來,當他見到 RMS 的照片時面如灰色,良久之後才說 RMS 是一個“野人”。這也難怪,這些商人眼中只有利潤,他們才不管什麼自由、社會、原則呢。

這段時間工作非常繁忙,經常通宵達旦地趕奧萊理制定的出版進度。為了保持頭腦清醒,我在業餘時間開始做一些與計算機無關的事情。我一直愛好讀歷史書,這段時間便開始研究《史記》。司馬遷的這部鉅著被魯迅先生稱為“史家之絕唱、無韻之離騷”。上中學語文課時我學過一些節選自《史記》的古文,這些經典範文當時都是可以背誦的,但是我從來沒有機會系統地讀過全書。

經過這段時間的閱讀,給我觸動最大的就是《太史公自述》和《報任安書》,以前我大概地知道他的生平事蹟,但是這次閱讀原文後卻有全新的感受,一種對理想與信念力量的新認識。司馬遷之所以能夠在逆境中完成這部巨集篇鉅著,除了他自身的家庭環境、知識積累等因素之外,關鍵還是靠偉大信念的支撐,他探究過生命的構成:

“凡人所生者神也,所託者形也。神大用則竭,形大勞則敝,形神離則死。死者不可復生,離者不可復反,故聖人重之。由是觀之,神者生之本也,形者生之局也。不先定其神,而曰‘我有以治天下’,何由哉?”

我開始認識到,對於人而言,時空中的感性世界只是一個幻覺,一個人只有通過精神與道德的經常訓練,才能學著活在唯一真實的永恆世界裡。讀完這本書之後,我覺得司馬遷仍然還活著,因為他的精神還在。我還認識到,正是因為我們民族有這些珍貴的歷史遺產,才使得我們在世界民族之林中佔有重要地位,這也是我們中國人與當今世界上的列強周旋與競爭的信心來源。
變奏一:風起蕭牆乎?

不客氣地講,D 是一個偽君子,我曾經在開始時讓他下不了臺,雖然後來他被 T 說服而暫時妥協過。我想既然我們雙方已經達成協議,這件事就已經過去了,不值得再去想它。可是 D 不這樣想,他心中仍然是看不慣我,這一點後來我逐漸覺察到了,而且我覺察到了一個更大的圈套。

D 這個人的斑斑劣跡,我是有所耳聞的,在公司擴張的過程中,D 可以說為了自己的利益是不擇手段。儘管奧萊理在法國、日本、臺灣等地都有子公司或者辦公室,後來卻都由 D 和 B 收歸自己的勢力範圍內。儘管這些國家和地區之間的差異很大,但他所使用過的管理伎倆卻如出一轍: 先是讓 T 出面掃清障礙,物色一個合適人選,然後利用這個人拼命工作,一旦公司規模上來,便將這個人一腳踢開,換上自己的心腹,達到自己徹底控制公司的目的。

對中國分公司的情況也是這樣,D 在前期從不對我直接發表任何意見,一切通過 T 來發號施令。 在來北京幾次後,他發現公司的 C 很聽話,於是把 C 邀請到美國本部去,名曰崗位培訓,我不明白翻譯的工作需要什麼樣的崗位培訓,如果說需要培訓,也應該是我在中國找機會為 C 培訓。C 後來負責市場開拓方面的工作,但是美國的那一套做法不能照搬到中國來,因為中美兩國之間市場情況差異實在太大。

C 從美國受訓回來之後變化很大,一下子像變成了另一個人似的,以前 C 說話非常謙虛,在公司內部頗得人緣。但從美國回來之後說話的口吻一如自己就是奧萊理的總老闆了。我感到 D 與 C 之間一定有名堂。

由於找到了C,D 逐漸開始與我直接交鋒了,這時 T 最窩囊,因為中國市場是由他直接負責的,現在卻什麼也不能說,什麼也不能做,而且 D 與我之間的問題都變成了 T 的錯。
變奏二:無處不用間

本來公司是一個公共場合,大家有相同的目的才走到一起來,為了實現共同的目標,面對市場的競爭,公司創造力、產品的生產銷售和工作效率是最根本的東西,一切管理的措施都應該為優化這些要素服務, IT 行業的公司尤其應該注重效率,因為這個市場變化得實在太快了。遺憾的是,不是每一個公司都清楚地認識到這一點。有些管理者將對人的控制擺在了一個特殊的位置,他們認為只要控制了人,就可以控制一切。但是人是公司裡最活性的要素,管理人主要應該靠制度,而不是依靠個人之間的遠近關係。

D 就是持後一種態度的人。為了控制公司,他利用 C 向他事無鉅細地彙報,北京這邊白天發生的任何事情乃至細節,都源源不斷地在晚上通過 C 到達了美國總部,於是我除了要應付市場方面的工作外,不得不開始應付來自公司內部的麻煩事,而這正好是我最不擅長處理的事情。

我從頭安裝 Slackware GNU/Linux 的經歷使我成了經驗豐富的系統管理員。為了利用網路推廣奧萊理的產品和服務,我親手管理著公司的 Internet 主機和上面的 Web 網站。系統管理員經常要備份資料,一天晚上,我工作到深夜,作為最後一項任務,我開始備份網路系統主機上的資料,我發現郵件伺服器上還有人登入上來收發信件,我感到奇怪:這麼晚了,還有誰工作?是不是有其他駭客在利用郵件服務攻擊我們的網站? 駭客們的一些慣用技巧我是瞭如指掌的,Sendmail 是一個非常複雜的軟體包,它工作在 25
號埠上,以往就有過駭客利用 Sendmail 中的安全漏洞攻擊系統。經過閱讀系統日誌檔案,我發現是 C 在工作,而且郵件伺服器的日誌檔案顯示郵件發向 D!

我一下子明白了 C 為什麼變化這麼大!C 是黑夜角落裡的耳目。為了搞清楚公司內部還有哪些耳目,我將此事告訴了公司中的 C’,看看美國方面會有何反應。果然,C’ 也是耳目之一。 幾天後,T 發給了我一份措詞強硬的電子郵件,說系統管理員檢視使用者的郵件在美國是侵犯人權法律云云,因此以後不許這樣做。去你的美國人權法律吧,你們白天派人暗中監視我的行動時,把我的人權放到哪裡去了?從那時起,除了為同胞們感到悲哀之外,我覺得與這群美國人的合作失去了任何價值和意義。
變奏三:克隆與決裂

由於我的出色工作,奧萊理在中國市場上已經取得很大成功,許多原來不知道它的讀者,通過我組織完成的一系列圖書瞭解了它的價值,市場上的反應很好。 D 是知道這些的,他開始露出了狐狸的尾巴,跳出來急於要控制公司的一切,與我的矛盾也加劇了。天底下沒有不散的宴席,我開始尋思出路。

軟體含有程式和文件兩部分,沒有文件的軟體顯然不完整,因為使用者無法知道怎樣操作使用程式。奧萊理公司出名很大程度上是出版了很多自由軟體的書,這些著作寫得深入淺出,很得讀者喜愛。 但是在與 RMS 談過之後,我發現一個問題,儘管自由軟體資源已經非常豐富,但是自由軟體的自由文件數量相比之下還是太少,而且高質量的著作不多見。 糟糕的是,奧萊理的書幾乎全部是專有的,其版權狀態與專有軟體的許可證沒有本質差別。從相當大的程度上講,奧萊理的成功與其說是它填補了軟體文件方面的空缺,不如說是它實際上鑽了自由軟體社團的空子。

為了推廣應用自由軟體,這種局面必須改變。中國人可以在這方面發揮自己的聰明才智,擺脫美國專有出版商的控制。

最終,我與奧萊理決裂了,離開了這家專有出版商。
尾聲:形式語言與網路出版的結合

從 1997 年 7 月到 2000 年 1 月,我在奧萊理工作了兩年半的時間,在付出巨大努力的同時,我也學會了不少東西。客觀地講,奧萊理在早期 Web 的技術發展史上是有較大貢獻的,特別是它與其他公司一道提出的 DocBook 規範,已經成為網路出版的事實上的標準之一。 DocBook 是一套 SGML 標記集合,用於給文件的結構和表示打標記,從而分離了文件的內容和表達方式。SGML 是幾個 IBM 的研究員制定的一套規範,後來在二十世紀八十年代中期發展成了ISO 標準。 SGML 的實質就是將形式語言引入到資訊處理和出版領域,有了形式語言提供的關於資訊說明的後設資料,資訊的檢索、查詢、分類、重新加工與表現可很容易由計算機來完成。

早期的 Web 將重點放到發展 HTML 上,這是 SGML 的一個子集,但是後來在技術實現過程中,逐漸偏離了SGML 的分離資訊的內容與格式的技術方向,而專注於格式的表達。等到 IT 界意識到問題的嚴重性時,又開始重新改造 Web,這次是使用 XML 規範來進行改造,XML 規範內容非常豐富,但是本質上還是 SGML 的一個子集。

無論如何,SGML/XML 文件最終會以某種形式表達出來,表達的媒體可以是網頁、紙媒體、光碟,甚至盲人可以閱讀的盲文。如果輸出的結果是在紙媒體上,那麼我以前鑽研過的 TEX、 METAFONT 與 PostScript 等技術都可以派上大用場。

在引入形式語言的概念後,出版的概念發生了質的變化,網路成了一種極好的資訊加工、釋出和傳播的媒體,現在人們把它列為繼報刊、廣播、電視之後的第四媒體。它對社會的發展已經產生了深遠的影響,儘管目前的法律體系還沒有準備好進行相應的調整以適應這種技術革命帶來的變化。

峰迴路轉九寨溝

離開了奧萊理之後,重新回到自己的公司經營業務。我知道 IT 市場變幻莫測,反覆無常,我想停一下,冷靜思考以後的發展方向,隨著我的年齡和經歷的增長,我少了往日年青人常有的盲目熱情,多了成年人應具的理性思考。這是一個自然的過程。
同斯托曼在一起的三個星期

RMS 自從回國之後,一直與我保持著聯絡,而且正如當時他所說的,他決定 2000 年 5 月再訪中國,我當時正構思寫作他的傳記,因此我要求他安排一下日程,錯開一些不太要緊的事情,以便有更多的時間留在中國,我可以挖掘掌握更多的寫作素材。

經過討論, RMS 最終決定給我三個星期的時間。我想天天呆在房間裡進行問答式的採訪未免太單調了,因此除了安排一些演講之外,我們想到一些風景區逛逛,在一個輕鬆的環境裡或許可以挖掘到更多的寫作素材。

我們決定去四川的九寨溝。我們早就聽說那裡風光迷人、山水奇佳。我們專門物色到了一位經驗豐富的司機和一輛豐田越野車,從成都出發,沿著岷江公路逆水而上。進入松潘境界後,山勢雄偉,山巒連延而起伏跌宕,高路入雲端。 RMS 大呼過癮,說如果他以前住在這裡開發軟體的話,GNU 系統早就完成了。

長海論道

九寨溝風景區的旅遊線路可以近似地看成是一個“丫”字形狀。我們一共進入九寨溝風景區兩次。第一天遊了一條分叉線路,第二天到另一條分叉線路,終點是長海。長海並不是海,而據說是在某個冰川時期由於強烈的地震造成的大面積地質沉降,後來周圍高山的雪水融化流入而成的一個大的湖泊。水面的顏色隨著天上的陽光和雲彩飄動而變幻,一步一景,我們亦步亦趨。這樣的景色變幻實在迷人,縱使以畫海邊風景聞名於世的俄羅斯名畫家愛瓦佐夫斯基再世,將他所有的畫筆、顏料和畫布搬來,也未必能窮盡大自然造化的鬼斧神工。後來我們走累了,停下來歇歇腳,開始了一次長談。
GNU Emacs

RMS 是 GNU Emacs 的原作者,如果從 1975 年 PDP-10 計算機上的那套 TECO 編輯巨集算起,到 1986 年 GNU Emacs 第一版正式推出,他斷斷續續花了十多年的時間才完成,真可謂“十年磨一劍”,因此我打算在他的傳記中安排相當大的篇幅介紹這一軟體包。

GNU Emacs 是目前公認的最出色的文字編輯器,更準確地說,它是程式設計師的完整工作環境,因為它幾乎無所不能,從寫程式、日記、除錯、排版、電子郵件,電子錶格,到瀏覽網頁, 無所不包。 良好的擴充套件性來自內建的 Lisp 語言,大多數 GNU Emacs 模組是採用 Lisp 編寫的。

Lisp 語言的歷史已經很久了,幾乎與 Fortran 一樣長,而且這兩門程式語言至今仍然活躍在軟體界。 二十世紀五十年代,電腦科學家先是發明了針對數字計算的 Fortran 語言,後來針對符號計算又發明了 Lisp,Lisp 的發明歷史可以說充滿傳奇色彩。

GNU Emacs 最初是作為一個文字編輯器而設計的,由於文字就是一種符號,因此採用 Lisp 來設計 GNU Emacs 在 RMS 看來是一個相當自然而合理的選擇。 Lisp 程式中往往充滿了一對對巢狀的小括號,這些巢狀的符號表示式體現著遞迴。遞迴是數學上的基本概念之一,從遞迴理論出發,一切可以計算的函式最終都可以劃歸為幾種基本的遞迴函式的種種組合,還可以從數學上嚴格證明,一種叫著 mu 的遞迴函式與圖靈機上的可計算函式是等價的。

從數學理論到計算技術之間還有一段距離,因為計算機只能對數字或者符號進行操作,在馮·諾伊曼體系下的計算機,需要先將程式讀入計算機儲存起來,然後才能進行計算。在這一過程中,函式的名稱與函式過程都是用符號表達的,我們人可以區分,但是計算機卻不能。Lisp 語言中的 lambda 函式完成了這一跳,通過引入 lambda 演算理論,在一對對巢狀的括號外表之下的程式是對計算中資料結構與演算法的定義和抽象,對抽象的複合,以及將複合的計算物件重新按照簡單的物件來計算。這再一次印合了並加深了我對泛積原理的認識,一個是從計算得到的認識,另一個是從系統科學得到的認識。

後來我得知,兩者可以找到相同的淵源。Lisp 的發明人約翰·麥卡錫是數學家阿隆佐·丘奇(Alonzo Church)的學生,而丘奇教授是 lambda 函式演算理論的創立者。 Lambda 函式論通過明確形式引數的途徑解決了函式名稱與函式過程之間語義含糊和歧義的問題。 其實,關於“名”與“實”之間的關係,我國古代的哲學家有大量的精闢見解,公孫龍的“白馬非馬”之說已經涉及到,莊周對於有與無的哲學見解更是精闢,只是由於時代的侷限,他們的睿智不易被現代人所容易地瞭解罷了。泛系理論在 1976 年提出時也已經研究過這一問題,但是時隔二十幾年後我才開始真正明白它們之間的內在聯絡。

Lisp 在漫長歲月裡衍生出來很多版本。其中一個版本 MacLisp 對 RMS 的影響很大,在設計 GNU Emacs 時,RMS 將 Lisp 融入了其中,道理是很自然的: GNU Emacs 本質上是一個文字編輯器,文字就是一種符號,而 Lisp 正好就是針對符號計算髮明的。GNU Emacs 中的 Lisp 稱為 Emacs Lisp。它比大多數其他的 Lisp 版本都簡單。

1994 年, 眾多 Lisp 版本又得到了相當的統一,統一之後的版本稱為 Common Lisp,它是工業標準。Common Lisp 功能非常強大,當然也很複雜 —— 僅僅語言的規範就長達千頁以上,它含有非常豐富的庫,包括物件導向的 CLOS。

Scheme 語言是 Lisp 的一個現代變種,誕生於 1975 年,出生地點也是在 MIT。 Scheme 語言的規範很短,總共只有 50 頁,甚至連 Common Lisp 規範的索引的長度都不到,但是卻被稱為是現代程式語言王國的皇后。它與以前和以後的 Lisp 實現版本都存在一些差異。但是卻易學易用,自由軟體基金會有一個叫 Guile 的語言,實際上就是 Scheme 的一個實現版本。

Scheme 是“恰尾遞迴”(proper tail recursive)的,因此遞迴論提供的方法論在 Scheme 中實現起來非常容易。 Scheme 可歸納為函式型程式語言,因為可以通過 lambda 表示式來構造使用者自定義函式,這些使用者自定義函式與語言本身提供的函式的地位是相同的。

Scheme 又提供了強大的巨集計算功能,因此程式設計師可以使用巨集來定製出符合自己要求的控制結構,這樣所有的計算可以通過遞迴論中給出的函式構造方法來以一種統一而連貫的方式來構造。

可以通過編寫巨集來實現物件導向的計算。因此 Scheme 又可以看作是一種物件導向的語言,C++ 中在 C 基礎上費了牛勁才搞出來的物件導向的概念可在 Scheme 中輕而易舉地實現,代價只是編寫幾個區區的巨集而已。

最妙的是,Scheme 中程式和資料都採用 lambda 表示式來形式地表達,因此你可以把一段程式當作一種普通的資料來傳遞,反之亦然,資料在特定的環境下可以轉化為程式來執行。C 語言當然也可以通過返回指向函式的指標來達到同樣的目的,然而,C 的這一機制是在編譯時完成的,而 Scheme 則是在程式執行時完成的。

Scheme 直譯器在求值時一般採用了應用序,然而 Scheme 與 Lisp 一樣提供了高階運算元,這使得表達演算法時異常高效,不難理解,為什麼那麼多的人工智慧程式是採用 Lisp 開發的。

計算中對函式對引數求值時的順序在 Scheme 中也是一種資料(正式的說法是一種 Scheme 物件),其中的“連續”(Continuation)可以由程式設計師當作資料儲存起來,然後在後面的計算中反覆使用它,即類似一種軟中斷的機制,這在 Scheme 中稱為“當前連續”(call/cc),當前連續就是一種普通的 Scheme 物件。

因此綜合運用當前連續和尾遞迴等基本工具,可以實現許多功能強大的機制,例如動態風、發動機,物件導向程式設計(通過特定的巨集實現的發動機,Scheme 還可以實現訊息傳遞機制),等等,並利用它們編寫出多程序或者多執行緒的程式,乃至整個作業系統。 Scheme 是從原子性的工具出發,構建複雜程式的極好的程式設計模型。

RMS 對程式語言的精闢見解,後來我都收錄進入了《Learning the GNU Operating System》一書和其他文章中。他對我後來設計“明”作業系統所產生的影響是巨大的,參見本書內篇中的“‘明’作業系統的設計思想”一章。

Lisp 語言程式設計師經常說,SGML 技術只是符號表示式的另一種“更醜陋”的實現方式。此話不假,因為早在二十世紀五十年代,Lisp 就已經將形式語言符號計算引入進了計算科學界。Lisp (或者 Scheme 語言)可以非常容易地處理 XML 文件的解析。

科學精神

縱觀人類科學發展的歷史,科學精神的作用是貫穿始終的。懷疑是科學創新和發展的源動力之一。科學精神提倡懷疑,不懷疑已有的陳規和定論,科學家們難以提出新的觀點,也就不會有新的實踐活動,科學就難以得到發展和進步。科學的重大發現或者進展往往是通過對實事的仔細觀察和理性嚴密推演得出的。

自由軟體鼓勵創新,自由軟體的創新機制來自對所提供的原始碼的懷疑 —— 如果你對程式的功能不滿意,就可以察看程式的原始碼,修改之中的程式碼,從而得到更好的功能。 從這個意義上說,開展自由軟體運動可以說是向世人普及科學精神的最好方式之一。任何人都可以自由地自行檢查程式的原始碼,動手來改程序序。

資訊的不對稱性

公開了程式的原始碼,程式對使用者就是透明的了(相比之下,專有軟體的原始碼是密而不宣的)。但是,原始碼透明並不等於任何人馬上就能理解程式碼的含義,要理解原始碼的含義還需要大量的思維勞動。

編寫程式這個行當可以說是一門工程技術,就像其他型別工程師的工作一樣,但是,對於具有創造性的軟體,編寫程式的過程卻更像是搞藝術創作。毫無疑問,軟體作者首先必須要懂大量的知識,這一點與藝人表演一樣,“臺上一分鐘,臺下十年功”。成為一位合格的程式設計師,需要具有很多方面的基礎知識和技能,這些知識和技能的積累都不是一蹴而就的,需要多年的時間,具體多長則因人而異。

軟體作者在編寫程式時,精力必須高度集中,很難在一個不安靜的環境下寫出高質量的軟體來。這一點與藝術家們的工作很相似。劉勰在《文心雕龍》中就說過:“文之思也,其神遠矣。故寂然凝慮,思接千載,悄焉動容,視通萬里…… 故思理為妙,神與物遊……” 程式設計師和作家的工作實質是很相近的,作家的寫作結果就是就是文學作品中的文字, 程式設計師的創作結果就是程式中的原始碼,兩者都是狂練狂寫出來的,我很少聽說過某某著名作家是大學的文學系培養出來的,他們清一色都是通過寫作成長起來的。同理,程式設計師也是通過程式設計實踐的千錘百煉成長起來的。

在原始碼從程式設計師的頭腦寫到檔案的過程中,大量的資訊是無法表達的,經驗豐富的程式設計師會寫很好的程式碼註釋,但是即使加上了這些註釋,還是遠遠趕不上程式設計師頭腦中思想過的全部資訊量,因此程式碼中含有的資訊只是全部資訊量的極少部分。當然如果連原始碼這個媒介都不存在(像專有軟體那樣),那就什麼都談不上了 —— 資訊量為零!

這正好是泛系理論可以大有作為的地方,因為只要具有足夠的“智慧基磚”和正確方法論的導引,人的智慧可以放大,從原始碼儲存的少量資訊量中反演出作者原來創作時的思路來。即使反演的結果含有的資訊量還是比不上原作者的資訊量,但是由於資訊的冗餘性存在,只要能夠達到理解的目的,這種反演就算成功,反演就有巨大的價值。 如果反演可以推出比原作者頭腦中更多的有價值的資訊量來,那就是高階的人工智慧技術了。

長海湖畔的沙灘上留下了腳印一串串, 我們離開了九寨溝。 這一行使我得知了 RMS 心中的很多想法,儘管他本人並不認為他當年設計那些偉大的程式時採用了什麼特別的方法論。 但我想,如果他當年的創作思緒能作為規律在他的傳記中揭示出來,那就有可能催生一批(而不只是一個)像他這樣的天才程式大師來。

從觀網看自由軟體
心理認知距離的度量

一旦明確了資訊在軟體作者與軟體使用者之間的不對稱性,那麼如何打破作者與使用者之間的這種不平衡,以達到資訊量或者知識的對稱(對知識的共享)呢?或者說,如何讓使用者以及其他開發人員理解原作者的軟體,從而更好地使用以及完善軟體呢?

泛系泛系,泛化之系。連網之絡,開發之器。參證之軸,
律化之機。觀控之法,聯想之翼。一簣之助,點睛之筆。

泛系是研究泛關係、泛轉化與泛對稱的理論,它已為求得系統之間的泛對稱性指出了方向:首先必須研究清楚構成智慧基磚是哪些東西,這些智慧基磚之間可以形成哪些泛關係,以及泛關係之間的轉化規律是什麼。在搞明白這些問題的基礎上,就可以開始度量心理認知距離的大小或者長短。通過對心理認知距離的度量,就可以確定學習和理解的工作量,從而為使用者指明填平不對稱性的鴻溝需要實施哪些可以具體操作的步驟。

9 軟體工具

GNU 工程的一個偉大之處在於,它構建了一個完整的作業系統,而正是在這個完整的作業系統中,從文字編輯器(Emacs)、編譯器(GCC)、偵錯程式(GDB)、庫函式(GNU C Lib)、詞法分析器(Flex)、句法分析器(Bison)、專案管理器(Make)、版本管理系統(CVS)、聯機文件系統(Texinfo)等等,它提供了應有盡有的自由的軟體開發工具。有了這些工具類的自由軟體和開發環境,創作新的自由軟體就有了真正實用的基磚。
泛對稱的藝術

我通過探索 GNU 系統得出了結論:程式設計是泛對稱的藝術。

在軟體開發過程中,泛對稱的例子是隨處可見的。 GNU Emacs 中的少量 C 模組與大量 Lisp 模組就是一種泛對稱關係。C 是編譯型的語言,執行效率高,但是開發的速度慢;Lisp 是解釋型的語言,擴充套件性好,但是效率上與 C 相比則顯得不高。斯托曼的一個天才構想就是利用 C 編寫直接與硬體作用的模組,例如螢幕顯示模組,而涉及文字編輯的模組則幾乎統統用 Lisp 語言編寫,而且將 C 模組程式碼的函式名寫得像 Lisp 的函式名,所以你不仔細研究模組內部的細節,單從函式名上是很難區分它們兩者的,而這正是作者的目的,它巧妙地處理了子模組之間的異同關係,在滿足效率的同時,也充分保證了系統應該具備的擴充套件性。

GNU 的編譯器 GCC 和作業系統核心中也大量存在類似的泛對稱技術。推而廣之,由於計算機最終是為人服務的,各種程式實際上都是直接或間接地在硬體系統與人之間構建泛對稱。

10 從觀網看自由

除了技術的自由,自由軟體運動明確提出它的目的在於改革社會。在自由軟體的遊戲規則中,數學上的遞迴得到了徹底的使用,遞迴的威力讓專有軟體出版商們膽戰心驚,他們惶恐地將自由軟體的遊戲規則斥之為具有“傳染性的病毒”。

軟體的許可證是一種實施權利的形式。自由軟體許可證背後的哲學思想來自於對自由與平等人權所作的深入的理性思考。我花費了相當多的時間來琢磨它。

古往今來,人類社會總是處在不斷的動盪不安之中,太平盛世的日子總是屈指可數的。偏見與歧視、傲慢與強權,一切動亂的根源最終都可以看作是人與人之間,或者社會裡的一個群體與另一群體之間的不平等造成的。

中華文明有長達五千多年文字可考的歷史,在世界史上,中國以兩千年跨度的封建社會為顯著特點,儘管朝代更迭多次,但是封建社會的結構卻出奇地穩定,專制的封建社會壓抑民主和自由,結果是儘管在人類文明發源後的一個相當長的時期內中國的科學技術領先於西方,但是近代的科學與技術的革新大多卻是出現在西方。由於生產力水平的差距的存在,西方社會的文明已經領先於東方,這是一個客觀事實。

為了趕超西方的文明,就有必要探索西方文明賴以興起的平等與自由的理念。當然,追求平等與自由的理念在中國自古就有之,自近代以來,一直有大量的學者探索和比較中西方對平等和自由理解的差異和相通之處,並提出了各種見解。在這些探索的結論中,我認為至今仍以嚴復的論述最為精彩:

“夫自由一言,真中國曆古聖賢之所深畏,而從未嘗立以為教者也。彼西人之言曰:唯天生民,各具賦畀,得自由者乃為全受。故人人各得自由,國國各得自由,第務令毋相侵損而已。侵人自由者,斯為逆天理,贼人道。其殺人傷人及盜蝕人財物,皆侵人自由之極致也。故侵人自由,雖國君不能,而其刑禁章條,要皆為此設耳。 中國理道與西法自由最相似者,曰恕,曰潔矩。然謂之相似則可,謂之真同則大不可也。何則?中國恕與潔矩,專以待人及物而言。而西人之自由,則於及物之中,而實寓所以存我者也。自由既異,於是群異叢然以生。粗舉一二言之:則如中國最重三綱,而西人首明平等;中國親親,而西人尚賢;中國以孝治天下,而西人以公治天下;中國尊主,而西人隆民;中國貴一道而同風,而西人喜黨居而州處;中國多忌諱,而西人眾譏評。其於財用也,中國重節流,而西人重開源,中國追淳樸,而西人求歡虞。其接物也,中國美謙屈,而西人務發舒;中國尚節文,而西人樂簡易。其於為學也,中國誇多識,而西人重新知。其於災禍也,中國委天數,而西人恃人力。若斯之倫,舉有與中國之理相抗,以並存於兩間,而吾實未感區分其優絀也。”

嚴復的西學,“苟扼要而談,不外學術則去偽存真,於刑政則屈私以為公”。他是中國歷史上第一位明確提倡科學與民主的學者,他晚年面對社會上強大的封建勢力而生的退縮立場與復古無損於他的一生學術思想的光輝。

在歐洲文藝復興特別是法國大革命之後,人類理性思維能力逐漸成熟,終於發展了可以駕馭自身發展規律的相當完整科學體系。我們不能苛求嚴復,因為他的時代集合論還沒有在理性思維體系中取得公認的基礎性地位,而今天我們可以利用這個理性思維工具清楚地認識到,平等的概念可以使用數學中的等價關係概念來精確刻畫。對於社會系統,以自反性、對稱性和傳遞性定義的等價關係是指在集合(社會)中的每一個元素(個體)都處在一個同等的地位上,特權的清除依賴於每一個個體對社會中其他個體一視同仁的尊重,在這種理想的社會中,個體享受自由的權利與與個體尊重他人義務是同時存在的,它們兩者使得自由具有天生的兩重性。在具有等價關係的社會系統中,無論如何進行聚類,得到的群體或者個體都具有相同的自由度
—— 等價關係是正確理解人權的理性思維工具。

要想使整個社會系統中的每個個體相等地具有相同的權利和義務,遞迴的實施是最有效的手段之一。因為在這種社會動力學系統中,遞迴能保證系統中普遍的等價關係的建立和存在。以“版權屬左”(Copyleft)為基礎建立的自由軟體的遊戲規則,巧妙地使用了遞迴的力量,以期達到在社會中普及自由之目的。

東山再起
“一、百、萬”工程(MNM Project)

2001 年 3 月 5 日,我發起了“一、百、萬”工程。儘管發起這一工程的導火索有某種偶然的成份,但是工程的提出只是遲早的事情,因為我對自由的涵義和價值已經理解得相當清楚。以前的曲折經歷告訴我,沒有自由,特別是缺乏對自由進行保證的一整套制度,想取得成功只是一種幻想。自由關係著所有人的福址。一個人的商業成功可能滿足他或她一時的慾望,但是卻無法保證實現社會的普遍繁榮。社會系統裡的大量“人為與門”的存在,極大地束縛了生產力的發展和社會的進步,浪費了巨大的資源,是造成社會系統的顯克和災變的根源。 要想清除這些不合理的人為與門,一個有效的辦法就是通過向社會灌輸自由的理念,讓全體社會成員都能理解自由的重要性並能捍衛之。當社會裡自由的觀念深入人心得到普及時,一切制約生產力發展的“人為與門”都會在它面前土崩瓦解。

儘管我不是職業政治家,無法通過官僚體系了實施我的理想,但是我們現在正進入資訊社會,在資訊社會裡,藉助技術和網路的力量,傳播自由的理念要比以往任何時候都來得容易。網路,特別是人與人之間的網路,是剷除各種“人為與門”的有力武器。

注意,這裡的“一、百、萬”不是指數字的一百萬,所以有“‘一、百、萬’不是一百萬”的詼諧說法(MNM’s Not a Million), 正好印合了黑客界對 GNU 工程的遞迴命名法則 (GNU’s Not UNIX) 的傳統。 實際上,“一、百、萬”工程是下面三個方面工作的簡稱:
“一”字工程是指建立一個研究院,也就是“自由軟體中國研究院”。

幾個泛系學友曾經建立過武漢泛系工程研究所,我曾經試圖將這一研究所改造成自由軟體中國研究院,但是不是所有的泛系學友都理解我提倡的自由觀念及其意義,他們不想改變原來的章程,因此我只好另起爐灶,自己動手與 RMS 一起來組建自由軟體中國研究院。

儘管目前組建自由軟體中國研究院還面臨許多問題,例如,作為一個在民間成立的科學研究組織,它在法律上它無法得到《捐贈法》的有效保護;作為一個社會公益事業性質的組織(—— 它開發的自由軟體人人都可以自由使用),它無法享受到像 FSF 在美國得到的稅收政策(在美國,FSF 是免稅的,而且捐贈人向 FSF 的捐贈可以從捐贈人或者捐贈企業的所得稅中扣除),但是這些困難都不是我們停止向社會傳播自由的理由。

工程啟動後,它即著手建設一系列的工程,這裡是專案的一個簡要清單:
(一) 開發高質量的向量漢字字型檔。

漢字字型檔的設計是排版服務時所必需的。漢字字型檔無疑是中國人使用計算機時必須擁有的東西。遺憾的是,中國現在沒有一種真正自由意義上的漢字字型檔,無論是終端上的點陣字型檔,還是高質量的用於印刷的向量字型檔。

“一、百、萬”工程將開發高質量的漢字字型檔。

PostScript 技術已經是一項非常成熟的技術,前面提到過,自由軟體基金會已有工具軟體支援它。儘管 ISO 有 SPDL 語言規範(ISO/IEC 10180),但是很遺憾, ISO 標準是專有的(很多人可能還沒有意識到這一點),而且 SPDL 沒有得到工業界的廣泛支援。因此我們迄今只支援 PostScript 技術。但是按照西文字型檔的設計方法來設計向量漢字字型檔,實踐中還有不少問題有待解決。這一工程專案的難度除了要熟悉厚厚的 PostScript 語言規範各種細節之外,關鍵在於工作量十分龐大,因為漢字的數量很多,僅僅
GB2312-80 就有 6,763 個漢字。而且對於實用的印刷系統而言,僅有一種字型是遠遠不夠的,需要至少四種不同的字型才能基本滿足實際需要。

我根據長期學習數學的背景和經歷,在漢字字型檔的設計技術上另闢奚徑,獨立發明或者發展了在小波分析和小波變換的基礎上設計漢字字型檔的新方法,這一方法從根本上改變了漢字字型檔設計的技術的落後局面。詳細情況,可以參讀本書雜篇中“小波變換與漢字字型檔的設計”一章。

另外,我長期研究了漢語的特點,從漢語理解出發,綜合性地研究了語言理解的規律,並提出了一個泛系語言學模型,對“計算機理解語言的實質是什麼”的問題有了一個新的研究方向,詳見本書雜篇中“語言理解中的泛系概念”一章。
(二) 新的作業系統

我們目前面臨的計算機工業的危機主要表現在缺乏自己的智力水平可以把握的平臺上,包括硬體平臺和軟體平臺兩者。冰凍三尺,非一日之寒。 對於軟體平臺中的最底層,中國人在開發作業系統的道路上,因為猶豫不決和決策失誤浪費了很多時間,走了大量的彎路(在我看來根本原因是缺乏對自由的理解)。由於長時間沒有硬體平臺的直接支援,自己又不重視基礎研究的投入,也不重視技術開發力量的儲備,人才的流失嚴重,因此在短期內開發出一個成熟的作業系統是相當難的。

由於網路化的資訊時代作業系統作為平臺的重要性日見突出,因此,“一、百、萬”工程知難而上,決定自己開發自由的作業系統, 其技術路線是復活 Lisp Machine,也就是將程式語言擴充套件成為一個完整的作業系統。

新的作業系統稱為“明”(MING/OS),這個名稱來自一位朋友的推薦 (MING Is Not GNU)。它是面向未來新的晶片體系開始設計的全新作業系統,即以基於堆疊的晶片為預設平臺,採用“元核心”(Meta-kernel) 的體系,按照 GNU GPL 釋出。它追求出色的實時反應速度,內建的健壯網路功能,以及支援圖形使用者介面等一大堆技術效能。

除了元核心的基本特性,“明”系統的另一大特色是在作業系統層次上可以保證免受病毒程式或者惡意攻擊程式的破壞,因為我在泛系原理的指導下,受到俄羅斯學者的研究開發工作的啟發,建立了什麼是“安全的計算機系統”的完整的數學模型和計算模型。11 由於它在數學研究上的前沿性和成熟性,特別我的尺度論的成功應用,我自以為這項研究工作的學術價值完全可以與任何一位獲得圖靈獎得主的工作相媲美。
(三) Scheme 實現版本

Lisp Machine 在二十世紀八十年代曾經頗為風光過一陣,它曾經是黑客們的掌上明珠,後來因為市場和技術等原因,從作業系統家族中消失了。

影響 Lisp Machine 普及的技術原因在於 Lisp 語言環境的執行速度不彰,Lisp 語言有一種記憶體垃圾自動回收機制,早期計算機上的記憶體是非常昂貴的,計算機系統上記憶體容量是很少的,屬於計算機系統上最稀缺的資源。Lisp 在實現時考慮到了這一點,它將程式執行過程中產生的所有不再使用的記憶體清理乾淨後重新投入計算,在記憶體垃圾回收時,Lisp 語言直譯器往往不得不暫停下來等待新的可重用的記憶體,因此速度上受到很大影響。

但是, Lisp 語言設計機制中的記憶體垃圾自動回收(Garbage Collector, GC)本身卻是一項非常出色的技巧,它本身並沒有什麼錯。編譯型的語言,例如 C 或者 Pascal,需要程式設計師自己來管理記憶體的分配和回收,因此程式設計效率低下,而且容易出錯。現代的許多語言都在模仿 Lisp 的記憶體垃圾回收機制,例如 Java 語言中就有從 Lisp 借鑑過來的類似記憶體垃圾自動回收機制。

由於電子學工藝的飛速發展,今天的計算機記憶體部件成本已經大大下降了,而且記憶體垃圾回收的演算法也有了巨大的改進,因此通過採用動態的垃圾自動回收技術,即一邊執行程式(而不是讓程式執行暫停或者程序掛起),一邊回收垃圾,Lisp 的執行速度可以大幅度提高。因此,現在很少聽到對 Lisp 執行速度的抱怨聲了。

當然,還有一些技術可以提高計算速度,例如,將基本的直接與硬體互動的模組,採用組合語言編寫,成為可以直接執行的原子函式進入 Lisp 的 REPL (即“閱讀 -> 求值 -> 列印”的迴圈),由於記憶體部件的低成本,因此基於堆疊的晶片上已經整合了大量的儲存器,演算法可以使用硬體而不是單純靠軟體來實施,因此計算機運算速度可以大幅度提高,而且程式小巧而緊湊。

但是,正如前面提到的,標準的 Common Lisp 太龐大,“一、百、萬”工程將採用自由的 Scheme 實現版本來開發作業系統,復活 Lisp Machine。我將針對最高的 Scheme 規範版本(R5RS),加上一些自己的擴充套件特性,來開發自己的 Scheme 實現版本。我的 Scheme 實現版本中有大量的原子函式採用一種我發明的稱為 ANA (而非 C 的)編譯型語言編寫,這種語言吸納並綜合了 Fortran、APL 和 Forth 三門程式語言各自的優點,並加入了對安全性的支援,詳情可參見本書雜篇中有關內容。
(四) 桌面工作環境

當今任何主流的作業系統上都有圖形使用者介面(GUI),GUI 以一種直觀的方式為計算機使用者提供了觀控框架,絕大多數計算機使用者喜歡在這樣的環境下工作。

自由軟體社團廣泛地採用了原創自 MIT 的 X Window System,目前幾乎清一色地在 X Window 系統上加入自己的圖形介面元素構成一個完整的桌面環境,GNU 系統上是 GNOME (基於 GTK,一種以 C 語言開發的庫)和 KDE (基於 Qt,一種以 C++ 開發的類庫)。GNOME 的設計思想卓越,它採用了 CORBA 技術,將物件導向的程式設計技術和分散式計算結合在了桌面環境中。KDE 則是建立在 Qt 這一 C++ 類庫基礎上的桌面環境,而物件導向的思想是很適合具有圖形使用者介面的應用程式開發的。

無論是 GNOME 還是 KDE,它們都工作在底層的 X Window 系統之上。 X 最初提供了兩種等價的庫,一種是現在通用的以 C 編寫的 Xlib; 還有一種是現在幾乎廢棄的 CLX,即利用 Common Lisp 編寫的 X 庫。這兩種庫都實現了對 X 協議的支援。“一、百、萬” 工程將在 CLX 的基礎上,利用 Scheme 來改造 X。

得到的圖形控制元件集合稱為“自由鞦韆”。它對傳統的“模式-檢視-控制”機制作了改進,採用了類似 Java Swing 中採用的物件導向的方法來設計各種圖形使用者介面需要的控制元件集。詳細情況可參讀本書雜篇中“自由鞦韆的實現”一章。

這一改造的目的不僅僅是得到一個可以使用的類似於 X 的視窗系統,而且有更高的技術目標 —— 它要將基於作業系統的桌面設計得像一個 Web 瀏覽器, 將分散式的 Web 帶入作業系統的桌面,從而得到一種新的泛對稱。在這一桌面環境下,任何物件無論它在本機上,還是在網路遠端的什麼地方,均可利用桌面對計算進行觀控。觀控是建立在符號表示式傳輸協議(Symbolic Expression Transmission Protocol, SETP)的基礎上的。整合的環境稱為 NeoTEX,它試圖綜合 TEX 的排版演算法、符號表示式的計算思想和類似
PostScript 技術的表達形式。 大量的泛系概念將採用進入這一桌面環境的設計中,詳細情況可參考本書雜篇中“符號表示式傳輸協議的實現”和“NeoTEX:三合一的瀏覽器的設計”兩章。
“百”字工程就是要創作幾百本自由的計算機文件,並把它們當作圖書出版。

“一、百、萬”工程將採用現代先進的出版技術來創作自由的計算機文件。我已經對 TEI 規範投入了相當的時間進行研究。TEI 是一套基於 SGML/XML 的規範,其支援的文件型別比 DocBook 更加豐富(例如 TEI 規範定義了詩歌、字典、小說等文件型別),在國際學術界得到了相當廣泛的認可和支援。

採用 TEI 編寫的自由文件可以存放在資料庫裡,針對不同的輸出要求,對 TEI 文件進行解析和格式化,就可以得到不同的輸出結果。一旦有了高質量的自由漢字字型檔開發成功,我們就可以開始出版自己的中文文件。這些文件既可以從網上自由傳播,又可以作為紙媒體印刷出來銷售,為工程積累開發資金。

“百齡影徂,千載心在”。只要有一批高質量的計算機文件,那麼我們的工程就會後繼有人,他們可以在我們的肩膀上繼續向上攀登,而不用從頭做起。
“萬”字工程就是要在中國培養幾萬名具有創新精神的、可以動手開發自由軟體的工程師。

“一、百、萬”工程非常龐大,需要大量的人力物力的投入,因此我們希望有大量的軟體工程師參加進來。目前這方面的人力資源還遠遠不夠,因此我們要利用我們在心理認知距離的度量中獲得的研究成果大力開展培訓工作,利用多種手段培養幾萬名可以動手開發自由軟體的人才。只有具備了大量理解了自由涵義的人才,我們的工程才有蓬勃發展的保證。自由軟體運動在中國才有成功的希望。

至道在微,變化無窮,孰知其原!……恍惚之數,生於毫釐,毫釐之數,起於度量,千之萬之,可以益大,推之大之,其形乃制。

“一、百、萬”工程發起的意義絕對不僅僅是像一些人期望的那樣創造一些高質量的具有民族品牌的軟體,解決我們民族面臨的軟體危機,而且在於,自由軟體運動從此在中國的發展不再是屬於一些黑客個人自發的業餘愛好,或者幾家公司手中的贏利工具,而是變成了一種自覺的行動。這個工程有它完整的宗旨、既定的技術目標,計劃綱領和具體行動。它通過技術手段來傳播自由的思想和理念,達到創造更加美好社會的目的,它或多或少像是一種柏拉圖式的政治,儘管參加工程建設的人將不是來自政府的公務員。
重朔事業的第二春

在 IT 界的 .com 泡沫破裂之前,市場上有大量的 IT 公司幻想著急劇膨脹公司規模,然後上市圈錢,以達到迅速發財致富的成功目的。 我們不打算這樣做,因為我們的目的是推廣自由,而且是通過泛系理論的指導自覺地建立成功的商業模式來推廣自由,這是我的第二次創業。有了以前的正反經驗和教訓,加上泛系理論已經提供了足夠多的方法論供我們採用,這次創業將涉及更寬和更深的範圍,工程將集中在研究、出版和培訓三個方面展開,這正好是“一、百、萬”工程的三個既定發展方向。工程的資金來源主要依靠我們提供的服務:
(一) 出版《自由軟體》雜誌和自由軟體圖書

經過一年的努力,我於 2002 年開始出版《自由軟體》雜誌(free SOFTWARE),這是目前全球第一本關於自由軟體的英文雜誌,這一雜誌得到了自由軟體基金會的同行和廣大自由軟體社團的直接支援。它有電子媒體和紙媒體兩個版本,兩個版本的雜誌都可以自由的拷貝和再發行,電子媒體發表在我的網站上:
http://www.rons.net.cn,其紙媒體版本的雜誌的銷售收入用於支援“一、百、萬”工程的建設。

由於在大陸成立出版社存在諸多障礙,我開始思考去其他的國家或者地區發展自己的出版業務,以與國內那些不入流而充滿銅臭味的專有出版商保持距離,直接參與同國際出版社的直接競爭。

在我看來, 出版圖書和發行軟體都是出版活動,都是作者體現權利的方式。根據自己在學習 Scheme 方面的心得體會,我們開始嘗試一種與現在所有發行版本不同的 GNU 的發行版,稱為 GNU4U。 它是對 GNU Make 內秉的回溯的思想進行提煉之後形成的。詳細情況可以參讀本書雜篇中“GNU4U:一種新的 GNU 系統發行版”一章。
(二) 排版服務與電子檔案

TEX 系統經過多年的發展,已經非常穩定了,我也摸索了多年,對其內部結構已經瞭如指掌,我在 2000 年組建了中文 TEX 使用者俱樂部(CTUG, Chinese TEX User Group)。目前,CTUG 還在成長壯大,我們在 CTUG 的基礎上組建了一個排版工作室,《自由軟體》雜誌的排版任務就是這一工作室承擔的。除此之外,它面向世界市場提供高質量的商業性排版服務。

CTUG 已經於 2005 年 8 月在武漢承辦了 “TUG 2005 暨國際排版技術大會”,這是自宋朝的畢昇發明活字印刷術之後第一次由中國民間舉辦的關於排版的科學技術國際性會議。 TEX 的影響早已超出了一個科技論文和科技圖書排版工具的範圍,它本質上是一個編譯器,因此熟悉它的設計思想對於掌握電腦科學技術的核心內容是有巨大幫助的,這此會議已經成為中國在印刷技術領域的復興並趕超國際資訊科技的一個新的起點。

另外 TEX 可以直接生成 PDF 檔案,理論上也可以生成其他形式語言描述的格式的檔案。結合這種自由軟體技術,我們可以在生成電子檔案時加入數字簽名,或者對機密資料進行加密,加密的電子檔案可以在網際網路上傳遞,並由合法的收件人進行解密,這種商業模式可以在涉及電子交易的許多方面應用上。這一切都是以自己的數學修養為基礎,結合具體的應用背景而開發的,它本身將從某個角度證明自由思想和自由軟體的巨大市場價值。
(三) 講授自由軟體課程

實際上,資訊不對稱的一些原理已經得到經濟學家們的廣泛認同,2001 年度的諾貝爾經濟學獎金就頒發給了三位在這方面研究取得了突出貢獻的學者。

應用前面提到的資訊不對稱的原理,通過對心理認知距離的度量研究,結合自己長期學習和鑽研自由軟體的親身體會,我開發了一套冠以 “黑客道”(Hackerdom Training Program, HTP) 的自由軟體培訓課程,詳細情況請參見本書外篇中“黑客道與教育傳統的復興”一章。

這套課程分成三個階段,分別對應著程式設計師學習道路上的三個進階,像圍棋運動員具有相應的段位一樣,黑客道學員通過學習也可以獲得初段、中段和高段選手等九個段位。我們還鼓勵全國各地的自由軟體愛好者在當地組織“自由軟體學習小組” 以及“自由軟體運動講習所”。在條件合適的地方,我們還可開設“黑客道”的特許培訓點。

通過學習這一套課程,學生可以在相對較短的時間內掌握自由軟體的工作原理,具備動手開發自由軟體的能力。我們收取的學費除了支付教員的勞動之外將用於工程的建設。這一系統而全面的多、快、好、省的教學方法推廣起來,將徹底改變中國高水平的系統程式設計師缺乏的面貌。

“春三月,此謂發陳,天地俱生,萬物以榮……生而勿殺,予而勿奪,賞而勿罰,此春氣之應,養生之道也。”

我們希望所有珍愛自己的自由和權利的人都來關心和支援“一、百、萬”工程的建設,共同營建我們自由的春天。

結語

從一個初出茅廬的熱血青年,到成長為一個為自由而奮鬥的戰士,我已走過了十多年的曲折歷程,我有幸在這十多年的時間中,得到了兩位來自不同領域裡的世界級大師的指導和關懷。我不願將這段難忘的經歷封閉起來視為自己私有的財富,而是寫出來,希望引起社團裡的每一個同志對自由的進行思考,或者從中得到某些啟示。

我們生活的時代處在一個資訊社會剛剛開始的門檻上,這一時代不同於以往的農業社會、工業社會,資訊社會中的社會成員將因技術的飛速發展擁有前所未有巨大的自由,也正是因為如此,這一社會存在的基礎 —— 自由 —— 才顯示出比以往任何時候與人都更加密切的關係,值得我們去珍視和維護。古往今來,對美好自由的嚮往是人類永不停歇的追求的源動力,讓我在此填詞一首來與大家共勉並結束全文:
沁園春·武漢12

淫雨烏蒙,互避龜蛇,楫舸豎橫。
望半橋似斷,煙渚不見;
大江緊鎖,百鳥蹤蒸。
白髮漁樵,寒風凜冽,覓釣披蓑並簍簦。
沉暮靄,遍江南巷陌,無縫天篷。

搏擊赤壁艟艨。
磨鈍角、十年得利稜。
憶迷學少年,牛犢勇盛;
得書受訓,愚昧生萌。
數論集合,群環及域,戥物皆成度量衡。
還企盼、上華山極頂,舞劍削峰!

版權所有 © 2002,2003,2004,2005,2006 洪峰

第一版初稿於 2002 年 4 月 20 日, 穀雨時分;
2002 年 5 月 12 日, 第一次修改;
2002 年 5 月 16 日, 第二次修改;
2002 年 12月 18 日, 第三次修改;
2003 年 1 月 10 日, 第一版定稿。
2003 年 8 月 27 日,第 1.1 版。
2003 年 12 月 15 日,第 1.2 版。
2004 年 10 月 18 日,第 1.3 版。
2004 年 11 月 12 日,第 1.4 版。
2005 年 1 月 20 日,第 1.5 版。
2006 年 2 月 20 日,第 1.6 版。

依照 GNU Copyleft 許可證的條款,本文可原封不動地拷貝和自由地再發行,但在拷貝和再發行的拷貝中必須原封不動地含有這段版權宣告。

1. 我後來得知吳學謀教授是國內研究模糊數學的先驅。 在他的影響下,有四位年青學者先後當選了中國科學院的院士。

2.《集合論》,方嘉琳編著,吉林人民出版社 1982 年出版。方嘉琳教授還有其他一些數學譯作, 均頗見功底。

3.《世界數學家思想方法》,解恩澤、徐本順主編,山東教育出版社 1993 年出版。

4.《C 指標程式設計的藝術》英文版名稱為 “Programming with C P ointers”,MNM Press 出版。現在我的這部著作是“黑客道”培訓的三大教材之一。

5. SuSE 至今仍然是最為流行的 GNU/Linux 發行版本之一,在全球社團,特別是歐洲的自由軟體社團保持著很大影響,後來被 Novell 公司收購了。

6. 有關這一主題的詳細展開超出了本文的範圍,有興趣的讀者可閱讀本書外篇中“加法、乘法與乘方”一章。

7. 參閱本書《外篇》下部的“排版、印刷和網路出版”一章。

8. 理查德·斯托曼於 2001 年被推選為美國工程院院士,在此之前他是瑞典皇家科學院榮譽院士。

9. 參見本書《外篇》下部的“黑客道與教育傳統的復興”一章。

10. 硬體系統設計技術內部也存在大量的泛對稱性,但是這裡就不去涉及了,感興趣的讀者可以參考外篇中的“二月春風似剪刀”一章。

11.《“明”作業系統的設計思想》一文的英文版最早發表於 《free SOFTWARE》期刊上。本書《內篇》也收錄了根據這篇文章的思想而寫作的中文版。

12. 注:下片中的“戥物皆成度量衡”中的“度量衡”應當泛系尺度論解。 “戥”當作精密測量解。