隨著互聯(lián)網(wǎng)的發(fā)展、開放標(biāo)準(zhǔn)的普及和虛擬化技術(shù)的應(yīng)用等諸多IT新領(lǐng)域的創(chuàng)新及拓展,開源技術(shù)憑借其開放性、低成本、穩(wěn)定性、靈活性、安全性和技術(shù)創(chuàng)新性等特點(diǎn)迅速走向成熟,逐步發(fā)展成為一種主流模式,日益改變著全世界軟件產(chǎn)業(yè)的發(fā)展軌跡。
創(chuàng)新 開源之源泉
技術(shù)發(fā)展依賴于創(chuàng)新舉措。沒有那些脫離束縛的好想法,技術(shù)發(fā)展將停滯不前。與此同時,創(chuàng)新也促進(jìn)了企業(yè)與社會的進(jìn)步。那么,什么地方的創(chuàng)新最多?不是SUN,不是蘋果,不是Google,不是微軟正確答案應(yīng)該是:開源社區(qū)。要說最具影響力的創(chuàng)新,也許不一定來自開源社區(qū);但要從數(shù)量上論的話,開源社區(qū)無疑是最大的創(chuàng)新工廠。創(chuàng)新已逐漸成為一種產(chǎn)業(yè),而工廠也正是“復(fù)制”的代名詞。
要進(jìn)行IT技術(shù)的創(chuàng)新,最直接的方法莫過于去模仿那些成功的創(chuàng)新模式。國內(nèi)的開源環(huán)境確實(shí)還一般,國內(nèi)的公司普遍使用開源軟件,但大多都是拿來主義,修改優(yōu)先,原創(chuàng)極少,甚至有些公司干脆將剽竊稱為自己的原創(chuàng)。其實(shí)抄襲也沒什么,問題在于抄到的是皮兒還是餡兒:只抄到皮兒,那就是剽竊;抄到了餡兒,那就是觀摩學(xué)習(xí)后的升華。為啥西天取經(jīng)這種明顯的抄襲行為能流芳百世?一來人家玄奘在翻譯的同時標(biāo)明了出處,二來人家做了再創(chuàng)作,加入了自己的見解,升華了高度。娛樂圈里的模仿也是隨處可見,王菲、那英、劉德華、張學(xué)友等明星在形成個人風(fēng)格之前,都是從模仿開始。演藝明星和喜劇演員也從來不避諱自己的模仿技藝,小沈陽的走紅除了借助央視春晚這一平臺,他本人的模仿功力也是讓觀眾折服的重要因素。
奉獻(xiàn) 開源之動力
開源的發(fā)展離不開社區(qū)的發(fā)展,我國的開源社區(qū)已從最初的愛好者社區(qū)發(fā)展到具有開發(fā)、應(yīng)用、服務(wù)功能的穩(wěn)定社區(qū)。開源的發(fā)展離不開“奉獻(xiàn)”二字,我們對開源的直觀的認(rèn)知,是一系列的開源軟件,比如Linux,Apache,MySql,PHP,Python,Ruby等等。而這些軟件的背后,大多是一個人或者幾個人是其核心的維護(hù)者。開源中國社區(qū)聯(lián)合創(chuàng)始人張海龍?jiān)诮邮苤芸浾卟稍L時回憶說:“開源中國社區(qū)(oschina.net )一開始是個人興趣而做的。因?yàn)槠綍r在開發(fā)過程中常常需要查找一些常用的開源軟件,用搜索引擎十分不方便,于是就自己開始建立開源軟件庫。后來慢慢加入了新聞,論壇,博客等功能,逐漸發(fā)展到現(xiàn)在這樣。”
國內(nèi)開源的現(xiàn)狀是有較大數(shù)量的企業(yè)在積極的參與開源、貢獻(xiàn)開源,并不單純都是拿來主義。比如,豆瓣、淘寶等一些公司,紛紛把自己的一些項(xiàng)目開源出來。通過參與開源社區(qū),企業(yè)可以與全球最優(yōu)秀的開源人才、最優(yōu)秀和龐大的開發(fā)團(tuán)隊(duì)合作,第一時間分享開源最新的技術(shù)和理念,以最快的速度部署新的應(yīng)用等。中國開發(fā)者不僅要做開源技術(shù)的實(shí)踐者,更要做貢獻(xiàn)者,應(yīng)把自己的聰明才智反饋到社區(qū)中去,共同維護(hù)開源社區(qū)這樣一個非常良好的生態(tài)環(huán)境。
在中國的開源社區(qū)里,有眾多的默默貢獻(xiàn)者,究竟是一股什么力量吸引他們愿意跟人分享交流經(jīng)驗(yàn)技術(shù)?為此,周刊記者采訪了中國“Duke選擇獎”得主之一、ThoughtWorks的資深程序員、首席咨詢師鄭曄,他表示:“我個人一直熱衷于知識分享,從很小的時候,通過給別人講題,我就發(fā)現(xiàn)把知識分享出來,其實(shí)是幫助自己更好地理解。對于程序設(shè)計(jì)而言,源碼是最直接的知識分享,源碼面前無秘密。從一開始學(xué)習(xí)編程,我就喜歡到處找各種各樣的代碼來讀,學(xué)習(xí)各種各樣的編程技巧。所以,當(dāng)我知道開源這個概念的時候,仿佛面前打開了一座寶庫,那是一種說不出的興奮。”
在深入這個領(lǐng)域之后,鄭曄的感觸就更深了:“從開源項(xiàng)目中,我學(xué)習(xí)到了很多東西。我現(xiàn)在還記得自己當(dāng)年閱讀SpringFramework源碼的情形,那是我第一次在開源項(xiàng)目中發(fā)現(xiàn)了一個小問題,在郵件列表里報告了這個問題。當(dāng)我看到自己報告的問題被修復(fù)時,一種成就感油然而生。隨著自己經(jīng)驗(yàn)的增多,我就越來越希望能夠貢獻(xiàn)一些東西,用代碼的形式分享自己的知識,以自己的能力回饋社區(qū),希望也有人能從我的代碼中有所領(lǐng)悟。獲取與奉獻(xiàn),相輔相成,才能讓社區(qū)更蓬勃的發(fā)展,讓個體從中受益。”
開源安全 撥云見日
在開發(fā)內(nèi)部和外部應(yīng)用程序時,企業(yè)越來越多地使用開源代碼,使用免費(fèi)預(yù)構(gòu)建的組件,而不用自行編寫代碼,能夠顯著縮短應(yīng)用開發(fā)時間和提高軟件開發(fā)成功概率。
在開發(fā)應(yīng)用程序時,開發(fā)團(tuán)隊(duì)可以輕松使用上百種的開源庫、框架和工具,以及無數(shù)來自互聯(lián)網(wǎng)的代碼。開源已成為一種被普遍接受,并行之有效的商業(yè)模式。然而,企業(yè)在使用開源技術(shù)時,其中一個重要的考慮便是開源軟件的安全性。當(dāng)提及這一問題時,張海龍向周刊記者介紹,開源中國今年推出了 git.oschina.net 源代碼托管平臺,平臺本身的安全性是通過加密、備份等技術(shù)手段解決的,開源項(xiàng)目的代碼審核都是由項(xiàng)目發(fā)起人自己完成的。
在托管執(zhí)行環(huán)境中使用托管代碼及其編譯,可以避免許多典型的導(dǎo)致安全黑洞和不穩(wěn)定程序的編程錯誤。同樣,許多不可靠的設(shè)計(jì)也自動的被增強(qiáng)了安全性,例如類型安全檢查,內(nèi)存管理和釋放無效對象。程序員可以花更多的精力關(guān)注程序的應(yīng)用邏輯設(shè)計(jì)并可以減少代碼的編寫量,這就意味著更短的開發(fā)時間和更健壯的程序。
開源助力大數(shù)據(jù)精進(jìn)
越來越多的公司開始聚焦于大數(shù)據(jù)技術(shù)領(lǐng)域,而開源恰恰是大數(shù)據(jù)技術(shù)的靈魂?,F(xiàn)在已經(jīng)有了許多數(shù)據(jù)相關(guān)的開源項(xiàng)目和工具,例如眾所周知的Hadoop。
現(xiàn)在最為欠缺的并不是數(shù)據(jù)分析的工具,更多的是怎樣把這些工具與實(shí)際的業(yè)務(wù)場景結(jié)合起來。很多人一想到大數(shù)據(jù)就會想到Hadoop,但實(shí)際上,程序員需要根據(jù)自己的實(shí)際業(yè)務(wù)場景,選擇適合自己的工具。例如需要評估,是否需要實(shí)時分析,如果是,也許Storm是一個不錯的選擇;是否需要對單一記錄的處理,而不是分析,如果是,也許一些NoSQL就可以滿足需求。
ThoughtWorks公司最近在做的就是這樣的探索,他們制作了一個大數(shù)據(jù)工具的全景圖,然后,幫助客戶分析其業(yè)務(wù)場景,看看客戶需要的大數(shù)據(jù)需求,屬于哪種類型,再結(jié)合全景圖以及客戶的技術(shù)棧推薦相應(yīng)的工具及解決方案。
鄭曄認(rèn)為,隨著大數(shù)據(jù)概念的發(fā)展,程序員們的技能需要更新,需要更好的熟悉這些工具,但最重要的是對于數(shù)據(jù)分析技術(shù)的熟悉。數(shù)據(jù)分析,這個原本對程序員很高深的詞匯,在未來一段時間,會變得隨處可見,甚至有可能成為程序員的基本功之一。
結(jié)語
總之,使用開源技術(shù)的好處頗多。簡單來講,它有利于減少壟斷,減少某一個公司,或者幾個公司對業(yè)界壟斷性的管理和控制;非常有利于公平的競爭,進(jìn)而催生大量的創(chuàng)新,并將之宣告世界,被眾人所接受。
近年來,國內(nèi)的一些大公司開始涉足開源,并努力營造一種開源文化。在這樣的氛圍中,對程序員是友善的,程序員在其中能得到更大的發(fā)展,更好地自我實(shí)現(xiàn)。
未來,如果能有更多關(guān)于開源的報道和活動,給更多開源項(xiàng)目和開源人曝光的機(jī)會,那么開源技術(shù)也就沒有想象中的那么高不可攀了,開源會逐漸從IT行業(yè)的創(chuàng)新工具變成普通民眾的日用品。