再論開(kāi)放源代碼
2001年7月23日,全球IT行業(yè)的目光投向了美國(guó)的圣迭戈,一年
一度的全球最大規(guī)模的全球開(kāi)放源代碼大會(huì)在這里隆重召開(kāi)。為什么本次大會(huì)引起如此多人的重
視?因?yàn)檫@次的大會(huì)出現(xiàn)了一個(gè)極其著名的面孔,也是開(kāi)放源代碼自認(rèn)為最強(qiáng)的對(duì)手──微軟。微
軟從某種方面來(lái)說(shuō)是不支持開(kāi)放源代碼的代表,大家都想聽(tīng)一聽(tīng)微軟的聲音,以此引起對(duì)開(kāi)放源代
碼的重新認(rèn)識(shí)。在會(huì)上,微軟的代表——微軟先進(jìn)策略部高級(jí)副總裁Graig Mundie發(fā)表了外交詞
令的講話:開(kāi)放源代碼對(duì)促進(jìn)全球軟件和信息技術(shù)行業(yè)的快速發(fā)展是很有益處的,我們將極其珍視
這個(gè)優(yōu)點(diǎn),并在將來(lái)的商業(yè)策略中加以運(yùn)用,但是關(guān)于源代碼的GPL授權(quán)方式我們目前還看不到它
對(duì)軟件企業(yè)發(fā)展的好處。這個(gè)觀點(diǎn)在會(huì)上也得到一部分人的認(rèn)同,甚至在Linux領(lǐng)域取得矚目成績(jī)
的某公司負(fù)責(zé)人也對(duì)微軟的觀點(diǎn)表示贊同:GPL可能會(huì)制約軟件公司的發(fā)展,也許我們需要一種更
加靈活的即能開(kāi)放源代碼又同保證提供源代碼公司利益的許可方式。這次的討論一直在比較溫情和
理性的氣氛中進(jìn)行,但要取得一致的觀點(diǎn)恐怕有點(diǎn)過(guò)于樂(lè)觀,但兩大陣營(yíng)能做到一起并進(jìn)行積極的
探討,畢竟讓人感到一絲希望。什么是開(kāi)放源代碼?這個(gè)問(wèn)題很簡(jiǎn)單,就是指源代碼公開(kāi)的軟件,
將軟件的源代碼放在網(wǎng)上供下載或者可以低廉的價(jià)格買(mǎi)到?!霸创a公開(kāi)”是爭(zhēng)論的焦點(diǎn),支持的
一方羅列了許多源代碼公開(kāi)的益處如加快開(kāi)發(fā)速度、減少軟件中的BUG、使軟件更加完美等等,而
反對(duì)的一方卻抱出了“知識(shí)產(chǎn)權(quán)”的大旗,不利于行業(yè)的發(fā)展,缺少了軟件研發(fā)的后續(xù)資金。從客
觀上來(lái)說(shuō),兩者都有各自的道理,并且說(shuō)的都是事實(shí)。于是微軟采取一種折衷的方法:只在合作伙
伴中開(kāi)放源代碼。微軟的這種做法確實(shí)有其可取之處,并比較務(wù)實(shí),但開(kāi)放源代碼的支持者卻對(duì)微
軟的這種做法抱有不滿意的態(tài)度,希望微軟的“步子邁得再大一點(diǎn),思想再解放一點(diǎn)”,開(kāi)放源代
碼的支持者的這種做法可能有失偏頗,一味強(qiáng)調(diào)過(guò)度開(kāi)放源代碼,在現(xiàn)在盜版泛濫的時(shí)代,擁有源
代碼的公司如何得到回報(bào),沒(méi)有回報(bào),就沒(méi)有進(jìn)一步研發(fā)資金,軟件的發(fā)展從何而來(lái)。對(duì)于這些問(wèn)
題,開(kāi)放源代碼的支持者認(rèn)為通過(guò)Internet讓全球的所有軟件開(kāi)發(fā)者共同進(jìn)行開(kāi)發(fā),進(jìn)一步的開(kāi)
發(fā)可以不再需要擁有“種子代碼”公司的參與,所以不涉及資金的再追加問(wèn)題,而且后續(xù)的開(kāi)發(fā)由
于全球的高級(jí)程序員的共同協(xié)作,肯定開(kāi)發(fā)出的軟件比單個(gè)公司開(kāi)發(fā)出的要好得多。這種想法因?yàn)?br />有Linux樹(shù)立了一個(gè)杰出的榜樣,所以成為開(kāi)放源代碼一個(gè)有力的證據(jù),但總讓人感到一種理想主
義與無(wú)政府主義。開(kāi)放源代碼的支持者給我們描繪了一幅軟件開(kāi)發(fā)美妙的過(guò)程:某公司提供種子源
代碼→放在網(wǎng)上→任何個(gè)人和企業(yè)都可修改、復(fù)制、散發(fā)→放在網(wǎng)上,這種過(guò)程一直循環(huán)下去,最
后由微小的“種子源代碼”得到規(guī)模很大的很成熟很完美的“最終軟件”。關(guān)鍵的問(wèn)題是:由小到
大誰(shuí)來(lái)組織,從“種子源代碼”開(kāi)始也許會(huì)發(fā)展成為各種各樣的“最終軟件”,沒(méi)有一個(gè)統(tǒng)一的標(biāo)
準(zhǔn),軟件與硬件的結(jié)合又成了一塊頭痛事,這件事在Linux本身也得到驗(yàn)證:一下子出現(xiàn)了很多種
Linux,讓普通用戶感到無(wú)所適從。舉個(gè)例子,Windows2000的開(kāi)發(fā)到底化費(fèi)了多少人力、物力與
財(cái)力,恐怕超出一般人的想象;再說(shuō)編寫(xiě)代碼并不是像寫(xiě)小說(shuō)一樣容易,依靠單個(gè)人的思索可以隨
心所欲虛構(gòu)任意的情節(jié),它里面含有很高的軟件開(kāi)發(fā)技術(shù),必須由很多人協(xié)同工作來(lái)克服軟件開(kāi)發(fā)
過(guò)程中的技術(shù)難題,所以不管如何軟件開(kāi)發(fā)都需要公司的參與。這時(shí)一系列問(wèn)題出現(xiàn):公司如何維
持,軟件開(kāi)發(fā)人員如何取得報(bào)酬?開(kāi)放源代碼的支持者給我們描述的是一個(gè)軟件開(kāi)發(fā)中的理想的共
產(chǎn)主義社會(huì):由于Internet的普及,人們很容易下載開(kāi)放源代碼軟件,很容易把開(kāi)發(fā)、改進(jìn)的新
成果上網(wǎng)交流,而且便于品頭論足,這樣就使軟件的開(kāi)發(fā)由過(guò)去集中在專門(mén)的機(jī)構(gòu)里進(jìn)行變?yōu)榉稚?br />在網(wǎng)絡(luò)上由許許多多獨(dú)立的開(kāi)發(fā)者協(xié)作完成,這種分散開(kāi)發(fā)的方式可以調(diào)動(dòng)更多人的積極性,發(fā)揮
更多人的創(chuàng)造性,而且受到更多人的實(shí)踐檢驗(yàn),因而能夠更快地完成和完善。不僅比傳統(tǒng)方式開(kāi)發(fā)
的軟件更為穩(wěn)固,而且能夠獲得更多的支持和更快的更新。開(kāi)放源代碼在許多方面的表現(xiàn)像自由市
場(chǎng)經(jīng)濟(jì)或自然生態(tài)系統(tǒng)的機(jī)制。在這里人們各自從自己的利益出發(fā),巧妙而有效地修正開(kāi)發(fā)的程
序。在開(kāi)發(fā)Linux之初,其開(kāi)創(chuàng)者Linus發(fā)揚(yáng)了無(wú)私無(wú)畏的精神把Linux的內(nèi)核采用GPL授權(quán)模式無(wú)
償?shù)鼐璜I(xiàn)出去,最終按照上面的理想狀態(tài)成就了Linux。但這時(shí)就有兩點(diǎn)要注意:1、在現(xiàn)在這個(gè)
競(jìng)爭(zhēng)激烈的時(shí)代,誰(shuí)能保證每個(gè)公司和個(gè)人都不保持自己的“秘密武器”,毫不保留地奉獻(xiàn)出去;
2、在后來(lái)開(kāi)發(fā)與完善Linux的過(guò)程中,微軟成了公眾的敵人,有了共同的靶子與敵人,就如第二
次世界大戰(zhàn)一樣是三個(gè)侵略國(guó)家使全世界被侵略國(guó)家聯(lián)合起來(lái),遍布世界各地的自由開(kāi)發(fā)人士才組
合起來(lái)挑戰(zhàn)微軟,但一旦失去了共同的敵人,開(kāi)放源代碼還會(huì)這樣做嗎?不可否認(rèn),開(kāi)放源代碼支
持者給我們描述的全球開(kāi)發(fā)模式確有其先進(jìn)美妙的一面,但究竟能否永久確實(shí)讓人懷疑。因?yàn)?br />Linux的出現(xiàn)確有其歷史背景:大家都看不慣微軟的壟斷,在微軟強(qiáng)大的大壓力之下,Linux確實(shí)
得到許多受微軟氣的大公司的支持,如IBM、Compaq、Sun等等,后來(lái)Linux中許多杰出的功能都
是由這些大公司開(kāi)發(fā)的,為了挑戰(zhàn)共同的敵人,他們心甘情愿地奉獻(xiàn)出來(lái)才成就了今天的Linux。
如果沒(méi)有微軟,他們還會(huì)這么慷慨嗎?從某種方面來(lái)說(shuō),是微軟成就了Linux。馬克思?jí)粝胫械墓?br />產(chǎn)主義“各盡所能、各取所需”近百年過(guò)去了,到現(xiàn)在也沒(méi)有實(shí)現(xiàn)的跡象,因?yàn)橛袀€(gè)人的與集體的
私心在作怪,軟件開(kāi)發(fā)領(lǐng)域中的“共產(chǎn)主義模式”──開(kāi)放源代碼果真就能成功嗎,我有點(diǎn)懷疑,
但我仍然祝福這種模式能夠?qū)崿F(xiàn),如果真能永久這樣,確實(shí)是人類之福。
(摘自計(jì)算機(jī)世界)