一、代码里的江湖:几个人,几万行汇编,一个时代
翻看九十年代的软件史,会发现一个今天几乎难以想象的事实:那些装机量动辄百万、深刻影响了一代人工作方式的软件,起初大多出自一个人或两三个人的手笔。没有敏捷开发,没有版本管理,甚至连一台像样的调试器都未必有——他们用最原始的汇编语言和C语言,在386、486的机器上,一行一行地把代码敲出来,然后装进软盘,推向市场。
那时候的程序员,既是产品经理,也是测试工程师,还常常兼任销售和客服。用户寄来的挂号信里夹着五块钱的注册费,他们就往用户手里寄一张新的软盘。软件出问题,电话打到家里,老婆孩子先接。这种近乎作坊式的开发方式,却诞生了一批比后来很多工业化产品都更耐用的软件。
当我再一次等待著作权登记证书下发的时候,我真的很想知道,三十年前他们的第一版软件发布时,究竟是什么样子。
二、那些软件,和它们身后的人
WPS:一间旅馆房间里写出的国民软件
1988年,求伯君把自己关在深圳的一间旅馆房间里,用128天时间,靠一台386电脑,用汇编语言敲出了十万行代码。WPS的初版就是这样诞生的。在那个还需要汉卡才能处理中文的年代,WPS做到了对中文的完美支持,蓝底白字的全屏编辑界面,四通打字机风格的菜单操作,很快占领了国内90%以上的市场份额。
今天打开WPS 1.0的界面截图,蓝底上一行行白色的汉字,朴素到近乎简陋。但这大概是中国软件史上最让人怀念的一个蓝色屏幕。求伯君后来把WPS的源码打印出来,摞起来有半人多高。早期的WPS没有著作权登记这一说,但求伯君凭着技术和口碑,获得了那个年代最珍贵的东西——用户的信任。

UCDOS:为英文软件提供中文环境与输入法
1991年前后,鲍岳桥推出了UCDOS 1.0。在这之前,想在一台没有汉卡的电脑上运行中文软件是件极其痛苦的事——内存不够,显示乱码,输入法挂不上去。UCDOS用极其精巧的内存管理技术解决了这些问题,甚至实现了“直接写屏”,让英文软件不需要任何改动就能完美显示和输入中文。
打开UCDOS的界面,你会看到DOS命令行底部那条小小的输入法提示行,它几乎不占什么内存,却撑起了一个完整的中文操作环境。这是一种极致的工程美学:用最少的资源,做最多的事。

中文之星:在Windows上架一座中文的桥
1992年,王志东写出了中文之星。那个年代大陆用户面对的Windows 3.x是全英文的,连菜单都看不懂。中文之星在屏幕顶端加了一条“链形菜单管理器”,把英文菜单实时翻译成中文。它还提供了一整套中文输入法和字处理工具。
中文之星1.0的界面上,那一条小小的工具栏就是中文计算的全部希望。王志东后来被称为“中国软件第一人”,但他最早的作品,只是为同胞架一座桥。

超级解霸:一个人对抗整个多媒体时代
1997年,梁肇新发布了超级解霸3.0——它没有1.0和2.0,直接就是3.0,这是中国程序员的版本编号方式,带着自信和谦逊。在那个没有独立显卡加速、CPU性能捉襟见肘的年代,梁肇新用纯软件算法实现了VCD的流畅播放。“防读死”技术让划痕累累的盗版碟也能顺利播放,这个功能几乎成了VCD时代的国民记忆。
打开超级解霸3.0的截图,那个深灰色的金属质感控制面板,进度条上那颗滑动的按钮,曾经安慰过多少等着看碟的人。梁肇新说,超级解霸的每一行代码都是他一个人写的。一个人,和整个多媒体时代正面交锋,还赢了。

KV300:软盘里的守护神
王江民38岁才开始自学编程,此前他是烟台一家仪器厂的工人,因为小儿麻痹症腿部残疾,没能上大学。1997年,他推出了KV300。在那个病毒主要通过软盘传播的年代,KV300的查毒界面是蓝底黄字的字符菜单,用键盘控制。它最革命性的一点是“开放式病毒库”——用户可以自己添加新病毒的特征码。这意味着每一次新的病毒爆发,用户不需要等厂商更新,自己就能动手防护。
KV300的软盘标签上印着王江民自己的名字和电话。一个瘸腿的中年人,用一张软盘和一部电话,守护了无数中国用户的数据安全。

CCED:财务人员的电子算盘
朱崇君在1989年写出了CCED 1.0。它是一个文字编辑器,却做了一件别人没想到的事:把表格和计算功能集成在一起。用方向键就能画表格,填上数字就能自动求和、求平均值。在财务软件还不普及的年代,CCED就是财务和统计人员的半个饭碗。
CCED早期界面和WordStar很像,但当你用手指在方向键上画出一个表格的时候,那种快感是今天任何一款电子表格软件都给不了的。

三、那些没有著作权的年代,他们拥有什么
回看这些软件的初版,会发现它们大多没有正规的著作权登记记录——1991年6月《计算机软件保护条例》才开始实施,而在此之前,中国的软件几乎处于无法可依的状态。那个年代的程序员,保护自己作品的方式只有三种:一是技术加密,二是用户的良心,三是软件加上自己的名字。
但很奇怪,恰恰是这个没有严密著作权保护的年代,诞生了最多被用户铭记的软件。求伯君说:“好的软件会自己走路。”WPS的软盘被用户一张张拷贝出去,版权标识被抹掉,但谁都知道那是求伯君的WPS。王江民的KV300被盗版到满大街都是,但用户的电脑中毒了,还是会想办法找到那张印着电话的软盘,因为只有它能救命。
这些软件的生命力,不完全来自法律保护,更来自它们和用户之间建立起的那一点朴素的信任。
四、一代人做一代事
九十年代结束了,互联网来了。这批第一代程序员有的转型成功,有的被时代落下,但他们留下的那些软件版本里,有一种今天很难再看到的东西:一个人,面对一台机器,用全部的智力,解决一个人们真正需要的问题。
他们写下的代码已经成为历史,但他们所代表的那种开发者的独立人格和技术上的孤勇,到今天依然让人动容。这也是我作为一个独立开发者,在等待自己的著作权登记证书下发的时候,最想从他们身上学到的东西。
一代人做一代事。但有些东西,不应该被忘记。
今天,当我们谈论软件著作权、谈论独立开发时,不该忘记这些在蛮荒年代用一行行代码开疆拓土的名字。他们是中国第一代程序员里的佼佼者:
求伯君、鲍岳桥、王志东、梁肇新、王江民、朱崇君。
他们留下的,不止是那些软件的初版截图,更是一种独立开发者的人格和孤勇。这份遗产,值得被每一行后来的代码所铭记。
潤沁雲樞—愈瞭解,愈信任!
夜雨聆风