深層解讀開源軟件
從自由軟件到開源軟件,雷蒙德從概念和理論上清除了“開源”和“商業(yè)”之間的障礙,“開源軟件”可以進行商業(yè)化運作,“商業(yè)軟件”同樣也可以選擇“開源”。
“開源”的目的是方便知識共享,而商業(yè)化運作則是為了將停留在“知識”層面的軟件代碼與文檔轉(zhuǎn)變?yōu)椤败浖唐贰,從而使知識轉(zhuǎn)化為現(xiàn)實生產(chǎn)力。
對于個人用戶而言,他們更喜歡那些源碼開放的自由軟件,并不在乎軟件背后是否有正規(guī)的企業(yè)提供升級、打補丁等服務(wù),但是企業(yè)用戶卻不會為了便宜就信任一家隨時可能消失的軟件組織,享受免費的服務(wù)。
而要想深入理解自由軟件和開源軟件之間的區(qū)別,以及為什么開源軟件也可以進行商業(yè)化運作,就必須從軟件生產(chǎn)的本質(zhì)——“知識創(chuàng)新”談起。
知識創(chuàng)新可以分為兩個階段:研究與開發(fā)。研究階段的產(chǎn)物是純粹的知識,不是直接提供給用戶應(yīng)用,而是提供給研究人員自己,作為繼續(xù)開發(fā)的基礎(chǔ)。開發(fā)階段則是將研究成果加以商業(yè)化應(yīng)用,將其轉(zhuǎn)變?yōu)橛脩艨梢灾苯邮褂玫漠a(chǎn)品。
那么,按照這種劃分標準,軟件的源代碼應(yīng)該是研究階段的產(chǎn)物,因為它們本身不能被用戶直接應(yīng)用,還必須對源代碼進行編譯、連接、打包、部署,并輔以齊全的質(zhì)量保證措[創(chuàng) 業(yè)網(wǎng)www.390056.com]施與售后服務(wù),才轉(zhuǎn)變?yōu)橛脩艨梢灾苯邮褂玫能浖a(chǎn)品。
由此,構(gòu)思和編寫源代碼的過程可以看作是軟件的研究階段,而將源代碼轉(zhuǎn)變?yōu)檐浖⑻峤唤o用戶的過程可以看作是軟件的開發(fā)階段。
傳統(tǒng)的商業(yè)軟件公司將軟件的研究與開發(fā)完全置于內(nèi)部的創(chuàng)新模式之下,包括以下步驟:
編寫源代碼——申請軟件專利——將專利轉(zhuǎn)變?yōu)檐浖a(chǎn)品、服務(wù)。
而“自由軟件”則完全與之相反,軟件的研究與開發(fā)過程完全由松散的社區(qū)完成。
不難看出,傳統(tǒng)商業(yè)軟件和自由軟件是兩個極端。前者對知識的共享和相互借鑒有一定的妨礙作用,而后者則無法保證將知識轉(zhuǎn)化為商品。
而開源軟件則采取了折中方式,它將研究活動與開發(fā)活動進行分離,由不同的實體加以完成:由社區(qū)或志愿者進行研究活動,發(fā)布研究成果——源代碼。而商業(yè)公司繼續(xù)開發(fā)公開的源代碼,將源代碼轉(zhuǎn)變?yōu)檐浖a(chǎn)品與服務(wù),從中獲利。
這樣,既促進了知識的共享,同時又確保知識轉(zhuǎn)化為可靠的商品。社區(qū)成員可以借鑒并利用他人的研究成果,每個人都只需要貢獻自己微薄的力量便可產(chǎn)生“眾人拾柴火焰高”的[創(chuàng)業(yè)網(wǎng)www.390056.com]累積效應(yīng)。而企業(yè)將社區(qū)的研究成果轉(zhuǎn)變?yōu)楫a(chǎn)品,促進了社區(qū)的研究成果的應(yīng)用,反過來又可以為社區(qū)提供大量資金。社區(qū)與企業(yè)相互促進,形成了開源軟件不斷發(fā)展、創(chuàng)新的良性循環(huán)。
|