蓋茨的這封信被后世認為是軟件產(chǎn)業(yè)的一個(gè)重要里程碑。
此后,軟件被理所當然地視為一種專(zhuān)利,是私有的,幾乎所有的軟件公司都開(kāi)始拒絕公布源代碼,商業(yè)軟件開(kāi)始大行其道。這種拒絕公開(kāi)源代碼的軟件,后來(lái)被稱(chēng)為“專(zhuān)有軟件”(Proprietary
Software)。比爾·蓋茨的聲明,引領(lǐng)了一場(chǎng)軟件商業(yè)化的大潮,也導致了專(zhuān)有軟件的盛行。
長(cháng)江后浪推前浪。在這個(gè)迅速崛起、瞬息萬(wàn)變的新生產(chǎn)業(yè)里,英雄輩出、各放光彩。這些英雄人物,不僅不拘于學(xué)歷,更不拘于權威和禁忌,他們傾聽(tīng)內心的聲音、服從理想的召喚。
比爾·蓋茨固然是一代英雄,但他很快就受到了挑戰。他的論斷——“沒(méi)有人能夠免費地從事專(zhuān)業(yè)性的開(kāi)發(fā)工作”、“軟件的開(kāi)發(fā)應該專(zhuān)有、應該封閉”,后來(lái)被事實(shí)證明是錯誤的。
新的挑戰者具有很強的理想主義色彩。他們反對專(zhuān)有、反對封閉、反對商業(yè)化,他們認為封閉性的軟件是一種自私、狹隘的做法,束縛了人類(lèi)的創(chuàng )造性,阻礙了軟件技術(shù)的傳播和交流;他們強調自由、強調開(kāi)放、強調創(chuàng )新,要求軟件開(kāi)發(fā)人員公開(kāi)原始代碼,認為這種公開(kāi)不僅能提高軟件行業(yè)的效率和效能,還有利于學(xué)習、交流和創(chuàng )造,為人類(lèi)社會(huì )貢獻最大的價(jià)值。
1983年,麻省理工學(xué)院人工智能研究所的一名資深程序員理查·斯托曼(Richard
Stallman)發(fā)起了著(zhù)名的GNU項目,目標是通過(guò)程序員之間自由的、志愿的協(xié)作,開(kāi)發(fā)一套自由的、開(kāi)放的操作系統,與定價(jià)銷(xiāo)售的專(zhuān)有操作系統抗衡。1985年,他又成立了自由軟件基金會(huì )(FSF),為GNU項目提供法律、經(jīng)濟和技術(shù)上的支持。這個(gè)不可思議的浩大工程,在1991年,因為另一位偉大程序員林納斯·托瓦茲(Linus
Torvalds)的突出貢獻,最后成功實(shí)現。
這個(gè)免費的操作系統就是現在大名鼎鼎的“Linux”。
從1990年代起,互聯(lián)網(wǎng)的普及更為轟轟烈烈的軟件自由運動(dòng)推波助瀾,這時(shí)候的開(kāi)放原始代碼,不僅意味著(zhù)在互聯(lián)網(wǎng)上公開(kāi)自己的代碼,還意味著(zhù)和分散在世界各地的程序員通過(guò)網(wǎng)絡(luò )進(jìn)行交流和協(xié)作。
1997年,埃里克·雷蒙(Eric
Raymond)出版了《大教堂與集市》,他在這本書(shū)中詳細地論述了開(kāi)放原始代碼的好處。他將傳統的從上至下進(jìn)行控制的軟件開(kāi)發(fā)方法比喻為“大教堂”,而通過(guò)互聯(lián)網(wǎng)上公開(kāi)分享自己的代碼,就好像把一件商品放在了集市之上,自由地讓別人瀏覽、評價(jià)。雷蒙總結道:
“足夠多的眼睛,將使所有的錯誤都無(wú)所遁形!
雷蒙認為,Linux的核心開(kāi)發(fā)人員林納斯·托瓦茲就是這種集市模式的首創(chuàng )者,他因此將以上結論稱(chēng)為林納斯定律(Linus'
Law)。
集市模式的關(guān)鍵,不僅在于開(kāi)放,更在于通過(guò)網(wǎng)絡(luò )的交流、分工和協(xié)作。它的提出,不僅對軟件開(kāi)發(fā)本身,甚至對互聯(lián)網(wǎng)時(shí)代的商業(yè)模式,都產(chǎn)生了深遠的影響。例如,維基百科就是按集市模式通過(guò)大眾自由協(xié)作而產(chǎn)生的,而網(wǎng)絡(luò )版的大英百科全書(shū)則是典型的大教堂模式。
隨著(zhù)越來(lái)越多的公司和個(gè)人采納了開(kāi)放源代碼的做法,1998年2月3日,主張開(kāi)放代碼和軟件自由的各路精英齊聚硅谷,為這場(chǎng)運動(dòng)正名,最后一致同意將這種發(fā)布代碼、其他程序員可以對其進(jìn)行自由修改并重新發(fā)布的做法稱(chēng)為“開(kāi)源”(Open
Source)。沒(méi)多久,一個(gè)新的公益組織開(kāi)源促進(jìn)會(huì )(OSI)誕生了,雷蒙擔任了首任主席,該組織很快為開(kāi)源軟件制定了十個(gè)標準,這些標準,獲得了全世界軟件行業(yè)的認同。
開(kāi)源,不僅意味著(zhù)以開(kāi)放的姿態(tài)進(jìn)行知識共享,還代表著(zhù)自由、平等、協(xié)作、責任和樂(lè )趣等等理念。