宮敏把自由軟體和 Linux 帶回中國

對於宮敏,在中國的開源界以及技術圈內,大家所熟知的是「中國 Linux 第一人」的稱呼,因為他用手提肩背的方式將 Linux 帶回了中國,組建了中國第一個自由軟體庫。然而宮敏則謙虛地表示,他只是中國自由軟體和 Linux 的先行者。

宮敏的人生,經歷頗豐,感受過截然不同的文化。在一路的成長中,徹底明白了計算機的工作原理,深刻感受到計算機系統安全的重要性。這也塑造了今時今日的宮敏。本期《開源英雄》,讓我們一同走進宮敏的程序人生。

採訪 | 劉韌

作者 | 谷磊 責編 | 唐小引

出品 | 《新程式設計師》編輯部

1994 年,北京,國內貿易部正在建立 VSAT 資訊發佈平臺,沒有網際網路,包括主站在內的很多應用都在 Windows 系統上運行,性能很差,問題頻發。回國休假的宮敏看後說道:「咱們試試這個」,就拿出自己從芬蘭帶回的 SLS Linux 發行版系統,裝上後,貿易部的同行驚訝道:「這個系統一裝,怎麼感覺我的 PC 變成工作站了!」高興得不得了,「這東西哪來的?」「自由軟體是怎麼回事?」「唉!可惜咱們接觸不到這東西呀!」宮敏說:「會接觸到的,我能讓你們接觸到!」

這神奇的系統,是宮敏在赫爾辛基理工大學做研究時發現的。他在構建新的分散式平行計算模型,需要用到 IP 多播協議,可沒有作業系統能支持這個 IP 協議,在瀏覽教育科研網的 FTP 時,突然出現的 Linux Kernel 引起了宮敏的注意,他的分散式並行處理有些東西要在 Kernel 裡做,「這玩意兒有點意思!是赫爾辛基大學二年級的學生 Linus Torvalds 寫的,自由軟體、源程式碼開放、運行自由修改和散發,太好了!」

可此時,Linux 的狀態還做不了什麼。

一年後,網上一些人拿出了一個叫 SLS 的 Distrbution(Softlanding Linux System,最早的 Linux 發行版之一),「這大概是 Linux 最早的一個 Distribution」,宮敏拿過來開始安裝,下載了核心程式碼,發現可以支持自己需要的 IP 多播協議,研究工作進一步推進,「加進來經過修改原先的 Bug 之後就好用了,這東西可太好了!」「如果以前做地面站的時候有它,我的系統會做得非常漂亮。」

同時,他認為中國應該很需要這個東西。

一次,宮敏去瑞典電腦科學研究所(SICS,Swedish Institute of Computer Science)做交流,大家聊天時談到瑞典比芬蘭更發達,可為什麼 Linux 會出現在芬蘭,而沒出現在瑞典?其中有個人說:「是因為全世界最大的軟體庫 Archive 在芬蘭,芬蘭的學生、老師有機會接觸到全世界幾乎所有的源程式碼,所以這裡的人思路開闊。」大家也認同這種觀點。

宮敏博士在芬蘭

宮敏博士在芬蘭

宮敏受到啟示,「我得把這東西拿到中國,讓中國人也能接觸到它。」

1997 年,北京,國家資訊中心在中國軟體協會下成立了「中國國際自由軟體分會」,並決定利用國家資訊中心的中經網的基礎設施建立「中國自由軟體庫」,推選宮敏擔任顧問,提供自由軟體資源並進行答疑等支持。也因於此,宮敏自費做了這件事。

宮敏把想法告訴了在芬蘭教育科研網 Archive 工作的朋友 Ari Lemmke,他是真正給 Linux 命名的人。Ari 是位理想主義者,在 Otaniemi 科技園 Inopoli 附近開了一個小型的 ISP(X-gateway),為了推廣新生事物「因特網」,讓園區的公司免費使用,他通過其他的工作掙錢養活這個 ISP,同時負責「芬蘭教育科研網(funet)」的 FTP 系統管理工作。

Ari 說複製 Archive 軟體庫大概需要 80 個 G。1994-1995 年,PC 磁碟容量普遍為 40-45M,完全不夠用,起碼需要 1 個 G 作為緩衝,而 1 個 G 的 SCSI 硬碟需要 8000 馬克(原芬蘭貨幣單位)。

另外,為了在伺服器上跑 SCSI 硬碟,還需要買一塊 SCSI 卡,因為沒這東西就沒法玩兒,宮敏連卡帶硬碟共花了 1 萬馬克,花銷不菲,「該花的錢要花,自己也得學東西呀!」

用 1 個 G 硬碟傳 80 個 G 的資源不可取,宮敏就想到了磁帶,買得起的是和數字錄音帶很像的 DDS(4mm)磁帶,宮敏花了幾千馬克買下 20 盤,又花了 4000 馬克買了個二手磁帶機,還好,把 SCSI 卡插上就能用。「既然想幹這件事就得放開幹。」

設備都齊了,宮敏想讓 Ari 幫他導資源,由於比較費工夫,Ari 建議宮敏去自己學校弄,學校的網很快。隨後,宮敏白天工作,晚上在學校用腳本拽資源,每拽一部分就拷進磁帶裡,再拽、再拷,他還專門寫了腳本,以免出現混亂。

宮敏用幾個月的時間拷完所有的東西,帶回到中國。

為證明自己這套東西名不虛傳,宮敏說:「咱們的自由軟體庫就用自由軟體來搭。」說幹就幹。宮敏用 Linux 做了軟 RAID,把不常用的 PC 機加大記憶體和磁碟用起來,資訊中心的一臺 HP 小型機上有磁帶機,宮敏要了賬號,通過網路使用磁帶機,開始儲存資源。網用磁帶機比較慢,但最終還是把全部資源導進 RAID 裡了。

軟體庫建成了,Linux 作業系統成功引進中國!

可宮敏覺得光放著不行,就在上面建了一個新聞組,大家有問題可以在這裡討論。可很久都沒有互動,宮敏就在裡面發貼,慢慢地開始有人留言提問,終於活躍起來了。只要有提問,宮敏一定回答,「我可能答得比他問的更深、更多一點。」

使用者越來越多,宮敏答不過來,就挑有意義的或新問題來答。對於老問題,會有人告知去找哪個貼子,「我覺得這樣很好,大家都在無私地做著貢獻。」一有東西就能讓大家知道,給大家用;不會用的就一起討論;都不會的,宮敏就幫忙在「因特網」上真正的新聞組上發起話題討論,得出結論後完整地告訴大家。

當大量活躍使用者出現時,就有越來越多的人說「你做的這些工作很有意義,能不能回國做?在國外做把很多東西留給了洋人,回來為自己的國家做吧。」於是宮敏就回國了。

幼時情節

幼時情節

「每週回家,爸媽都會問我,在幼稚園吃了什麼?」

1959 年 11 月,宮敏 3 歲,就和其他科學院的孩子一樣,進了端王府幼稚園,星期一送進來,星期六接回家。這裡讓他體驗到了集體生活的紀律性,睡覺、吃飯、出去玩都要大家一起去,不能自作主張。

3 歲的宮敏

3 歲的宮敏

一次,幼稚園組織孩子們去四不要(中關村)禮堂演出,演完節目又呼呼地坐著卡車回來,中午「小演員們」美滋滋地吃了頓炸魚,這對宮敏來說是最好的獎勵了。

幼時關於吃的情節,總是耐人尋味。一天晚上,父親說:「豆腐腦能增加蛋白質,爸爸帶你去買豆腐腦,回來大家吃。」宮敏就跟著父親點著燈,在豆腐腦攤位排起長長的隊,買到後拿回家,有辣的和不辣的,宮敏不經意吃到一碗辣的,當時就被辣哭了,「這段印象真可愛!」

宮敏的好奇心也給生活平添了些插曲。一天,心理研究所的人員來幼稚園找孩子做實驗,宮敏很好奇,就被叫去了,他們被帶進一個小黑屋,頭上裝上電極,面前一盞紅燈,揚聲器裡提出來各種問題,他們就一一回答。

週末回到家,他把這件趣事告訴家人,家人驚訝道,「拿我們孩子做什麼實驗?我得去心理所問問。」得知是做兒童心理實驗,只是看看腦電圖,這才放心。

學霸之家

學霸之家

早就掌握了識字能力的宮敏,一二年級就開始看小說了。

四五歲的時候,宮敏看見父親在做一個放大器,就跑過去不停地問:「這是什麼東西?」

「這個是電阻。」父親說。

「那是什麼東西?」「那個是電容。」

「這是什麼東西?」「這是電子管。」

「這是什麼東西?」「這是變壓器。」……

這種兒時碎片式的學習,宮敏很早就開始了。

父親經常給宮敏買兒童讀物,有些是講科學人物的圖畫書,像特斯拉、愛迪生、羅蒙諾索夫和祖沖之等,父親有時也給他講一講,更多是看宮敏的意願,「反正書在這,你自己看」,看宮敏對哪些方面感興趣。

很快發現宮敏對無線電、物理更感興趣,就開始多買這方面的書。宮敏有問題,父親有時直接解答,有時說:「你看完這本書就知道了」,宮敏就去看書。

1953 年,父親從武漢大學無線電學專業畢業,是新中國培養的第一批大學生,畢業後分配到了中科院地球物理研究所,由趙九章等幾位老先生帶他做一些項目。

1958 年,國家進行人造衛星預研,選了十多個科研人員組成研究小組,宮敏的父親也入選了。

科學院有很多研究所,父親主要是研製科學儀器,「沒有儀器是做不了科學研究的,老爸和他的同事都熱衷於做儀器。」

宮敏的母親畢業於湖南長沙的湘雅醫學院,是美國教會創辦的高等醫學教育機構。母親很早就教宮敏認識 26 個英文字母,他學拼音時就學得非常輕鬆,「只是這個字母我們以前都念 A,怎麼到這兒念 a(啊)?」。

宮敏的爺爺當年從安徽寒山縣出來,去上海唸了大學,在宮敏快上小學時患了半身不遂,不能說話,「他以前,會拿著一本線裝書搖頭晃腦地在那兒唱詩。」奶奶畢業於武漢大學中文系。

忽然沒有學上

忽然沒有學上

環境艱苦,「在這樣的情況下誰去了都是沒學上的。」生活中,宮敏一旦有不明白的,就去找書看或者問父親。

1963 年宮敏讀小學,1966 年全家搬到了陝西 112 大院,在秦嶺的一個山溝邊,這裡是趙九章先生選點建設的三線單位,父親和幾位同事算先遣人員。

剛到這裡,實驗室的設備、用具還沒到位,更難的是星期天只吃兩頓飯。家裡連餅乾和饅頭都沒有,宮敏就和妹妹跑到食堂,工作人員忙說,現在沒飯,要 9 點才有。兩人餓得不行。

學校還沒開起來,距大院約 5 公里還有個山溝,有個子午鐘錶廠,這裡住的全是上海人,生活比較好,子弟學校已經開張了。宮敏就和夥伴們跑去旁聽,跟上海小夥伴們一起玩兒,可還是比較遠,不能每天去,「反正這段時間基本是沒學上的」。

1967 年政策變了,宮敏跟隨家人回到北京搞運動,三年級沒怎麼唸的他,直接在中關村小學上了四年級,直到小學畢業。

「我不記得有太多事情發生,好像也沒有什麼考試。」回京後住在中關村,小夥伴的家人不是這個所的,就是那個所的,「都是在家聽大人講完,就來學校吹各種科學上的牛。」宮敏一旦有不明白的,就回去找書看或者問父親。

這個時期也是父親參與研製任務的關鍵期。父親經常夜不歸宿,宮敏有些實驗做不通,就把實驗現場留在桌子上,寫一張紙條說明問題和現象,再去睡覺。早晨起來,還是不見父親的人影,「桌上的紙條變成了老爸的指導意見,按照意見處置後,問題基本就解決了。」

不久,父親負責研製的部分進入關鍵階段。他提出利用國內所能提供的器件,滿足總體設計要求創新性的技術方案,最終獲得成功,圓滿完成了任務。

少年宮敏和父親

少年宮敏和父親

父親總是把「多普勒效應」、「截止頻率」、「參量放大器」、「階躍二極體」等新名詞掛在嘴邊,宮敏不明就裡。一次,父親自言自語地說:「國內最好的電晶體的工作頻率是 40 兆赫茲,200 兆赫茲怎麼搞?」宮敏覺得父親遇到了大的挑戰,後來發現,正是父親的方案和產品保證了第一顆衛星能被地面「跟得上」。

科學、音樂兩不誤

科學、音樂兩不誤

「沒想到物理世界和音樂世界竟有著如此奇妙的聯繫!」

宮敏在北大附中表現一直不錯,只是大家不輕易聊成績。學校生活很豐富,他參加了校合唱團,時常排練,由於變聲,從男高聲部唱到了男生低聲部。

一天,鄰家來了位會拉小提琴的大哥哥,演奏水平很高,琴生深深打動了宮敏,很快,兩人就成了好朋友。宮敏很想學小提琴,就開始跟父親軟磨硬泡,在向父親承諾「不能三分鐘熱度,一定練到至少和鄰居哥哥一樣的水平」後,父親才答應買個便宜的小提琴。

經過鄰居哥哥的介紹,宮敏結識了住在磁器口的小提琴老師,老師同意每週為宮敏做一次專業指導。家裡給買了月票,他每週四放了學就去磁器口學琴。

1970 年,宮敏在中關村北區花壇旁演奏小提琴

在老師的指導和自己的苦練下,宮敏的演奏水平提升很快,就這樣,在科學之外,宮敏真正掌握了一門樂器演奏技巧。他的閱讀範圍也擴展到了和聲學、音樂史、德奧音樂和俄羅斯音樂等,圖書館的《人民音樂》(過刊)雜誌也成了他的閱讀對象。有些小夥伴家裡有唱片,宮敏就去造訪、聽音樂,也會把唱片借回家聽。

為了高品質地欣賞唱片,宮敏開始研究、設計和製做高保真功放,讓他增加了電子電路方面的知識和經驗。通過音樂,對一些物理概念有了更加直觀的感受,例如頻率就是音高,波形就是音色(正弦波圓潤乏味,方波刺耳,三角波又是不同的音色,偶次諧波比較悅耳,奇次諧波比較令人煩躁等),這一切變得越來越有意思了。

附中有個校辦工廠,除了做廣播用的擴音機,還做半導體(碳化矽的發光二極體),工廠是由宿舍樓改建的。後來得知,這些發光二級管是供北大設計建造的大型電子計算機(楊芙清院士的 150 機)使用。

科學院計算所要做電晶體電子計算機,學工要協助製造一大批電晶體,工序就是在一個直徑 3-4 毫米的陶瓷片上,用小筆畫三條銀漿。銀漿有很強的化學味道,宮敏很好奇,就弄了一些請叔叔阿姨辨別是什麼東西,他們聞過之後說應該是丙酮。用丙酮做溶劑弄出三條墨綠色的線,就是銀漿,在烘烤箱中把這些有機物燒掉後,金屬銀就呈現在上面了。三條綠線燒完以後就變成三條銀線。宮敏他們就是畫這三條銀漿線,其他單位在這個有銀薄膜的陶瓷片上造電晶體。

做完以後讓大家去參觀計算所。在計算所北樓(該樓後來拆除,宮敏剛回國時還在),很大的一間屋子,裡面是一臺大型計算機,宮敏和同學們就聽叔叔阿姨們講它的工作原理。

記憶體會有電波發出來,一個收音機在接收。他們通過程式設計發出來的電波,用收音機收到後就是音樂。

一個大大的控制檯吸引了宮敏,上面有許多開關和閃著的燈。他好奇地在裡面亂串,串到一個地方,見有一個電動機,帶著一個圓筒一樣的東西嗚嗚地轉,這時一個叔叔過來說:「你不在那兒聽講,跑到這兒來幹什麼?」

「我看看計算機裡都有什麼東西。」宮敏說,「這是什麼?」

「這個是磁鼓。」叔叔回答。

「磁鼓是幹什麼的?」

「哎呀,跟你講不清楚。」

宮敏回家問父親,父親告訴他磁鼓上面有一堆磁頭。磁碟是盤狀的,磁鼓是鼓狀的,它們都是磁面,磁碟和磁鼓都是外存。宮敏不知道這種東西怎麼玩,因為一般人買不起。

「說起來還是沾了點光,在那個年代大概沒多少孩子能見到這種東西」,「就算是沒吃過豬肉,也算見過豬跑了」。

回到 112 大院

回到 112 大院

很多同齡人初中畢業就去插隊了,宮敏在這裡倒是學到了很多知識。

臨近初中畢業,停辦已久的北京高中開始少量招生,一個四五十人的班,大概有兩三個學生能上,條件要求比較多。家裡評估宮敏上高中的機會基本為零,全家戶口都已遷到陝西,在北京升學會有更多障礙,他就跟隨家人去了陝西 112 大院。

宮敏沒有在意種人生轉折,畢竟還是在父母身邊,已經熟悉了這種生活。

112 大院在長安縣(現西安市長安區),離當時的西安市相對較近,這裡一半是工作區,一半是生活區,大家一起吃飯。孩子想去圖書館就跟軍隊打個招呼,就能去看書,反正有書看宮敏就高興。

父親調研了周邊學校,幫宮敏選了韋曲一中(現長安一中)。學校的師資力量很強,民國時建校,1962 年被列為陝西省重點高中之一。

宮敏在韋曲一中的高中畢業照

宮敏在韋曲一中的高中畢業照

高中離家很遠,宮敏不得不住校,一個星期回家一趟。每個週六宮敏和妹妹吃過午飯,不到 1 點就要從學校往家騎,差不多 5 點到家,中間要翻一兩個塬(黃土高原的一種臺狀地形),很難走。到家後媽媽給做了好飯,幫他們洗髒了的衣服,宮敏和父親津津有味地談論科學話題。星期天,宮敏吃完午飯,就騎上腳踏車回學校。

這裡比較偏遠,運動沒北京那麼強烈,反倒成了好事,老師可以正常教課、考試,宮敏在這裡學到了很多知識。

很多北京的同學初中畢業都去了海淀蘇家坨插隊,他們的生活也因此被改變。「初中同學上大學的並不是很多,但北大和科學院的孩子後來升學的比率要高一些。」

另闢蹊徑,解決飲水問題

另闢蹊徑,解決飲水問題

宮敏認為,這種電學的方法在當時是最簡單的,任何有機械加工的東西都是複雜的,因為他不具備那種能力。

韋曲一中的大門建在川道上,整個學校是沿著一邊的塬一節一節往上建成的,在最高處建有一個水塔。

學校無法正常供應自來水,因為需要有人經常爬上水塔去看,沒水了就灌水,有時工人師傅灌著水去忙別的,水就溢出來,又要跑上去關上閥門,使得自來水不能正常供應,這讓宮敏很疑惑。

他開始思考:可不可以做一個自動裝置,在低於一個水位下限時就能自動開泵灌水,等水位達到規定的上限,就能自動把泵關掉?

具體的實現方案是,在水裡放三個電極,一個放在水塔底層,一個放在最低水位,一個放在高線水位,通過電晶體檢測水目前處在哪個位置上。「這裡面是有一個狀態機」,當低於最低水位時,就開泵灌水;當超過第一線水位繼續漲到高線水位時,就關泵。

可處在高線和低線之間的時候該怎麼辦?

正常來說,當從最高水位落下來時,如果處在中間,是不應該管它的,繼續用到比最低位置更低時再來開泵,開泵後水位再往上升。

這裡的邏輯關係是,當處在中間水位時,怎麼才能知道它是從哪個路徑過來的?從上面落下來的,還是從下面漲上去的,這需要看到前面的情況。從下面漲上來就不該關泵,從上面落下來就不該開泵,可是沒有地方保存這種記憶。

宮敏看到老師和其他人的解決方法,都是用很多個繼電器。「繼電器可以做邏輯,它是有記憶的。」

宮敏的想法是隻利用繼電器的固有特性,而不是用多個繼電器。繼電器有一個特性,就是吸附電流和釋放電流(從張開到吸合)有一個差值,例如某個繼電器,10 毫安的電流才會讓它吸合,那降到 8 毫安它仍然會吸合,只有降到 7 毫安它才會釋放。

如果讓處在中間位置的電流是 9 毫安,就意味著原來是吸合的,就不會放開;原來是放開的,就不會吸合,能讓它保持原狀。這個方法就是用了繼電器固有的特性,通過調整繼電器,讓這個差值變得更大,控制電晶體電路提供不同水位點時的不同電流更穩定。

宮敏把原理寫清楚後拿給了物理老師,老師沒發現任何錯誤,奇怪為什麼沒人這樣做,就說「那就試試吧」。

校長問宮敏:「你覺得做這件事要花多少錢?」

宮敏回答:「50 塊錢應該足夠了。」

「批給你 100 塊錢」校長說,「咱們有校辦工廠,殼子什麼的讓校辦工廠幫你做。」

最後宮敏用了不到 50 塊錢,就把這套自動化的水位管理裝置做好了,他成了學校的名人,讓大家真正喝上了自來水。

在生產隊組裝電視機

在生產隊組裝電視機

「有你在這兒,我們的廣播站就沒有後顧之憂了。」

轉眼間高中即將畢業,宮敏面臨著雙重選擇:一方面,自己擅長小提琴演奏,可以報考西安音樂學院;另一方面,繼續在實驗室裡搞科學。兩難之下,宮敏去徵求家人的意見。

奶奶對他說,「你的這兩個愛好都是正當事業,都應該支持。」「你是願意做研究,處理新的問題,還是願意坐在樂池裡,每天演奏相同的音樂?」「你可以把一個作為職業,另一個作為愛好。」

想來想去,宮敏更願意留在實驗室。這個決定,也是自己做水塔自動控制系統時,學校給予莫大的支持,讓他覺得只要有好想法,社會就能給你機會,科學研究應該是自己真正的事業。

這一年,趕上號召年輕人到農村生活勞動,每戶家庭可以留下一個孩子,於是家庭會議召開:讓妹妹去,還是讓哥哥去?宮敏覺得自己是哥哥,不能讓妹妹去,父母滿意地說「這哥哥的態度挺好,那你就去吧。」

臨行前,父親說:「你把書都帶去,要堅持學習,英文也要堅持學,不能放鬆。」就這樣,帶著心愛的書和小提琴,宮敏離開了家。

他被安排在陝西省長安縣,雖然與家在同一個縣,可也有幾十公里的山路,從生產隊回家不需要翻塬,卻要上山,沿著山路一直往上走就可以到家,從家裡回來一路下坡就能到生產隊。

剛到這裡,宮敏和其他幾個青年都住在老鄉家,不久縣裡給的安置經費到位了,生產隊就劃了一塊宅基地,蓋了個小院。

宮敏所在的集體戶是兩個男生,三個女生,小房中間蓋一堵牆,一邊住女生,一邊住男生,吃飯會在一起。「我記得我負責燒火,另一個男生就出去挑水,女生負責擀麵條、做飯。」

大多數農活宮敏都能做,可也有意外發生,一次,宮敏在麥場收麥子,把麥捆鏟到垛子上時,腰忽然扭傷了,在床上躺了好長時間。

另一次是修水庫時,一個事故傷到了腿。宮敏扒著傷口從真皮、脂肪到下面的肌肉包膜一層層都看得清清楚楚,還不忘調侃:「這下我學到了直觀的解剖學知識。」

宮敏對生活沒有太高要求,能吃飽飯,睡覺不冷就行。收工回來別人打牌、談戀愛,他就讀書。

在知識的海洋裡暢遊,他又鼓搗出了新名堂。

幹活之餘,宮敏想弄明白電視機的工作原理,「只有把它做出來,才證明我確實弄明白了。」

在讀高中時,宮敏經過一個學期的研究,組裝過一臺電視機。當時掃描發生器和鎖相環路,都是使用的最新器件「單結電晶體(UJT,又名雙基極二極體)」,利用它的負阻效應制作「張弛振盪器」,通過改變兩個基極之間的電壓,改變振盪頻率,利用振盪器產生的信號,與電視臺發送的同步信號的頻率/相位差,產生控制電壓完成掃描的同步。這一點讓研究所裡的叔叔們都讚不絕口。

他設計了一個電視機的完整電路,寒假到北京探親,順便購買了映象管、螢幕等相關零部件。北京生產的零部件宮敏都買等外品,最貴的是映象管,一個要 13 塊 5,其他東西二三十塊錢就能全買到,組裝下來不到 50 塊錢,三週的時間裡宮敏從採購零件、製作印刷電路到整機調試,完成了一個九寸電晶體電視的製作。

有了第一部電視機的製作經驗,第二部就輕車熟路了,映象管和部分零件都是從北京帶過來的,他自己繞制了高壓變壓器,最終完成了電視機的組裝。

簡直是天大的事,村裡這下能看電視了!這裡離西安幾十公里,用一個外接天線接收信號。大家都圍著電視看,「電視節目大概是每天晚上五點半開始,先是新聞,再是別的,最後是文藝節目,十點左右就沒有了。」

訊息很快傳到了公社,公社領導叫宮敏到公社來上班。

被推薦上大學

被推薦上大學

考研結束後,老師表情有些沉重,從班裡挑了五個學生說:「你們五個人把考研試題做一下,我們要評估考題情況。」宮敏就和幾位同學去答題,答完後老師看過成績說:「你們當中考得最低的,也比這次考分最高的學生考得好。」

在公社,宮敏和領導吃住在同一個院,很快就熟絡起來,工作上聽從書記安排,事情做得也很漂亮,受到了書記的賞識。

好事來臨,北大開始招生,無線電系在長安縣有一個招生名額,書記得知後跟宮敏說:「這專業不正是你做的事情嗎,你應該到這裡去啊」,專業對口,就推薦他讀大學。

說來也巧,在北大招生之前,部隊曾前來徵兵,宮敏跟部隊的人聊得很好,就說:「你把我帶走吧,我當兵去。」「好啊!」軍隊說。

幾天後軍隊跟宮敏說:「我不能帶你走。」

「為什麼?」宮敏問。

「你的崗位不應該在我這裡,你應該去上大學。」軍隊回他。

「我覺得我現在沒有機會上大學。」

「你聽我的,你的機會就是去上大學,我不能帶你走。」

就這樣與部隊失之交臂。宮敏想到,軍隊可能跟公社這邊溝通過,領導一直認為他該讀大學。

不久,宮敏通過了入黨申請,外調的資料也都合格了。在準備回京的時候,支部書記忽然對宮敏說:「你是不是能夠明年再去上大學?我們希望你留下來,再為我們工作一年。」

可一心求學的宮敏,難得有了奔赴理想的機會,他非常珍惜,就沒有答應書記。

人生充滿機緣巧合,宮敏想,既然走了,就儘量走好,不要給學校丟臉。

在北大,宮敏很享受師生之間的關係。「老師們都拿我們當朋友,不當孩子對待。」大家都很認真地討論問題。

1978 年的冬天,宮敏於北大留影

1978 年的冬天,宮敏於北大留影

一次,宮敏向老師們請教 32 路數字電話的專業問題,他們驚訝於學生竟能問出這種問題!問到我就給你講,講完後告訴宮敏下一步的研究方向,希望他也對這些感興趣。「北大老師和科學院的叔叔阿姨們的作風很像」,這也是宮敏從小接觸到的,熟悉的氛圍讓他感到親切。

更有意思的是,有幾門課剛上了幾堂,專業老師就說「這門課我給你通過,你別唸了,去別的系聽你感興趣的課吧。」宮敏覺得這很不可思議,老師們都很開明,「他覺得繼續聽這門課是浪費時間,就勸你別聽了。」

學習之餘,宮敏加入了北大游泳隊,每天下午訓練,「還是很辛苦的,每天都要遊 3000 多米。」教練要求很嚴格。好在小學時,父親就帶著他和妹妹去橫渡昆明湖,「從排雲殿游到龍王廟有 700 多米,游過去休息一會,再游回來。」從小養成了鍛鍊身體的習慣。

讓遙感探測項目起死回生

讓遙感探測項目起死回生

在 80 年代,飛機遙感是很先進的技術,此時中國的高科技是在西方封鎖之下搞出來的,「真的跟美國差距沒有那麼遠。」

1980 年,北大,20 多歲的宮敏已有了人生目標,「我就是想成為老爸那樣的人。」畢業時,宮敏順理成章地被派遣到科學院工作。此時徐夢俠老師對他們說了很重的話,「你們畢業以後,前五年可以用母校的名字,五年以後北大指望著用你們的名字。」

1981 年,在科學院空間中心工作時期的宮敏

到了科學院空間中心,宮敏被分配到了地面系統部,單位的短期使命被定義為兩星一站,即天文衛星、資源衛星和遙感衛星地面站,「雖然我最希望加入衛星團隊,但還是服從分配好好搞地面系統吧。」研究室領導給宮敏介紹了這裡的三個研究方向:硬體、軟體和演算法,可以自己挑。「想讓哪個老同志帶你,你就去爭取他的同意。」於是宮敏開始摸情況。

宮敏喜歡挑戰,做別人不敢嘗試的東西。

在跟各位老同志交談、看了各個實驗室之後,發現這裡有一個機房,裡面設備很多,了解到這是 1976 年我國第一次航空遙感的資料處理系統,可一直沒有成功運行,且負責人已去了美國。

這個機器是上海計算機廠(以前叫上無十三廠)生產的 DJ S-131 小型計算機,仿美國 Data General Nova 的產品。

按照計劃,這個研究室是負責處理飛行時儀器所採集、記錄的資料,可這一步一直未完成。宮敏就向研究室請求來這個機房,讓它完成歷史使命。誰知研究室覺得他資歷不夠,無法批准他負責這項工作,但允許宮敏來這裡進行認為必要的工作,前提是必須保證不把它搞得更壞。宮敏回答:「保證不把它搞得更壞,爭取把它搞得更好。」

宮敏是學無線電的,對電子計算機完全不懂,可他認為既然是電子計算機,它的基礎就是電子電路,只要是電子電路宮敏就能搞懂。

「那個機器現在看起來很爛,主頻 0.5 兆赫,一個記憶體週期兩微秒,記憶體 32K 字,但它居然配了 40 兆的硬碟。」裡面還配了數字磁帶機,有兩臺是東德卡爾·蔡司生產的,另外一臺是內蒙古生產的,質量不可同日而語。

宮敏決定,放棄使用內蒙古的磁帶機,只用東德的。可東德磁帶機的接口接不到我們自己的機器上,得自己做接口。好在計算機的邏輯圖都是完整的,宮敏就一張一張地爬邏輯圖,「最後弄明白了,它還有 Diagnostic 診斷程序,讀這個診斷程序,才能深入理解計算機的工作原理。」

通過這件事,宮敏就徹底明白了計算機是怎麼工作的。

此時這臺機器工作還不穩定,宮敏就分析它的邏輯,發現有個地方的時間利用不充分,導致時間很緊張,持續的緊張會造成機器誤判,比如 0 判成 1。宮敏就把計算機的邏輯稍微改了一下,加了兩個邏輯晶片,「按照新的時序來,可以更充裕地去建立時間,這樣機器就能穩定工作了。」「我還給它超頻了,本來是兩微秒一個週期,我把它提升到 1.6,超頻還穩定。」

這就能更好地利用起來了。航空遙感飛回來的資料,本來是模擬信號,需要把它數字化,數字化的過程需要和航空遙感儀器每一圈的轉動的起始點同步,可同步的挑戰比較大,因為磁帶錄回來訊雜比不好,噪聲比較大,這會造成同步的電路失誤。

宮敏想,能否用一種方法把真實的同步信號提取出來。這種做法純學計算機的人是做不好的,純學邏輯電路的人也做不好。宮敏有專業的信號處理背景,想到了匹配濾波器(Matched-Filter),用一個已知信號去匹配它那個(同步)信號,判斷哪個是真實信號,一個信號在不應該來的時候來了,那就是假的。宮敏做了一塊信號採集板,成功地把真實的同步信號提取了出來。

老同志得知後就和宮敏一起搞,他們幫助項目正式立項,要到了經費,最終把遙感飛行的資料全部處理出來了,是國內第一個完全自主智慧財產權的圖像處理系統。

浙江大學和軍隊測繪學院作為第一批使用者上機試用獲得了良好反應,物理所的雷達波波帶資訊經過系統的處理成功成像。系統通過科學院鑑定後,獲得科學院科技進步二等獎,宮敏排名第二。

這次遙感飛行的主要目的,是驗證我國自己設計製作的遙感儀器和我們的地面處理系統,另一個目的,是探測地下的鈾礦。二機部的同志根據處理出來的照片,「我們最後是出成膠片」,通過膠片判讀,得出了比較積極的結論,也得了二等獎。

這次遙感飛行探測早在 1976 年就開始了,當時做了很多工作,可運行都不正常,資料(模擬磁帶)就一直放了四年,直到 1980 年宮敏來後,把舊有的東西重新設計、製作,用了兩年多的時間把這件事起死回生了。

方案被美方認可

方案被美方認可

100 多人中有 30 人提交了方案,又經過一輪篩選,宮敏和另外 4 人的方案得到美方認可,獲得了赴美工作的機會。

法國宣佈,將在 1986 年發射世界最先進的 SPOT 遙感衛星。1985 年,中國決定建 SPOT 衛星地面系統,接收和處理法國的 SPOT 衛星資料,系統將由中國人自主在美國設計和建造,利用美國的工業技術和供應鏈,有效而快速地建設地面站,成果運回中國並在中國完成研製。

項目啟動之前,美方專家來中國講解處理系統的具體內容和要求,單位來了 100 多人聽報告。

專家畫出幾個任務,讓在場每個想幹的人任意領一個回去,利用三天時間寫出自己的解決方案。宮敏選了一塊有挑戰性的,三天後提交了自己的方案。「美國人在閱讀了 30 多人提交的方案後,又聽取了 10 個人的方案講解,最終選定了 5 個人,其中有我。」

隨後,所裡領導找到宮敏:「美國人很認可你的方案,所裡準備派你去美國做這件事。」「不過回國後,你需要為所裡服務三年,三年以後你想做別的,可以走。」

宮敏聽後說:「如果是三年的話我就不去了,您派別的同志去吧。」

「為什麼?」領導問。

「我已經 29 歲了,去兩年 31 歲回來,再服務三年,34 歲了,我還要深造,我還沒有博士學位呢。」宮敏分辨道。

「可別的同志都同意是三年。」領導告訴他。

「他們同意是他們的事情,如果一定是三年的話,我選擇不去好不好?」宮敏說。

「那你覺得多長時間可以接受?」領導問。

「最多兩年。」宮敏說。

宮敏覺得一旦答應就要做到,這個年齡,讀博士比去美國做事更重要。

一個星期後,領導又找到他:「所裡開過會了,同意你服務兩年的要求。」

感受西方世界

感受西方世界

宮敏從媽媽嘴裡和在外面聽到的美國生活大相徑庭,等真正到了美國,他感覺這裡「就那麼回事兒。」

1985 年,巴爾的摩,宮敏走在街上感受著這座東部大城市,種種景象觸動著他,「能感覺到這座城市曾經很輝煌,可如今已衰敗得不得了。」

路邊有很多聯排別墅,一次,宮敏從一個聯排別墅的後院經過,一對老夫婦正晒著太陽,看到宮敏,就跟他友好地打招呼。

「你從哪來?」老頭問道。

「你看我像從哪來的?」宮敏說。

「Cuba」老人看了看宮敏。

「你看你我的長相像古巴人嗎?」宮敏笑道。

「那你是從哪來的?」老人接著問。

「我是從中國來的。」宮敏回他。

「中國在地球的另一邊,你坐船過來要幾個月?」老人驚訝地問。

「我沒有坐船過來,是坐飛機來的。」宮敏說。

「那麼遠坐飛機!」接著他把老伴叫過來,「這個小夥子說他從中國坐飛機來的,我們兩個還沒坐過飛機呢!」

這次相遇讓宮敏感觸很深,他覺得雖然老人沒坐過飛機,可住得起聯排別墅,已經過得很不錯了。

這裡曾是美國的藍領工人區,20 世紀 70 年代,美國的藍領工人也是中產,這個階層的人在美國並不在少數。

另一方面,在街上能見到很多無家可歸的人,晚上警車到處跑,警用直升機在空中飛,感覺很不安全。

巴爾的摩離華盛頓 D.C.很近,開車 50 分鐘就到了。

美國的生活很豐富,每個星期宮敏都到華盛頓 D.C.去參觀一個博物館。國會大廈前面有一大片草坪,草坪兩邊是各類博物館(史密松尼亞博物館群)。航空航天博物館讓宮敏覺得很震撼,各種航天文物和小型物品,包括天空實驗室和美蘇飛船對接,在這裡都有展出。

一次,宮敏正在逛國家美術館,發現旁邊有兩個人指著他問:「誒!誒!誒!你是不是北大的?」

「我是啊」,宮敏驚訝道。

「你是不是游泳隊的?」

「是啊。」

「我是經濟系的,當時我們經濟系的某某也是你們游泳隊的,你老去找他。」

「對!對!對!」宮敏笑著說。世界真是太小了!

宮敏把這裡的博物館看了個遍。大概在靠近白宮的科技歷史博物館,宮敏看到了些自己從書本上熟悉的東西,比如 ENIAC(世界上第一臺電子數字計算機)的一部分,還有巴貝奇的機械計算機的一部分,等等。「這都是以前聽過但沒見過的東西,見到之後感覺不錯!」

在學術資源方面,宮敏覺得中國的實驗室儀器跟美國比,不能算非常落後,「我們是有些很好的儀器在手裡的,可能沒他們全,他們可能有二三十種,我們可能有五種,但我們這五種絕對是好的。」在科學院,大部分高級的東西是可以從外面買到的。

在單位上班時,有兩次宮敏中午吃飯和工人坐在了一起,後來美國老闆找他談話,「你應該和工程師坐在一起,不應該坐在那邊。」老闆認為宮敏不屬於那幫人,而是屬於工程師這幫人。在美國,人群實際上是有分隔的,而宮敏受到的教育是要和工人、農民打成一片,還是受到了些文化的震撼。

宮敏也會抓各種機會跟美國人聊天,多了解一些美國社會。

最先完成任務

最先完成任務

美國有先進的供應鏈,利用美國的資訊和製造能力,做完拿回中國,智慧財產權是中國自己的,「放到現在美國不會這麼幹。」

1985 年,美國,一切進行得都很順利,住宿免費,飯要自己買,有一輛車週末免費給中方人員使用,每個月發 420 塊錢。「一個月只吃飯的話 100 塊就夠了,都是到超市買菜,回來自己做,下館子是不敢的。」

宮敏領到的這塊任務難度不小,可他最先完成了任務。每個人對自己的設計負全部責任,設計出來自己調試,「都是你一個人的事兒,工廠會按照你的設計進行加工。」

任務完成後,回國進行後續的工作。

臨走之前,宮敏看中了一臺 PC/XT 兼容機,裡面有 10 兆硬碟,一張單色圖形顯示卡,他自己配了一兆記憶體,「我就是奔著頂級去的,彩色圖形對我並不重要。花了 700 多美元。」

此時,在美工作學習一年以上的外國人回國可以帶八大件,冰箱、洗衣機、電視等用品,該買的宮敏都買回來了,孝敬了家人。

成功移植 CPM/68K 作業系統

成功移植 CPM/68K 作業系統

「以前都要做交叉彙編,現在系統支持了 C 語言,讓整個系統上了一個檔次。」

1987 年,北京,宮敏開始了地面站研製的後續工作。機器沒有適合的作業系統,非常難用,宮敏說:「我們要給自己的機器做個作業系統」,於是準備移植 Digital Research 的 CPM/68K 作業系統,可人家只給了 BDOS,宮敏不得不自己寫 BIOS 還有 ROM 上面的 Bloader 和 Device Driver(驅動程序)。機器用的總線是 Intel 的 MULTIBUS,而處理器是當時最好用的摩托羅拉的 68020,「這是一對很魔幻的組合」。

MULTIBUS 的硬碟控制器不好買,進口非常貴,宮敏看到滿街的 PC 磁碟控制器說:「我做個總線轉換器(Bus Converter)吧」,然後做了一塊板子,上面是 PCBUs,把街上買的磁碟控制器插上,將總線轉換器在插到 MULTIBUS 上。前面那些系統都寫好以後,作業系統就 boot 出來了,這下好用多了。

宮敏成功移植了 CPM/68K 作業系統,並通過作業系統支持了 C 語言,擺脫了原有只能組合語言交叉彙編下載的低效率模式。後來,這個項目獲得了科學院科技進步一等獎。

以外國專家身份去芬蘭

以外國專家身份去芬蘭

宮敏突然收到一封信,上面寫著「你就是我們在找的人,耽誤這麼長時間,是因為我們一直跟芬蘭教育部溝通,邀請外國專家。」芬蘭教育部批准宮敏以外國專家的身份加入本國項目。

宮敏在美國的時候,妹妹在挪威,常跟他聊北歐五國的教育和科研情況。宮敏就想要去北歐,看看那裡的學校都在幹什麼,自己有沒有參與的可能性。

一天,北京舉辦國際教育展覽會,會上介紹了很多參展國的情況,包括各大學的教育、實驗項目,會場派發相關材料,宮敏在一份材料上發現芬蘭赫爾辛基理工大學在開展一項「實時圖像處理」的項目,就回去寫申請信,把自己的個人資訊、工作經歷都填上了,說自己對這個項目很感興趣,很想加入。

離開美國之前,宮敏請老闆給自己寫了評語,提到自己在美國的工作表現,他把美國老闆的評語、科學院老同志的評語、大學老師的評語,還有自己寫過的一些專業文章一併寄了過去,等待回覆,可是幾個月都沒有訊息,心想:那就算了。

三個月後,驚喜來臨,宮敏收到了赫爾辛基理工大學的邀請信,自己能以外國專家的身份去芬蘭工作。

芬蘭靠租美國的設備做研究,看到宮敏在科學院做過遙感處理系統,處理中國的遙感儀器飛行記錄信號、參與法國 SPOT 衛星地面站系統研製等經歷,自然視他為專家。

不久,宮敏到大使館拿火車票,乘車前往,中途在莫斯科轉車,停留幾個小時,宮敏趁機跟幾位當地市民交談,看到這裡的市容和地鐵,對「老大哥」的現狀有些傷感。

在去芬蘭之前,研究所的領導跟宮敏溝通,由於這一走時間不會短,領導建議他辭職,宮敏答應了。忽然想到宮敏未滿三年的服務期,就說「等下,你三年的服務期還沒到。」

宮敏把當年的事跟領導說了一下,自己是兩年而非三年,隨後所裡開了所務會,核實之後確實有這麼回事,於是批准了。

工作之餘進修博士

工作之餘進修博士

在研究課題時,宮敏發現有人拿出了一個叫做 Linux 的核心,並在多人努力之下,做了一個 Distribution(名叫 SLS),宮敏安裝了 SLS,下載了核心源程式碼,實現了 IP 多播,研究課題順利推進。在此期間,宮敏研究了 GNU GPL V2,「覺得這個許可協議很好,中國可以利用 GPL 做很多工作。」

1989 年 9 月,赫爾辛基火車站,火車緩緩駛進站臺,隨著車門統一打開,車內旅客相繼走了出來,人群中一位俊朗的中國青年提著行李,沉穩地走出車廂,看到站臺上有人手舉一張紙,上面是他的名字,就過去打招呼,原來是芬蘭教育部派人前來接站,上車後就直接奔向離學校最近的外國專家公寓。

公寓裡的設備又好又齊全,可以做飯、洗澡,裡面有三個獨立臥室,大家共用廚房和洗手間,宮敏很喜歡。很快電話打來,校方告訴宮敏冰箱裡有早餐,宮敏打開一看,麵包、乳酪、火腿,東西還真不少。

校方說:「你先休息,明天我們會來看你。」

宮敏說:「我明天可以去學校看看。」

「那好,你來我們歡迎!」

當晚,宮敏就在自己的臥室安然睡下了。

伴隨芬蘭初冬遲到的晨光,宮敏醒來,開始奔赴新的生活。他吃了早飯,整理了一下就去了學校,終於見到了校方領導和同事,他們解釋了之前為什麼三個月才給到回覆,又給宮敏介紹了學校的特色。這裡的研究方向不少,宮敏想做什麼自己定。他選擇了分散式並行處理,這是自己的興趣所在。

上班後開始忙起自己的工作,同事們有問題會很客氣地請教他,宮敏就去幫忙,「都是些比較棘手的事,儘管棘手,我也都能解決。」時間長了難免會「過一過招」,由於是新人,他們就給宮敏來個下馬威,「你接住了就站住腳了,接不住,那以後有你好日子過了」。經過一番考驗,他們覺得宮敏有些本事。

在注意到宮敏沒有博士學位時,就建議他順便讀個博士,宮敏說可以。芬蘭的博士分兩級,第一級叫 Ph.D(Doctor of Philosophy),第二級叫做 Doctor of Science(科學博士),證書上寫做 Higher Doctor(高級博士)。

宮敏說:「我選第二級。」

對方接著說:「第二級需要通過考試來獲得資格,有一本《數字圖像處理》共二十二章,有兩種考法,一種是把這二十二章的內容做成一張考卷,你要用一天時間考完,這樣我們對你能有一個大概的了解;第二種是每章各出一張考卷,也是考一天,這種考法可以更深入地了解你,但會比較難。」

宮敏說:「選這個難的吧。」

「我不怕。後來考過第四章,他們說我們決定不考了,你 Pass 了。」

「為什麼?繼續考多有意思?」宮敏問。

「你前四章的考試不光答得都對,還有書裡沒有的東西,每一章考試你都答出了更深層的東西,所以我們認為沒必要考了。」對方回答。

讀博士也需要拿學分,出去開學術會議,投稿成功,發表文章、上課等都記入學分,「該做的都做了,沒覺得很困難,很不得了。」

宮敏的博士論文是一本專著,叫做 《Distributed parallel processing for photogrammetry and remote sensing》(分散式並行處理用於攝影測量學和遙感)。攝影測量學和遙感有大量的圖像資料要處理,直到現在,計算機都必須通過並行處理進行功能的增強和性能的改善,這是宮敏以前就實際遇到和處理的問題。學校也很驕傲,答辯時邀請了英國紐卡斯爾大學的教授來做 Opponent(質辯人)。

在芬蘭,高級博士在答辯前兩個星期,要在當地最大報紙上登訊息:誰,在哪年哪月哪日,在什麼地方,就哪個題目做科學博士論文答辯。這被視為一件大事,在報紙上看到這條訊息的人都可以來聽,且都有資格發問。「所以歷史上確實出現過委員會沒意見了,卻被社會聽眾問了問題。」

你要有充分的信心,才會公佈這件事。

芬蘭事件

芬蘭事件

駭客黑掉了宮敏的平行計算機群,一臺不剩,這讓他很不高興,火速進行了一場「保衛戰」。

1994 年夏天,宮敏休假結束回到學校,忽然發現自己的平行計算機群全部工作異常,經了解原來是駭客在對芬蘭的計算機進行大規模網路入侵(稱為芬蘭事件),這次入侵不僅針對 Linux,BSD 和學校的 AIX、HPUX、OSF1、Solarise 等計算機都未倖免。

宮敏認識到計算機並非是安全的,解決電腦保安性問題是分散式並行處理的前提,否則其他都無從談起。

宮敏把這個想法告知學校,學校支持並批准他使用原本用於研究並行處理的計算機,進行安全性研究。戰場就設在了宮敏的計算機,宮敏一旦發現有人正非法使用自己的計算機,就通過寫腳本來監視他們,發現異常後立即報警,如果他在場就人工監視並干預,如果打不過駭客就拔掉網線。

最後,宮敏繳獲了駭客工具的源程式碼,通過這些源程式碼,宮敏了解了他們入侵的方法。通過核心偵測出了駭客的入侵路徑,再根據預定的策略採取行動,做到了 100%成功防禦。這種安全方面的研究一直在持續。

1997 年,宮敏利用假期回國建設「中國自由軟體庫」,並開通「新聞組」進行問題討論和答疑,二者的完成獲得了極大成功。清華大學和中國科技大學都拉取新聞組,開展討論和答疑,從軟體庫中拉取感興趣的內容進行使用。討論和答疑活動在中國普及了自由軟體的概念和 Linux 作業系統,為後來的開源運動打下了堅實的基礎。

回國創業

回國創業

2004 年,《程式設計師》雜誌(《新程式設計師》前身)將宮敏同中文作業系統 CCDOS 開發者嚴援朝,金山軟體創始人之一求伯君,江民防毒軟體創始人王江民,UCDOS、聯眾公司創始人鮑嶽橋一起,譽為影響中國軟體開發的元勳。

1998 年,中國駐芬蘭大使館,宮敏和新華社駐赫爾辛基分社的同志聊起了近來的工作,他們鼓勵宮敏撰寫個人材料提交新華社,準備小範圍發表宮敏有關自由軟體的稿子。

此後,大家開始勸宮敏回國,包括大使先生和遠在家裡的父親,宮敏同意了。經過一年的收尾,宮敏於 1999 年年底結束了旅居生活,回到中國。

1999 年底,北京,宮敏來科學院相繼見了陳芳允、張孝祥和倪光南等院士,有些是父親的朋友,看到宮敏回來很是欣慰,不過前輩們不建議宮敏回科學院。陳院士說:「我覺得你不如以公司的形式為國家服務。我最大的願望是希望你把公司做成中國的貝爾實驗室。」

宮敏感嘆道:「您對我的要求太高了,這是要我的命啊!」

作為中國 Linux 第一人,宮敏質樸而敬業的精神被前輩們看在眼裡。「先輩有期望,我就往好的方向去做吧。」

宮敏不擅長經營公司,就有院士給他推薦合夥人,接觸之後,大家志同道合,彼此欣賞,就一起來做。

創辦公司後,宮敏的角色並沒有變,依然專供科研,合夥人負責找錢。「一件事從國家的角度來說是應該做的,我們就力所能及地替國家幹這件事」,團隊陸陸續續做過兩三個國家 863 課題,牽頭做過核高基課題,兩個國家發改委的項目。宮敏也很感謝合夥人和他找的那些資本,因為項目週期很長,很多資本是受不了的。

宮敏,攝於 2013 年

宮敏,攝於 2013 年

宮敏目前在公司主要做安全作業系統,面向的客戶也是電力、鐵路、電信等國家的核心部門,像國家電網遍佈全國的排程系統用的就是宮敏的公司提供的作業系統,「我們知道自己的責任,這個東西要出事可不得了。」他們通過自主的 Linux 核心安全模組,將系統的安全性實現了很大的提升。

問答

問答

劉韌:民間公司做安全作業系統的優勢在哪裡?

宮敏:從學術角度來講,作業系統並沒有太高的學術水平,因為都有標準在,而學術都是探討目前不存在的東西。

問題是有標準在,不一定有符合標準的東西在,既然美國、歐盟、中國等國家都有自己的標準,那我們就儘量參考所有相關標準,弄清各個標準的內在邏輯,把它融會貫通以後做出來。

劉韌:你覺得一個民間公司落實一件事情會更有效率,而科研單位會追求更高的科研水平,所以雙方追求的東西是不一樣的。一個公司它可能更務實,更願意做出可用或更好用的東西。

宮敏:對,科學院有些東西也很有實用性,可他服務的對象可能就是科學院和少數幾個單位。可能社會上對這種東西還沒有需求。

我們做的東西可能並沒有特別大的學術突破,但也不是一點學術都沒有,我們有學術和基礎,所以國家 863 計劃才能批准我們申請的課題。

劉韌:什麼叫做礦石收音機?

宮敏:最開始用的都是電子管,沒有電晶體,電子管很貴,輕易得不到。最早是外國人從一些礦石中發現,把礦石拿來,用一根針在上面輕輕觸碰,這些被觸碰過的地方就能讓直流電通過,這顆礦石就具備了檢波的作用。無線電波過來後,通過礦石用耳機就能聽見聲音了,就是廣播。

比較有名的叫做方鉛礦,方鉛礦是效果比較好的材質,最早、最便宜的收音機就是用礦石做檢波的收音機叫礦石收音機。

檢波的英文叫做 Detector,一般的廣播是調幅廣播,是把音訊調製在你的載波上面,載波的幅度高低是通過音訊來變的,這個是我們聽不見的。通過檢波可以把載波去掉,留下半邊的包絡線,這個過程叫做檢波,就是變成人能聽見的聲音。

最開始用礦石,後來就用晶體二極體,比礦石的效果要好得多,但大家仍然把它叫礦石收音機,因為它只有檢波,現在再找塊礦石都困難了。

劉韌:開源是怎麼一回事,對中國的意義是什麼?

宮敏:我只表達自己的觀點。實際上在理查德·馬修·斯托曼(Richard Matthew Stallman)看來,開源這個說法很不精確。2005 年,科技部委託我代表中國去柬埔寨暹粒市參加聯合國開發署亞太地區的開源論壇,會上有人播放了一段 Bruce Perens 的視訊,他是開源概念的提出者之一,談他是怎麼看開源和自由軟體關係的。

在那段視訊裡,Perens 說,在他看來這兩個東西大致是一個意思(More or less the same),只是開源的概念讓人更容易理解,這是否代表現在開源的普遍概念,也不一定,至少是 Perens 的一家之言。

鑑於他是開源這個詞的發起人之一,他的看法應該也有一定的代表性。要是按照 Perens 的說法,我們姑且認為開源軟體和自由軟體基本上就是一回事。另外,我也看到一些開源組織的統計資料,它們定義了一個開源的標準,在所有符合開源軟體標準的軟體當中,自由軟體大概佔了 60%以上,這樣是不是可以認為,自由軟體是開源軟體的一大組成部分。

實際上在很多基礎性、有代表性的開源軟體當中,基本上是自由軟體。作業系統、編譯器,甚至包括 FirmWare 韌體,都是以自由軟體的資訊形式存在的,儘管自由軟體是一個小集合,但它是開源軟體當中相當大的一部分,應該是超過 50%的。如果我們從基礎性來看的話,自由軟體應該是更重要一些。

我一直是認為我們國家最弱的不是你能玩出花來、短期能掙很多錢的上層應用,恰恰底層系統是我們最弱的部分,要加強我們的底層系統。自由軟體是一個非常好的學習對象,因為有自由的編譯器和工具鏈,包括 Linker、彙編器,這些東西包括作業系統 Kernel、Shell,和上面的 Utilities,這些東西構成了一個最基本的作業系統,那麼這些東西應該是以自由軟體為主的,雖然說有 BSD 那個更寬鬆的也不錯,你願意學也沒問題,但現在從活躍度上來說,最活躍的還是 GNU/Linux。

在活躍的情況下,你往往通過討論能學到很多東西,包括與人交流的方式,這個我覺得也是需要學習的。早年間我看到國內有人參加研討會,上來就說,我希望你能夠加入這個,加入那個,我覺得這個可能不是研討的方式,你憑什麼告訴別人他應該做什麼?正確的方式是,你要覺得這個事情很有必要,你就把它做了,然後拿出來討論,源程式碼也是對你開放的。

你可以做得不是太好,來徵求一下他人的意見是可以的。所以什麼是開源文化?是一幫人在一起應該怎麼互動,這些都是需要學習的。社區裡面也沒有那種,我是頭兒,你們都得聽我的,那憑什麼呀?你願意做什麼你倒是做呀,憑什麼讓我做呀?

這是我們所欠缺的文化之一。

另外,我剛回國的時候,教育部搞過一次 Linux 相關的教材的審定,也請我去,我說這個教材的審定可能不是我們幾個人坐在這兒拍拍腦袋就可以審的,這些教材有哪些學校用過?在教的過程當中有什麼經驗和教訓?它到底好在哪裡?這些也要考慮,所以可能不是先著急審定一批教材,而是讓大家把現有的教材先用起來,然後根據使用情況寫出文章,老師對這些書都會有評價的,把幾本不錯的書取長補短,來編一本是可行的。

你看自由軟體,包括開源軟體很多發展都是自下而上的,並不是誰下了一個任務,你給我做一個東西。

這些話我希望大家能聽進去,有很多事情我也是反覆講,很多年以後,我發現越來越多的人的說法,跟我的說法越來越像了,這個就是成功不必在我吧。

劉韌:為什麼開源在中國還沒有很好地開花結果?

宮敏:我可以用更積極的說法來講,應該是越來越好了,比如你去看 Linux Kernel 裡的貢獻者,國人的名字越來越多,所以我用積極的方式來說還是越來越好了,可能這個速度不像有些人期望得那麼快,可它畢竟在向前走。

二十幾年前,我說開源的時候,很多人都懷疑:「這個傢伙到底在說什麼?他是騙子吧?」現在已經不是這樣了。

從這個方面來看還是有些積極的進展,確實這個東西對很多人的價值觀,對社會構成、行為模式是有顛覆和衝擊的,要理解和接受它是有困難的,現在大家是在逐漸接受。

也有很多人說自由軟體就是各盡所能,各取所需。後來我跟斯托曼聊天,他也一直在強調自由軟體的關鍵不在開源,而在自由。

他還說很多的軟體公司實際上在做的是殖民主義在對人群進行分割(segregate),這樣不好,自由軟體的實質是讓大家團結一心,不能各打各的小主意。

所以我認為,我們是能學到不少東西的,把這些東西真正學到手,就像你念了很多書之後,可以自己寫書,在你自己的書裡,你可能引用其他書裡的話,只要在文中註明出處,這不影響它是你的作品,但你要是沒有這些修煉,你想一下子寫出一本好書來,恐怕不太可能。

要寫出好軟體,你就必須讀過很多好軟體。

劉韌:你怎麼評價 Linux 對世界的貢獻?

宮敏:我認為 Linux 的勝利是自由軟體的勝利,因為 Linus Torvalds 拿出他第一版 Kernel 的時候,許可證不是 GPL,很多人就勸他如果用這種方式許可的話,你的東西是不會有前途的,沒人跟你玩兒。

他聽勸之後就改成了 GNU GPL,事實表明這個決定是正確的,這也從一個側面反映出許可證的精神條款對你的東西能否發展、活躍的重要性。舉個例子,BSD 的條款比 GPL 條款要寬鬆很多,可是你也看到了極度的寬鬆,並不能使它很流行;極度的不寬鬆,也不一定能讓它很流行。從這個角度來看,斯托曼的 GNU GPL 把人性拿捏的比較好,所以與其說 Linux 的勝利,不如說是 GNU GPL 的勝利,是社區的勝利,組織方式的勝利。

☞開源重塑世界,CSDN攜手華為雲共育開發者成長沃土

☞盜版電子書網站 Z-library 被查封,國外大學生陷入瘋狂

☞瀏覽器上享受《速度與激情》,開發者花 16 個月用 JavaScript 造了一款駕駛遊戲,水裡也能開車!

相關文章

吳峰光殺進 Linux 核心

吳峰光殺進 Linux 核心

【編者按】吳峰光,Linux 核心守護者,學生時代被同學戲稱為「老神仙」,兩耳不聞窗外事,一心只搞 Linux。吳峰光的 Linux 核心之...

狠甩macOS,2022年成Linux桌面元年!

狠甩macOS,2022年成Linux桌面元年!

【CSDN 編者按】開源熱潮一直席捲全球,諸多網際網路大廠也在爭相擁抱開源,Linux 作為一款開源作業系統也愈發受到開發者的喜愛。在今年年...