刘韧:宫敏把自由软件和 Linux 带回中国《新程序员》

宫敏把自由软件和 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 岁的宫敏

一次,幼儿园组织孩子们去四不要(中关村)礼堂演出,演完节目又呼呼地坐着卡车回来,中午“小演员们”美滋滋地吃了顿炸鱼,这对宫敏来说是最好的奖励了。

幼时关于吃的情节,总是耐人寻味。一天晚上,父亲说:“豆腐脑能增加蛋白质,爸爸带你去买豆腐脑,回来大家吃。”宫敏就跟着父亲点着灯,在豆腐脑摊位排起长长的队,买到后拿回家,有辣的和不辣的,宫敏不经意吃到一碗辣的,当时就被辣哭了,“这段印象真可爱!”

宫敏的好奇心也给生活平添了些插曲。一天,心理研究所的人员来幼儿园找孩子做实验,宫敏很好奇,就被叫去了,他们被带进一个小黑屋,头上装上电极,面前一盏红灯,扬声器里提出来各种问题,他们就一一回答。

周末回到家,他把这件趣事告诉家人,家人惊讶道,“拿我们孩子做什么实验?我得去心理所问问。”得知是做儿童心理实验,只是看看脑电图,这才放心。 学霸之家

早就掌握了识字能力的宫敏,一二年级就开始看小说了。

四五岁的时候,宫敏看见父亲在做一个放大器,就跑过去不停地问:“这是什么东西?”

“这个是电阻。”父亲说。

“那是什么东西?”“那个是电容。”

“这是什么东西?”“这是电子管。”

“这是什么东西?”“这是变压器。”……

这种儿时碎片式的学习,宫敏很早就开始了。

父亲经常给宫敏买儿童读物,有些是讲科学人物的图画书,像特斯拉、爱迪生、罗蒙诺索夫和祖冲之等,父亲有时也给他讲一讲,更多是看宫敏的意愿,“反正书在这,你自己看”,看宫敏对哪些方面感兴趣。

很快发现宫敏对无线电、物理更感兴趣,就开始多买这方面的书。宫敏有问题,父亲有时直接解答,有时说:“你看完这本书就知道了”,宫敏就去看书。

1953 年,父亲从武汉大学无线电学专业毕业,是新中国培养的第一批大学生,毕业后分配到了中科院地球物理研究所,由赵九章等几位老先生带他做一些项目。

1958 年,国家进行人造卫星预研,选了十多个科研人员组成研究小组,宫敏的父亲也入选了。

科学院有很多研究所,父亲主要是研制科学仪器,“没有仪器是做不了科学研究的,老爸和他的同事都热衷于做仪器。”

宫敏的母亲毕业于湖南长沙的湘雅医学院,是美国教会创办的高等医学教育机构。母亲很早就教宫敏认识 26 个英文字母,他学拼音时就学得非常轻松,“只是这个字母我们以前都念 A,怎么到这儿念 a(啊)?”。

宫敏的爷爷当年从安徽寒山县出来,去上海念了大学,在宫敏快上小学时患了半身不遂,不能说话,“他以前,会拿着一本线装书摇头晃脑地在那儿唱诗。”奶奶毕业于武汉大学中文系。 忽然没有学上

环境艰苦,“在这样的情况下谁去了都是没学上的。”生活中,宫敏一旦有不明白的,就去找书看或者问父亲。

1963 年宫敏读小学,1966 年全家搬到了陕西 112 大院,在秦岭的一个山沟边,这里是赵九章先生选点建设的三线单位,父亲和几位同事算先遣人员。

刚到这里,实验室的设备、用具还没到位,更难的是星期天只吃两顿饭。家里连饼干和馒头都没有,宫敏就和妹妹跑到食堂,工作人员忙说,现在没饭,要 9 点才有。两人饿得不行。

学校还没开起来,距大院约 5 公里还有个山沟,有个子午钟表厂,这里住的全是上海人,生活比较好,子弟学校已经开张了。宫敏就和伙伴们跑去旁听,跟上海小伙伴们一起玩儿,可还是比较远,不能每天去,“反正这段时间基本是没学上的”。

1967 年政策变了,宫敏跟随家人回到北京搞运动,三年级没怎么念的他,直接在中关村小学上了四年级,直到小学毕业。

“我不记得有太多事情发生,好像也没有什么考试。”回京后住在中关村,小伙伴的家人不是这个所的,就是那个所的,“都是在家听大人讲完,就来学校吹各种科学上的牛。”宫敏一旦有不明白的,就回去找书看或者问父亲。

这个时期也是父亲参与研制任务的关键期。父亲经常夜不归宿,宫敏有些实验做不通,就把实验现场留在桌子上,写一张纸条说明问题和现象,再去睡觉。早晨起来,还是不见父亲的人影,“桌上的纸条变成了老爸的指导意见,按照意见处置后,问题基本就解决了。”

不久,父亲负责研制的部分进入关键阶段。他提出利用国内所能提供的器件,满足总体设计要求创新性的技术方案,最终获得成功,圆满完成了任务。

少年宫敏和父亲

父亲总是把“多普勒效应”、“截止频率”、“参量放大器”、“阶跃二极管”等新名词挂在嘴边,宫敏不明就里。一次,父亲自言自语地说:“国内最好的晶体管的工作频率是 40 兆赫兹,200 兆赫兹怎么搞?”宫敏觉得父亲遇到了大的挑战,后来发现,正是父亲的方案和产品保证了第一颗卫星能被地面“跟得上”。 科学、音乐两不误

“没想到物理世界和音乐世界竟有着如此奇妙的联系!”

宫敏在北大附中表现一直不错,只是大家不轻易聊成绩。学校生活很丰富,他参加了校合唱团,时常排练,由于变声,从男高声部唱到了男生低声部。

一天,邻家来了位会拉小提琴的大哥哥,演奏水平很高,琴生深深打动了宫敏,很快,两人就成了好朋友。宫敏很想学小提琴,就开始跟父亲软磨硬泡,在向父亲承诺“不能三分钟热度,一定练到至少和邻居哥哥一样的水平”后,父亲才答应买个便宜的小提琴。

经过邻居哥哥的介绍,宫敏结识了住在磁器口的小提琴老师,老师同意每周为宫敏做一次专业指导。家里给买了月票,他每周四放了学就去磁器口学琴。

1970 年,宫敏在中关村北区花坛旁演奏小提琴

在老师的指导和自己的苦练下,宫敏的演奏水平提升很快,就这样,在科学之外,宫敏真正掌握了一门乐器演奏技巧。他的阅读范围也扩展到了和声学、音乐史、德奥音乐和俄罗斯音乐等,图书馆的《人民音乐》(过刊)杂志也成了他的阅读对象。有些小伙伴家里有唱片,宫敏就去造访、听音乐,也会把唱片借回家听。

为了高品质地欣赏唱片,宫敏开始研究、设计和制做高保真功放,让他增加了电子电路方面的知识和经验。通过音乐,对一些物理概念有了更加直观的感受,例如频率就是音高,波形就是音色(正弦波圆润乏味,方波刺耳,三角波又是不同的音色,偶次谐波比较悦耳,奇次谐波比较令人烦躁等),这一切变得越来越有意思了。

附中有个校办工厂,除了做广播用的扩音机,还做半导体(碳化硅的发光二极管),工厂是由宿舍楼改建的。后来得知,这些发光二级管是供北大设计建造的大型电子计算机(杨芙清院士的 150 机)使用。

科学院计算所要做晶体管电子计算机,学工要协助制造一大批晶体管,工序就是在一个直径 3-4 毫米的陶瓷片上,用小笔画三条银浆。银浆有很强的化学味道,宫敏很好奇,就弄了一些请叔叔阿姨辨别是什么东西,他们闻过之后说应该是丙酮。用丙酮做溶剂弄出三条墨绿色的线,就是银浆,在烘烤箱中把这些有机物烧掉后,金属银就呈现在上面了。三条绿线烧完以后就变成三条银线。宫敏他们就是画这三条银浆线,其他单位在这个有银薄膜的陶瓷片上造晶体管。

做完以后让大家去