中國開放源始碼技術潮向山寨複製發展

時間 :21:26 取得文章短網址

文章分類 : News

隨著互聯網的發展、開放標準的普及和虛擬化技術的應用等諸多 IT 新領域的創新及拓展,開放源始碼技術憑藉其開放性、低成本、穩定性、靈活性、安全性和技術創新性等特點迅速走向成熟,逐步發展成為一種主流模式,日益改變著全世界軟件產業的發展軌跡。

技術發展依賴於創新舉措。沒有那些脫離束縛的好想法,技術發展將停滯不前。與此同時,創新也促進了企業與社會的進步。那麼,甚麼地方的創新最多?不是 SUN,不是蘋果,不是 Google,不是 Microsoft? 正確答案應該是:開源社區。要說最具影響力的創新,也許不一定來自開源社區;但要從數量上論的話,開源社區無疑是最大的創新工廠。創新已逐漸成為一種產業,而工廠也正是「複製」的代名詞。

要進行 IT 技術的創新,最直接的方法莫過於去模仿那些成功的創新模式。國內的開源環境確實還一般,國內的公司普遍使用開源軟件,但大多都是拿來主義,修改優先,原創極少,甚至有些公司乾脆將剽竊稱為自己的原創。其實抄襲也沒甚麼,問題在於抄到的是皮兒還是餡兒:只抄到皮兒,那就是剽竊;抄到了餡兒,那就是觀摩學習後的昇華。為啥西天取經這種明顯的抄襲行為能流芳百世?一來人家玄奘在翻譯的同時標明了出處,二來人家做了再創作,加入了自己的見解,昇華了高度。

開源的發展離不開社區的發展,國內的開源社區已從最初的愛好者社區發展到具有開發、應用、服務功能的穩定社區。開源的發展離不開「奉獻」二字,我們對開源的直觀的認知,是一系列的開源軟件,比如 Linux,Apache,MySQL,PHP,python,Ruby 等等。而這些軟件的背後,大多是一個人或者幾個人是其核心的維護者。這正如開源中國社區創辦人張海龍說:「開源中國社區(oschina.net)一開始是個人興趣而做的。因為平時在開發過程中常常需要查找一些常用的開源軟件,用搜索引擎十分不方便,於是就自己開始建立開源軟件庫。後來慢慢加入了新聞,論壇,博客等功能,逐漸發展到現在這樣。」

國內開源的現狀是有較大數量的企業在積極的參與開源、貢獻開源,並不單純都是拿來主義。比如,豆瓣、淘寶等一些公司,紛紛把自己的一些項目開源出來。通過參與開源社區,企業可以與全球最優秀的開源人才、最優秀和龐大的開發團隊合作,第一時間分享開源最新的技術和理念,以最快的速度部署新的應用等。中國開發者不僅要做開放源始碼技術的實踐者,更要做貢獻者,應把自己的聰明才智反饋到社區中去,共同維護開源社區這樣一個非常良好的生態環境。

在中國的開源社區裡,有眾多的默默貢獻者,據中國「Duke 選擇獎」得主之一、ThoughtWorks 的資深程式員、首席諮詢師鄭曄說:「我個人一直熱衷於知識分享,從很小的時候,通過給別人講題,我就發現把知識分享出來,其實是幫助自己更好地理解。對於程式設計而言,源碼是最直接的知識分享,源碼面前無秘密。從一開始學習編程,我就喜歡到處找各種各樣的代碼來讀,學習各種各樣的編程技巧。所以,當我知道開源這個概念的時候,彷彿面前打開了一座寶庫,那是一種說不出的興奮。」

在深入這個領域之後,鄭曄的感觸就更深了:「從開源項目中,我學習到了很多東西。我現在還記得自己當年閱讀 SpringFramework 源碼的情形,那是我第一次在開源項目中發現了一個小問題,在郵件列表裡報告了這個問題。當我看到自己報告的問題被修復時,一種成就感油然而生。隨著自己經驗的增多,我就越來越希望能夠貢獻一些東西,用代碼的形式分享自己的知識,以自己的能力回饋社區,希望也有人能從我的代碼中有所領悟。獲取與奉獻,相輔相成,才能讓社區更蓬勃的發展,讓個體從中受益。」

在開發內部和外部應用程式時,企業越來越多地使用開源代碼,使用免費預構建的組件,而不用自行編寫代碼,能夠顯著縮短應用開發時間和提高軟件開發成功概率。

在開發應用程式時,開發團隊可以輕鬆使用上百種的開源庫、框架和工具,以及無數來自互聯網的代碼。開源已成為一種被普遍接受,並行之有效的商業模式。然而,企業在使用開放源始碼技術時,其中一個重要的考慮便是開源軟件的安全性。當提及這一問題時,張海龍向週刊記者介紹,開源中國今年推出了 git.oschina.net 源代碼託管平台,平台本身的安全性是通過加密、備份等技術手段解決的,開源項目的代碼審核都是由項目發起人自己完成的。

在託管執行環境中使用託管代碼及其編譯,可以避免許多典型的導致安全黑洞和不穩定程式的編程錯誤。同樣,許多不可靠的設計也自動的被增強了安全性,例如類型安全檢查,記憶體管理和釋放無效對象。程式員可以花更多的精力關注程式的應用邏輯設計並可以減少代碼的編寫量,這就意味著更短的開發時間和更健壯的程式。

越來越多的公司開始聚焦於大數據技術領域,而開源恰恰是大數據技術的靈魂。現在已經有了許多數據相關的開源項目和工具,例如眾所周知的 Hadoop。

現在最為欠缺的並不是數據分析的工具,更多的是怎樣把這些工具與實際的業務場景結合起來。很多人一想到大數據就會想到 Hadoop,但實際上,程式員需要根據自己的實際業務場景,選擇適合自己的工具。例如需要評估,是否需要實時分析,如果是,也許 Storm 是一個不錯的選擇;是否需要對單一記錄的處理,而不是分析,如果是,也許一些 NoSQL 就可以滿足需求。

ThoughtWorks 公司最近在做的就是這樣的探索,他們製作了一個大數據工具的全景圖,然後,幫助客戶分析其業務場景,看看客戶需要的大數據需求,屬於哪種類型,再結合全景圖以及客戶的技術棧推薦相應的工具及解決方案。

鄭曄認為,隨著大數據概念的發展,程式員們的技能需要更新,需要更好的熟悉這些工具,但最重要的是對於數據分析技術的熟悉。數據分析,這個原本對程式員很高深的詞彙,在未來一段時間,會變得隨處可見,甚至有可能成為程式員的基本功之一。

總之,使用開放源始碼技術的好處頗多。簡單來講,它有利於減少壟斷,減少某一個公司,或者幾個公司對業界壟斷性的管理和控制;非常有利於公平的競爭,進而催生大量的創新,並將之宣告世界,被眾人所接受。近年來,國內的一些大公司開始涉足開源,並努力營造一種開源文化。在這樣的氛圍中,對程式員是友善的,程式員在其中能得到更大的發展,更好地自我實現。

你可能會對以下文章有興趣:

Leave a Reply

Your email address will not be published.