對中國開源現狀有些認識的人,必定會以爲如今中國的開源發展正在一條「動車軌道」上,幾年時間就有成百上千的開源項目進入人們的視野,特別是不少有商業背景或者有政府背景(即政府採購)更被認爲是中國開源的種子選手。 每一年中國的開源軟件促進會(COPU)都會舉辦「開源中國,開源世界」的主題研討會和相關活動,吸引國內外衆多的開源開發者和相關企業。 可是一樣也要看到,雖然開源項目數量衆多,可是不少項目卻很短命,幾年時間便銷聲匿跡,其中有一些曾經甚是輝煌,但最終由於種種緣由再也沒有繼續。本文力求以最通俗的方式來探討和思考中國開源的生態環境。程序員
數量繁多的國產開源項目僅以開源中國網站上天天的統計數據來看,截止到2012年9月20日,總共有1254個國產開源軟件,而且這個數字還在以天天3~4個數量快速增加!雖然數量上與人口來講所佔比例極小,可是短期內的飆升也確實看到中國開源的迅猛勢頭。 另外,特別是最近不少傳統非開源企業背景的項目相繼問世,好比淘寶旗下的諸多產品,百度的開源編輯器等等,這些項目多以基於Web的前臺開發爲主,顯示出企業應用的一個方向和發展。 還有是由政府出資(政府採購)的項目,以開源的名義,好比龍芯的一些產品等。另外好比北京海淀區大力支持開源硬件等。 全部這些項目加在一塊兒數量絕對超過1萬個(並且仍是最保守的估計)!如此繁多的開源項目,其生命期又是如何呢?網絡
小衆愛好仍是大衆口味?國產的開源項目大體能夠簡單分紅兩類,「小衆愛好型」和「大衆口味型」,固然除了這兩種主要類型還有一些好比商業需求的,可是數量比較少不在討論之列。爲什麼要如此分類,由於不一樣的類別直接決定了開源項目的生命期長短,固然這種分類方法每每有些問題,可是不影響分析。 小衆愛好型的生命期通常比較短,隨着愛好者和主要開發者的興趣轉移,這類項目基本難覺得繼,舉個例子:Ubuntu 小熊貓Ailurus 曾經是一個和Ubuntu Tweak齊名的Linux系統修改以及個性化軟件,自從支持到Ubuntu 10.10版本之後,就再也沒有新的發展,也沒有其餘開發者繼續完善了。 那麼大衆口味的就必定生命期很長麼?其實也不必定,可是生命期仍是略長於那些只是依賴於核心開發者的小衆愛好型的。仍是舉個例子:好比星際譯王(Stardict)是一個在中國開源界舉足輕重的一款著名軟件,幾乎每一個用Linux的都知道這款軟件,它極其方便的辭典和翻譯功能讓你們很是喜歡,也有基於這個項目發展出來的其餘項目(大多不知名或最終沒有繼續)。從各個方面來講,星際譯王是絕對的是符合大衆口味的。可是,隨着其主力開發者的一些我的變故,這個項目如今也處於停滯狀態,更由於沒有創建大衆化的開發者社區,而面臨維護的困境。編輯器
商業支持、政府扶持仍是社區支持?那麼如何才能支持和維繫開源項目呢?目前主流的有三種類型,商業支持、政府扶持和社區支持。商業支持比較有名的好比Red Hat紅帽,在中國好比那些淘寶的程序員開發的一些優秀的開源項目;政府扶持比較有中國特點,好比中科紅旗Linux旗下的所謂「社區發行版」QomoLinux;社區支持的在國產開源項目中並很少見,比較成功的是Linux Deepin發行版,雖然其背後主要是由公司開發,可是其根基仍是社區基礎的。 商業支持勢必以商業利益爲重,一旦再也不符合其商業利益發展,開源項目每每會進入到處掣肘的境地,最終每每也沒有善終。國外比較典型的是Orcale收購SUN以後openOffcie最後變成了徹底自由的社區版Libreoffice,國內這種狀況還沒明顯的出現,不舉例。 政府扶持做爲天朝最有特點的一種開源項目,雖然數量很少,可是其產生的爭議和議論倒是很是多的,固然也不乏一些頗有潛力的開源項目,只是因爲被罩上了「政府採購」的魔咒而早早夭折,甚是惋惜。另外CSIP(工業和信息化部軟件與集成電路促進中心)也在促進OSS的開發和推動,這也是政府背景支持的一種。 社區支持的國產開源項目比較少,影響力像Deepin這樣比較大的也並不太多,可是在中國開源的真個發展進程中的做用卻很大,由於公司會倒,政府的政策會轉向,社區不太容易撤銷,特別是這種基於網絡虛擬的更容易組織和完善。ide
開源生態系統說來講去仍是回到這個開源生態系統的說法裏來了,一個開源項目能夠存活須要開發者、維護者、推廣者、用戶構成一個完整的通力配合的系統。商業項目中開發維護甚至推廣都是有商業資金保障的,而政府扶持的項目則有開發維護的保障,而推廣則藉由政府強大的行政方式以採購、攤派或者強制的方式來進行。可是社區項目就不同了,幾乎全部參與者都在社區中,而推廣凡是更是依賴項目的口碑。 不管何種方式都須要生態系統建設,從宏觀上說是須要總體一個良性互動,上面舉例中的一些停滯的項目大可能是開源生態系統建設的問題,大型的Linux開發版須要上游項目的完善發展,同時也須要下游PC廠商的OEM支持;手機操做系統既須要手機用戶的使用,更須要普遍的設備兼容性;小型開源軟件,既須要確實「撓到癢處」,同時也須要開源社區的大量支持,好比國外的不少開源項目就有很不錯的社區支持,好比Firefox的社區開發支持,還有Foobar2000(一款只支持win的專業音樂播放器)發達的開發推廣和用戶社區。 綜上,不管何種開源項目,以何種方式開發,創建一個基於社區的開源生態很是重要。對於商業支持的項目來講,社區的開發團隊和推廣可以使得項目有廣闊的應用前景,更有高效率低成本的宣傳渠道,這些都是商業閉源項目所不具有的;對於政府扶持的項目,創建社區式的生態系統有利於增長項目更符合終端用戶的須要,更重要的是避免「政府採購」產生的多種弊端。 絮絮不休了這麼多,只是但願可以讓國產開源項目可以更加劇視社區建設,而不是建立了一堆開源項目,卻短命夭折了。網站