天天看點

發展開源項目還是開源社群——對中國開源生态的思考

對中國開源現狀有些認識的人,一定會覺得現在中國的開源發展正在一條“動車軌道”上,幾年時間就有成百上千的開源項目進入人們的視野,特别是很多有商業背景或者有政府背景(即政府采購)更被認為是中國開源的種子選手。 每年中國的開源軟體促進會(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這樣比較大的也并不太多,但是在中國開源的真個發展程序中的作用卻很大,因為公司會倒,政府的政策會轉向,社群不太容易撤銷,特别是這種基于網絡虛拟的更容易組織和完善。

開源生态系統

說來說去還是回到這個開源生态系統的說法裡來了,一個開源項目可以存活需要開發者、維護者、推廣者、使用者構成一個完整的通力配合的系統。商業項目中開發維護甚至推廣都是有商業資金保障的,而政府扶持的項目則有開發維護的保障,而推廣則藉由政府強大的行政方式以采購、攤派或者強制的方式來進行。但是社群項目就不一樣了,幾乎所有參與者都在社群中,而推廣凡是更是依賴項目的口碑。 無論何種方式都需要生态系統建設,從宏觀上說是需要整體一個良性互動,上面舉例中的一些停滞的項目大多是開源生态系統建設的問題,大型的Linux開發版需要上遊項目的完善發展,同時也需要下遊PC廠商的OEM支援;手機作業系統既需要手機使用者的使用,更需要廣泛的裝置相容性;小型開源軟體,既需要确實“撓到癢處”,同時也需要開源社群的大量支援,比如國外的很多開源項目就有很不錯的社群支援,比如Firefox的社群開發支援,還有Foobar2000(一款隻支援win的專業音樂播放器)發達的開發推廣和使用者社群。 綜上,無論何種開源項目,以何種方式開發,建立一個基于社群的開源生态非常重要。對于商業支援的項目來說,社群的開發團隊和推廣能夠使得項目有廣闊的應用前景,更有高效率低成本的宣傳管道,這些都是商業閉源項目所不具備的;對于政府扶持的項目,建立社群式的生态系統有利于增加項目更符合終端使用者的需要,更重要的是避免“政府采購”産生的多種弊端。 絮絮叨叨了這麼多,隻是希望能夠讓國産開源項目能夠更加重視社群建設,而不是建立了一堆開源項目,卻短命夭折了。

繼續閱讀