《我十年的程序員生涯》系列之二:我賺的第一桶金
1989年8月,大二暑假,我和王全國(guó)合作寫(xiě)了我的第一個(gè)正式作品BITLOK 加密軟件,主要用來(lái)保護(hù)軟件的知識(shí)產(chǎn)權(quán),防止盜版的。當(dāng)時(shí),他畢業(yè)留校了,在校辦的一家電腦銷(xiāo)售公司工作,我們就是利用晚上和周末時(shí)間在他們公司的電腦上完成的產(chǎn)品研發(fā)。1991年我寫(xiě)了BITLOK第二個(gè)版本,1996年我在休假的時(shí)候?qū)懥薆ITLOK 3.0。后來(lái)BITLOK市場(chǎng)萎縮了,我就沒(méi)有再開(kāi)發(fā)了。
在當(dāng)時(shí),BITLOK小有名氣,不少知名的軟件公司購(gòu)買(mǎi)了我們的產(chǎn)品,比如用友、金山等。寫(xiě)B(tài)ITLOK的時(shí)候,沒(méi)有想過(guò)掙多少錢(qián),只是因?yàn)樽约合矚g。據(jù)王全國(guó)最近的回憶,寫(xiě)完BITLOK 0.99后,他把公司給50元的加班費(fèi)給了我。算起來(lái),這是我寫(xiě)B(tài)ITLOK掙的第一筆錢(qián)。沒(méi)有想到的是,后來(lái)BITLOK賣(mài)得還不錯(cuò),我們居然賺了上百萬(wàn)元。這是我人生賺的第一桶金。
附上我在1996年5月在BBS上寫(xiě)的關(guān)于BITLOK的開(kāi)發(fā)過(guò)程,紀(jì)念我十年的程序員生涯。
我寫(xiě) BITLOK 的這七年
1996年5月寫(xiě)于金山西點(diǎn)BBS
BITLOK 是我和朋友業(yè)余開(kāi)發(fā)的加密軟件。我參與開(kāi)發(fā)是從八九年開(kāi)始的,已有七載,BITLOK 也從最初的 0.99 版升到了現(xiàn)在的 3.0 版。對(duì)于人生旅程,七年不算長(zhǎng),但作為一個(gè)小產(chǎn)品的開(kāi)發(fā)來(lái)說(shuō),也不算短了。這七年里,我嘗遍一個(gè)產(chǎn)品開(kāi)發(fā)過(guò)程中的酸甜苦辣,借此文敘敘其中滋味。
八七年我上了武漢大學(xué)計(jì)算機(jī)系,從第一門(mén)計(jì)算機(jī)專業(yè)課開(kāi)始我就迷上了電腦,熱度遠(yuǎn)超過(guò)以前著迷過(guò)的集郵、圍棋等。自從學(xué)電腦后,我也似乎沒(méi)有了別的愛(ài)好,電腦成了我當(dāng)時(shí)生活中的唯一。我不再擁有宿舍里漫無(wú)邊際的侃山和圖書(shū)館里東逛西看的閑暇,也不再擁有晚自習(xí)的寧?kù)o和周末電影院的熱鬧,為了學(xué)電腦甚至不惜經(jīng)常逃課。
我學(xué)電腦是從“泡機(jī)房”開(kāi)始的。那個(gè)年代,計(jì)算機(jī)還沒(méi)有現(xiàn)在這么普及, 計(jì)算機(jī)系機(jī)房 PC 機(jī)全部不超過(guò)十五臺(tái),上機(jī)自然緊張。我的解決上機(jī)問(wèn)題的訣竅就是“泡”,每天呆在機(jī)房里磨蹭。我最好的運(yùn)氣就是別人不來(lái),有空的機(jī)器;如果有人不懂,我也可以借指導(dǎo)之機(jī)用一會(huì);實(shí)在不行,就坐一邊看看熱鬧。 “泡機(jī)房”也是一件很痛苦的事,有時(shí)候遇到不好說(shuō)話的機(jī)房管理員,死活就是不讓你進(jìn)去。一般想泡機(jī)房就必須提前一個(gè)小時(shí)去在門(mén)前排隊(duì),武漢的冬天是沒(méi)有暖氣的,非常冷,但機(jī)房里又必須穿拖鞋,我們機(jī)房旁邊就是一個(gè)風(fēng)口,在機(jī)房門(mén)前穿拖鞋等上一個(gè)多小時(shí)就已經(jīng)凍得直哆嗦,但我還是樂(lè)此不疲。后來(lái)我去得太頻繁,以至于后來(lái)機(jī)房管理員見(jiàn)著我,不問(wèn)有沒(méi)有上機(jī)票就往外轟。
學(xué)電腦的機(jī)會(huì)就是如此不容易,以至現(xiàn)在電腦隨便用的時(shí)候,玩游戲仍然覺(jué)得有點(diǎn)浪費(fèi)時(shí)間。
一、步入開(kāi)發(fā)旅程
剛開(kāi)始,我自嘲過(guò) BITLOK,謂之“雕蟲(chóng)小技”
大二的下學(xué)期,當(dāng)時(shí)想學(xué)的東西都學(xué)得差不多了,就有了一種特別強(qiáng)的表現(xiàn)欲望:可不可以寫(xiě)點(diǎn)什么軟件,讓大家都來(lái)用。當(dāng)時(shí)我認(rèn)為,在國(guó)內(nèi)做軟件,一定要掌握中文處理和加密這兩項(xiàng)最關(guān)鍵的技術(shù)。中文是中國(guó)軟件開(kāi)發(fā)的障礙,它使中國(guó)用戶不容易同步享受世界最新的軟件成果,同時(shí)也是中國(guó)軟件產(chǎn)業(yè)的天然壁壘,一個(gè)不是在漢文化環(huán)境中成長(zhǎng)起來(lái)的程序員很難突破這個(gè)壁壘,所以中文會(huì)保護(hù)中國(guó)軟件產(chǎn)業(yè),也是中國(guó)軟件的市場(chǎng)和希望所在。加密技術(shù)是產(chǎn)品銷(xiāo)售的保證,國(guó)內(nèi)盜版嚴(yán)重,不加密的軟件當(dāng)時(shí)沒(méi)有經(jīng)銷(xiāo)商愿意賣(mài)。
為了以后寫(xiě)軟件比較方便,我考慮寫(xiě)一個(gè)加密工具。八九年上半年,我寫(xiě)了一個(gè)雛形。后來(lái)這個(gè)雛形能夠成為產(chǎn)品,主要是我認(rèn)識(shí)了合作伙伴王全國(guó)。當(dāng)時(shí),天下居然有這樣的巧合,我在寫(xiě)加密軟件內(nèi)核的時(shí)候,他正在寫(xiě)加密軟件的界面,合作就成了很自然的事情。我們計(jì)劃花半個(gè)月的時(shí)候構(gòu)造一個(gè)實(shí)際可用的軟件。最后我們按時(shí)完成了計(jì)劃,我現(xiàn)在還清楚地記得完成的時(shí)間是1989年8月17日。
在這段合作中,工作量非常大,工作非常辛苦,一般要從工作到深夜二三點(diǎn),就合衣睡在沙發(fā)上,第二天別人八點(diǎn)上班,我們必須起床。半個(gè)月下來(lái),兩個(gè)人瘦了一大圈,臟衣服也累積了一大堆。有個(gè)禮拜天,我們從早上干到了傍晚,出門(mén)吃飯,見(jiàn)到了夕陽(yáng),當(dāng)時(shí)大家還開(kāi)了個(gè)玩笑:當(dāng)我們見(jiàn)到太陽(yáng)的時(shí)候,太陽(yáng)已經(jīng)下山了。
雖然我們這次開(kāi)發(fā)只用了半個(gè)月的時(shí)候,當(dāng)時(shí)我們決定沒(méi)有想到以后會(huì)堅(jiān)持開(kāi)發(fā)了七年。
產(chǎn)品做完后,我們非常激動(dòng),心想該為我們這個(gè)開(kāi)發(fā)組取個(gè)響亮上口的名字。以前看過(guò)一個(gè)電影,叫“神秘的黃玫瑰”,說(shuō)的是一個(gè)除暴安良的神秘人物,我們做加密軟件就是為了扼制盜版,所以借助這個(gè)故事,取名黃玫瑰。我們把產(chǎn)品取名 BITLOK,版本號(hào)設(shè)定為 0.99,因?yàn)檫@個(gè)產(chǎn)品距真正好的版本還有距離。
就這樣,BITLOK 0.99 誕生了。
這個(gè)版本不算成功,但激起了我開(kāi)發(fā)商品軟件的熱情和信心,接著開(kāi)發(fā)了幾個(gè)小產(chǎn)品。當(dāng)時(shí),我躊躇滿志,硅谷英雄的故事時(shí)時(shí)燃燒著我的胸膛,經(jīng)常夢(mèng)想著有一天能創(chuàng)建一個(gè)一流的軟件公司,滿世界都用我們的軟件,于是不太屑于開(kāi)發(fā)這些小產(chǎn)品。我自嘲過(guò) BITLOK,謂之“雕蟲(chóng)小技”。
二、重起爐灶
在快樂(lè)沒(méi)有人分享的日子里,我獨(dú)自完成了 BITLOK 1.0
北京是中國(guó)電腦業(yè)的圣地。畢業(yè)的時(shí)候,我對(duì)于去北京非常執(zhí)著,就象飛娥撲火一樣。我覺(jué)得,北京較之武漢,信息要靈通很多,市場(chǎng)也要大很多。當(dāng)其他同學(xué)選擇了深圳和廣州,講述那里的鈔票盛況的時(shí)候,我沒(méi)有絲毫的心動(dòng)。
滿懷著干一番大事業(yè)的心情,分到了一個(gè)研究所,參與很大項(xiàng)目。雖然工作在郊區(qū),工資很微薄,我也不曾在意過(guò),但一直找不到參與大項(xiàng)目的感覺(jué)。在那段時(shí)間,時(shí)間過(guò)得非常慢,慢得不知道如何打發(fā)。
這個(gè)時(shí)候,我認(rèn)識(shí)了蘇啟強(qiáng),當(dāng)時(shí)他是用友公司的副總經(jīng)理,他建議我繼續(xù)開(kāi)發(fā)加密軟件。就這樣,盡管我不愿意再開(kāi)發(fā)小產(chǎn)品,但沒(méi)有別的選擇,就繼續(xù)開(kāi)發(fā) BITLOK 新版。從開(kāi)發(fā)第一個(gè)版本到我大學(xué)畢業(yè),已經(jīng)過(guò)了兩年, 水平有了提高,回頭看看過(guò)去的產(chǎn)品,決定推倒重寫(xiě)。
這個(gè)時(shí)候再寫(xiě)軟件,比以前麻煩得多,白天要上班,雖然辦公室沒(méi)有多少事可干,但也不能干別的,周末還要到中關(guān)村會(huì)會(huì)朋友。這樣,我的時(shí)間只有周一到周五的晚上。那個(gè)時(shí)候,為了節(jié)約時(shí)間,我經(jīng)常用小時(shí)來(lái)安排晚上的日程表。有時(shí)如果完不成計(jì)劃就干通宵。干通宵雖然累,但也有某種精神上的安慰。每每凌晨的時(shí)候,萬(wàn)籟俱寂,而我一個(gè)人還在電腦前干活的時(shí)候,當(dāng)時(shí)有一種極大的精神鼓舞著我:我在用別人睡覺(jué)的時(shí)候干活。這個(gè)時(shí)候,嘈雜的電腦風(fēng)扇和敲鍵盤(pán)的聲音就成了悅耳的音樂(lè)。
干通宵最深刻的記憶是有次凌晨四點(diǎn),程序?qū)懲甑臅r(shí)候,存盤(pán)時(shí)死機(jī)了,把備份的文件寫(xiě)成了零字節(jié),而我第二天必須給人演示這個(gè)程序。我已經(jīng)不可能把整晚上的工作全部重寫(xiě),當(dāng)時(shí)我都呆了,不知道說(shuō)什么好。同宿舍的朋友醒了,幫我從硬盤(pán)里的第一個(gè)扇區(qū)找起,花了兩個(gè)小時(shí),全部找回來(lái)了。我那個(gè)朋友后來(lái)開(kāi)玩笑說(shuō)我當(dāng)時(shí)快哭出來(lái)了。
那個(gè)時(shí)候的辛苦由想可知,由于剛開(kāi)始工作,不好意思遲到,只能勉強(qiáng)自己少睡點(diǎn)。但我面臨的最大痛苦不是苦累,也不是報(bào)酬太低,而是快樂(lè)沒(méi)有人分享。每每我遇到一個(gè)難關(guān),不會(huì)有人幫忙解決;花費(fèi)很大的力氣解決的時(shí)候,高興得手舞足蹈,也沒(méi)有人分享!蔼(dú)樂(lè)樂(lè)不如與眾同樂(lè)”,在那段光陰,想“與眾同樂(lè)”都不可能,只有“獨(dú)樂(lè)樂(lè)”。這是多么悲哀!
在快樂(lè)沒(méi)有人分享的日子里,我終于完成了 BITLOK 1.0。
作為開(kāi)發(fā)產(chǎn)品,如果沒(méi)有用戶和朋友的支持,這是非?杀氖拢粋(gè)開(kāi)發(fā)者只有勇于寂寞、甘于寂寞,也可能開(kāi)發(fā)出好的產(chǎn)品。這個(gè)版本的軟件后來(lái)被不少軟件公司選用,如用友、超想、金山等等,BITLOK 加密后的軟件在超過(guò)一百萬(wàn)臺(tái)的計(jì)算機(jī)上使用過(guò)。這是最令我非常歡心鼓舞的事。
三、真正的商品軟件
軟件商品化,光有技術(shù)是不夠的
為了實(shí)現(xiàn)開(kāi)發(fā)大軟件的夢(mèng)想,我義務(wù)反顧地加盟了金山軟件,同時(shí)也邀請(qǐng)了過(guò)去的伙伴們一起加入。在開(kāi)發(fā)大型軟件(這個(gè)軟件就是后來(lái)的“盤(pán)古組件”中的一部分)之余,BITLOK 的開(kāi)發(fā)也只能是業(yè)余的。
在金山友愛(ài)的環(huán)境里,不少的同事協(xié)助我完成了不少工作,更值得提起的是,完成一個(gè)版本,同事就來(lái)試探解密,發(fā)現(xiàn)問(wèn)題再告訴我,我再完善,如此多次,最后才定型。BITLOK 1.2 就是依靠集體的力量開(kāi)發(fā)完成的。
這個(gè)時(shí)候 BITLOK 已經(jīng)是一套很完善的商品軟件,但從來(lái)沒(méi)有作為一套 真正的商品軟件在貨架上銷(xiāo)售過(guò)。BITLOK 從技術(shù)上講比較成熟了,但從市場(chǎng)上講,等于還是一個(gè)實(shí)驗(yàn)室的作品。九三年,有個(gè)朋友有興趣推銷(xiāo),我堅(jiān)持認(rèn)為 BITLOK 是一個(gè)業(yè)余產(chǎn)品。后來(lái)在這個(gè)朋友再三的勸說(shuō)下,BITLOK 才有機(jī)會(huì)擺在貨架上。這個(gè)朋友非常盡心,產(chǎn)品宣傳和技術(shù)服務(wù)都下了很大的功夫,BITLOK 很快就贏得了不少客戶。
BITLOK 在我們的技術(shù)加上這位朋友的宣傳和服務(wù),成為了一個(gè)真正的商品。如果一個(gè)產(chǎn)品沒(méi)有市場(chǎng)宣傳、銷(xiāo)售和售后服務(wù)等多項(xiàng)保證,就不是一個(gè)真正的商品軟件。如果沒(méi)有那個(gè)朋友非常下功夫的推廣,BITLOK 永遠(yuǎn)也成不了真正的商品軟件。對(duì)于這位朋友,我總存有很多感激之情。
顯然,軟件商品化,光有技術(shù)是不夠的。
四、承諾永恒
產(chǎn)品不僅屬于開(kāi)發(fā)者,更屬于用戶
以后幾年的開(kāi)發(fā)中,BITLOK 一直堅(jiān)持開(kāi)發(fā),出了一系列的版本,已經(jīng)有不少的用戶在使用,他們提出了不少好的建議,我們也堅(jiān)持把他們的意見(jiàn)綜合到產(chǎn)品中去。這樣,BITLOK 也更受用戶歡迎。從這里我得到一個(gè)結(jié)論,產(chǎn) 品是開(kāi)發(fā)者和用戶合作的產(chǎn)物,產(chǎn)品不僅屬于開(kāi)發(fā)者,更屬于用戶。如果說(shuō) BITLOK 比同類軟件好的話,就是在采納用戶意見(jiàn)方面。
BITLOK 已經(jīng)取得了一些成績(jī),但我們冷靜地分析過(guò)加密軟件的市場(chǎng),發(fā)現(xiàn)幾個(gè)方面的問(wèn)題:一、加密軟件只有開(kāi)發(fā)者才用,市場(chǎng)很小,整個(gè)市場(chǎng)每年不到一千套,作為業(yè)余興趣,還能接受,作為公司的開(kāi)發(fā)項(xiàng)目的話,并不合適;二、隨著軟件市場(chǎng)的繁榮,國(guó)內(nèi)有些軟件開(kāi)始試探不加密銷(xiāo)售的方法,這是軟件市場(chǎng)發(fā)展的趨勢(shì)。不少朋友認(rèn)為加密軟件不用做了。
我也非常困惑:到底還做不做?
不少知道我開(kāi)發(fā)加密軟件的朋友,經(jīng)常告訴我一些新的解密方法和解密工具,老用戶也在繼續(xù)打電話詢問(wèn)新版本的開(kāi)發(fā)情況和提出修改意見(jiàn)。這個(gè)時(shí)候,我感到了很大的壓力:產(chǎn)品也屬于用戶,不是我想停就可以停得了的。如果不能成為公司的開(kāi)發(fā)項(xiàng)目,那就繼續(xù)作為興趣開(kāi)發(fā)好了,只不過(guò)是我自己更辛苦點(diǎn)。不管什么說(shuō),BITLOK 還有很多用戶需要升級(jí)維護(hù)。至于未來(lái)市場(chǎng)的發(fā)展 來(lái)說(shuō),還有一個(gè)相當(dāng)長(zhǎng)的過(guò)程。再說(shuō),就是在美國(guó),還是有不少的專業(yè)加密軟件。
過(guò)去我一直認(rèn)為 BITLOK 是一個(gè)小產(chǎn)品,是憑興趣開(kāi)發(fā)。當(dāng) BITLOK 的背后有了這么多用戶的支持,我無(wú)法認(rèn)同自己以前的觀點(diǎn),這些用戶使我感到壓力,也多了很多責(zé)任感。不管有沒(méi)有經(jīng)濟(jì)效益,我決心寫(xiě)一個(gè)全新的 3.0,徹底解決過(guò)去用戶提出的各種問(wèn)題,讓過(guò)去的用戶有一次升級(jí)的機(jī)會(huì)。
今年來(lái),我一直希望有整塊時(shí)間來(lái)重寫(xiě)自己的程序,但自己的日常工作非常繁重。好不容易,才抽出幾個(gè)月的時(shí)間,在不少朋友的幫助下,重寫(xiě)了全部的代碼。
在原有的基礎(chǔ)上修修補(bǔ)補(bǔ),已經(jīng)不是辦法,在多年的修改過(guò)程中,BITLOK 已經(jīng)超過(guò)了三萬(wàn)行代碼。作為一個(gè)業(yè)余的程序,已經(jīng)不算短了,也很難修改。但全部重寫(xiě)自己的程序,又要有很大的勇氣。在原有經(jīng)驗(yàn)的基礎(chǔ)上,使用了一些突破的技術(shù),我還是花了很大的心血寫(xiě)完了 BITLOK 3.0。不管 BITLOK 3.0 寫(xiě)得如何,我盡心了。
我想,如果 BITLOK 還有人用,我就肯定會(huì)花時(shí)間來(lái)維護(hù);如果沒(méi)人用了, 也就到了“壽終正寢”的時(shí)候,我也該“洗手”了。
- 上一篇:我十年的程序員生涯
- 下一篇:“神秘鞋王”再當(dāng)首富
近日,丹麥著名鞋履品牌ECCO首家全球旗艦店于上;春V新823號(hào)正式開(kāi)幕。首家全球旗艦店的全新落成,對(duì)于品牌而言具有里程碑式的...
[詳細(xì)]- 奧康舒適無(wú)定式,陳偉霆推薦的雙11好物清單來(lái)了
- 城市守護(hù)計(jì)劃:奧康,用溫暖點(diǎn)亮城市之光
- 奧康步步為盈,陳偉霆化身都市行者
- 奧康國(guó)際:堅(jiān)守匠心追求“匠新” 3.0系列拿捏多種穿著場(chǎng)景
- CELINE 推出 Huntington 運(yùn)動(dòng)鞋
- 被N多明星種草的意爾康板鞋,看看你和誰(shuí)撞款了?