走開源信息化之路
近年來,我國正在大力推廣使用Linux,基于Linux平臺的各種開源軟件也在迅速發展。同時在政府的大力提倡下,我國的信息化,特別是政府(電子政務)、金融、電信、電力等行業的信息化水平得到大大提升。據權威數字統計,國內每年企業信息化建設的投資已經高達上千億元,而且還在迅速增長。然而我們必須看到另一面,很多企業的信息化還處于一個較低的水平。我國企業必須認識到信息化不但可以幫助企業提高效率、降低成本,更重要的是可以輔助決策,縮短決策周期、提高決策的精確度。另外一個非常值得企業關注的業界動向就是軟件開放源代碼運動。令人應接不暇的開源給中國的企業帶來的是機遇還是挑戰呢?賽迪顧問2010度年中國軟件產業發展研究年度報告指出;從未來三年全球軟件產業發展趨勢看,開源軟件成為軟件行業發展的重點和新趨勢。同時,行業應用軟件成為軟件行業發展的主要動力,嵌入式軟件成為電子信息產業軟硬結合的著力點,Linux軟件及開源軟件將成為市場的熱點;
由此可見,以Linux為代表的開放源碼軟件正在成為整個信息技術領域的關注焦點,開放源碼使得軟件業正在經歷一場深刻的變革,這場變革不僅涉及技術,還涉及新的經濟模式。而且,從世界范圍來看,整個形勢正以日新月異的速度向著有利于以Linux為代表的開源軟件的方向發展。
一、何謂開源
開源是開放源代碼(Open Source)的簡稱,如字面所示,就是把軟件的源代碼開放化,與大家共享。對于一般用戶來說,得到了程序的目標代碼(可執行文件)就可以使用,程序的源代碼并不是必需的。而對于軟件的所有者來說,由于源代碼比較容易閱讀和理解,通過對源代碼的分析,他人能夠了解自己軟件中的設計思路,掌握自己軟件中的技術秘密,因此通常不希望向用戶提供程序的源代碼。不過對應用水平較高的用戶來說,為了便于自己排除故障、改進程序、了解程序間互連接口,可能要求得到源代碼。因此,在貿易中是否提供程序的源代碼常常是討論的焦點之一。
提到開源,不得不提到一個類似的概念,自由軟件。它的目的就是要打破商業軟件占主導地位的格局,這種思想首先是自由軟件的創始人Richard Stallman提出來的。“自由”體現為軟件知識產權保護層面上對軟件使用者許可自由地運行、拷貝、分發、學習和改進該軟件的行為。自由軟件與開源軟件的差別在于給出定義的角度不同,開源軟件的定義是從技術層面上講,而自由軟件則是從被許可的層面上講。筆者認為,二者不是包容關系,而應該是交叉關系。隨著開源運動轟轟烈烈的開展,開源的觀念深入人心,開放源代碼的“商業軟件”和“自由”的非開源軟件也會出現和逐步被人所接受。
開源的歷史遠遠比它為人所知要長得多,用Stallman的話來講,軟件最初就是帶有源碼發行的,只是后來成為流通商品之后原碼才不再開放、才不再自由。在Unix逐步走向商業化的20世紀70年代末、80年代初,當時還是麻省理工學院研究人員的Stallman不滿于一些軟件廠家的傲慢與狹隘,將自己開發的軟件產品與他人共享,提出了自由軟件的概念。他在1984年主導成立了“自由軟件基金會",立志要開發出一套完全自由的類Unix操作系統。FSF支持贊助的GNUProject為開源運動做出了巨大的貢獻,Stallman及其領導下的GNU 團隊堪稱開源運動的旗手和標兵。從Emacs到Gcc,GNU為Linux等開源操作系統提供了豐富的應用程序,沒有GNU應用的支持,很難想象Linux會達到當前的流行程度。一個無論多么優秀的平臺,如果沒有應用的支持就成了無源之水、無本之木。正是基于這個原因,才有了今天GNU/Linux的說法。GNU項目下的開發工具、編輯器、編譯器、配置管理工具等不僅在開源社區中是出類拔萃的,甚至與商業軟件比起來都是非常優秀的。
我的展望是:“試看將來的環球,必是開源的世界”。特別是通用的、低層的東西,比如操作系統、數據庫、中間件都有開源化的趨勢。開源運動中還有一個旗手,就是APache項目及其基金會ASF(http://www.apache.org)。Apache作為HTTP Server聲名顯赫,至今仍然是遙遙領先的寂寞高手。除了HTTP之外,Apache下還有眾多的Web/Java的開發項目。Apache和Java的結合則大大促進了Web應用的發展。Web應用是前些年推崇的瘦客戶端概念的唯一繼承者,也是集大成者。著名的Jarkata項目、Web開發框架Struts等在開發人員中享有極高的知名度。Web/Java的開發模式早就被企業所接受,隨著J2EE架構的逐步成熟以及越來越多的開源軟件的涌現,相信Web/Java應用的前景也會越來越好。
LAMP是非常知名的開源應用組合,它是Linux、Apache、MySQL (開源數據庫)和Perl/PHP/Python的首字母縮寫。當前很多Web應用,特別是個人的系統,大都采用LAMP框架。其中P所代表的三種腳本語言,以其靈活性、簡便性和快捷性獲得為數眾多的開發者的青睞。除了以輕決著稱的MySQL之外,其他的開源數據庫, 比如PostgreSQL、BerkelyDB 、SAPDB和FireBird等也在中小企業市場中獲得了廣泛的應用,正在逐步侵蝕著大型商用數據庫的市場。
還有一個值得注意的開源項目就是Eclipse。它原本是IBM 的開發工具VisualAge, 后被捐獻給開源社區,此后Eclipse獲得了新生,其強大的平臺、方便的集成環境、多語言支持獲得了大量的用戶群,對傳統的開發工具廠商帶來了很大的影響和改變。
二、開源中的知識產權問題
自2003年3月7日,SCO集團在美國正式起訴IBM 公司關于SCO Unix部分代碼嵌入到Linux的代碼庫中的專利權和版權問題, 人們開始特別關注Linux及開源軟件的知識產權、專利及相關法律問題。
或許因為自由軟件的英文中使用了“Free” 一詞的原因, 很多人把開源軟件誤解為免費的,沒有任何知識產權的。的確有些軟件是可以免費獲得,但是這并不意味著所有的開放源代碼軟件都是免費的。開放源代碼運動主張源代碼應該共享,人人享有使用并修改源代的自由。開放源碼軟件是受著作權保護的作品,未經權利人許可不能隨意使用。它和共享軟件或免費軟件最大的區別在于能否得到源程序并對其進行修改和演繹,況且它不對任何個人、團體或行業領域有歧視。總之,開放源碼軟件是完全享有著作權的,雖然其免費修改和發布的行為與商業傳統有較大差別,但是開放源碼運動正是利用了著作權所賦予的權利在快速發展。
按照OSI (0pen Source Initiative)的定義,開源并不僅僅意味著源代碼的開放,它從十個方面定義了開源軟件的標準:
1.自由再分發
許可不得限制任何人銷售或分發軟件或其組成部分,并且不得從此類銷售中收取任何使用費或其他費用。
2.源代碼
要求軟件必須帶源代碼發布, 即使實在不便于如此發布時,也應該提供明確的可行的獲取方式。源代碼必須是完備的,故意混淆代碼的行為是禁止的。如此規定的目的就是讓程序的修改或演繹比較容易進行。
3.衍生作品
許可必須允許修改和衍生作品,并且允許它們以與原生軟件相同的條款進行分發。
4.作者源代碼完整性
除非許可為在構建時程序修改之目的允許補丁文件與原碼一起分發,許可不能限制源代碼以其被修改的形式發布。許可必須明確地允許被修改后的軟件的分發,但是可以要求衍生作品以區別于原生軟件的名字或版本發行。
5.使用者無歧視
許可不得歧視任何個人或者團體,禁止開放原碼許可把任何人排除在開放源碼過程之外。
6.應用領域無歧視
許可不得限制任何人把程序應用于任何領域。此條的主要目的是防止不允許商業使用目的,我們同樣歡迎商業用戶的使用。
7.許可的分發
與程序有關的權利必須適用 于該程序的人和使用者,并且程序的使用者也不需要為了使用該程序而獲得其它許可證的許可。
8.許可不得針對某一產品(產品無關性)
與程序有關的權利和義務不應由于該程序從軟件中分離出來而喪失。如果程序從某個發布中被分離出來,并且按照許可的條款進行實用和發布,那么得到該程序的當事人或組織將獲得與得到原程序的使用者同樣的權利。
9.許可不得限制其他軟件
許可不得限制與其一同發布的其它軟件,比如不能要求同一介質上的其它軟件都必須為開源軟件。
10.許可必須技術中立
許可中不得包含依賴于某一技術或接口風格的條款。相對于傳統的知識產權理論,開源倡導者認為,在人們認為有價值的諸多價值之中,自由是最有價值的一種價值。Stallman說,自由對軟件用戶來說,就是人們使用、分發、學習和修改軟件的自由。從OSI所義開源軟件的標準可以看出,這些軟件是歡迎人們去使用的,因為開發產品的最主要的目的是應用。但是這并不意味著可以不假思索地去用,必須尊重軟件的權利人所頒發的許可,否則就會面對法律的問題。#p#
三、國內外開源的現狀
前面介紹了幾個著名的開源社區,下面我們結合國內外開源運動的現狀,分析一下它的特點和發展趨勢。
1.開源運動蓬勃發展大有燎原之勢
單從GooSe Directory下的Open Source Software分類目錄上看就有388種之多,而符合“Open Source Software” 的BBS的查詢結果已達138000項之多,從事開源開發的志愿者更是不計其數。根據筆者的了解,目前所用到的商業軟件幾乎都可以找到開源軟件的替代品,以幾種主要的商用軟件為例,Linux作為操作系統早已家喻戶曉,Firefox正在不斷搶占著微軟IE瀏覽器的市場,而數據庫產品MySQL和PostgreSQL也已經開始讓商用巨頭坐臥不安,就連無處不在的微軟Office套裝軟件也有了OpenOffice這一直接的對手。
2.開源產品幾乎涉及軟件的各個種類
從最底層的操作系統到數據庫、中間件、消息、安全產品再到協同軟件、工作流、ERP、CRM ,種類繁多,讓人目不暇接。
3.形成幾大開源基金會與開源公司運作并存的局面
著名的開源基金有FSF/GNU、Apache、Mozilla等;另外也存在既經營商業軟件也維護開源社區的公司,比如運營MySQL的MySQL AB公司和運營SugarCRM 的公司l還有一種情形就是IBM、HP和Sun等把自己的一些產品捐獻給開源社區,比如Eclipse和Derby就是在IBM 公司的VisualAge和Cloudscape的基礎上演化而來的開源軟件。
4.開源產業鏈逐步完善
隨著開源社區不斷發展壯大,開源的產業鏈也逐步完善。一般而言,每個開源項目都有一個核心團隊和眾多的分布于世界各地的志愿開發者, 工作大都通過網絡協同。較大的一些開源項目還可能定期舉行會議。資金來源主要有社會捐助、有償技術支持、商業版銷售及其他紀念品發售等。Linux廠商主要靠發行版、方案咨詢和提供專業技術支持支撐。現在,也有一些公司專門提供開源軟件的商業技術支持服務。筆者所在的公司就致力于為中小企業客戶提供開源軟件服務,可為企業用戶提供基于PostgreSQL的數據存儲解決方案。
5.大公司的參與越來越多
IBM 、HP、Oracle等公司紛紛加入到開源運動的洪流中。很多公司把專屬軟件捐獻出來,這使得開源軟件的層次得到了大大提高。
6.得到政府的支持
許多國家從信息安全的角度出發,從一開始就對開源持有歡迎的態度。歐洲許多國家已經在全面采用開源軟件,我國也有很多行業、企業用戶在衡量開放源碼軟件大量應用的可行性。
7.向高層應用的延伸
現在開源軟件逐步向工作流、協同(比如項目管理軟件)、CRM 、ERP等高級、專業的應用領域擴展。這使得開源軟件在企業中的應用領域得到進一步拓寬。
我們現在重點看看國內開源發展存在的問題:
1.對開源的懷疑和不理解
為什么要開源?是不是在搞噱頭?開源軟件能用嗎? 由于Linux在市場上的成功,所以很多人對開源的理解似乎僅限于Linux。怎么回答這些懷疑和不理解呢?現實就是答案。世界上的確有很多被稱為“傻子”的志愿開發者默默地支撐著龐大的開源社區,他們的快樂在于軟件開發成功的那一瞬,他們的價值在當用戶開始使用他們所編寫的軟件時得到實現。軟件因為開放源代碼,質量才更高,安全性才更好。
2.開源機會主義
由于開源的聲勢浩蕩,國內也有不少公司、團體開始打起了開源的大旗,但是不少機會主義者混雜其中。他們一方面利用開源軟件的成果,另一方面又把自己的成果隱藏起來。究其本質,是因為他們不了解開源軟件的著作權屬性。機會主義者的行為屬于嚴重的侵權,經不起知識產權的考驗,同時在精神上是與開源所提倡的自由、共享的原則相違背的。
3.局限于Linux
剛才也已經提到, 開源軟件在我國的研究和應用以Linux為主,其他開源軟件被認知、研究、應用的程度還不高。筆者認為,廣泛的開源軟件應用更能解決中國信息化的實際問題。
4.開源社區貧乏
與國外蓬勃發展的開源社區相比,國內的開源社區要冷清得多。國內缺乏活躍的開源社區,缺少開源志愿者。開源軟件應用逐步開始向開源服務和解決方案方向發展,此時,如果缺乏開源解決方案規劃和咨詢服務,那么企業開源應用就將得不到很好的發展。所以,圍繞著基于Linux系統的開源軟件產品及解決方案應用規劃、咨詢、技術支持及服務,正將成為開源軟件產業發展的新“瓶頸”。
四、基于開源的解決之道
只要遵循開源的原則, 任何人都可以合法地利用開源軟件的成果,站在巨人的肩膀上繼續研究,使得軟件開發有了完全不同的起點。開源軟件用于企業信息化特別是中小型企業信息化在技術上、法律上和市場上都是可行的,下面展開具體分析一下。
1.技術過關
運行良好的開源社區的產品完全是可靠的、可用的。一般而言,開源軟件的技術架構設計都很優秀,再加上源代碼是開放的,在眾多開發者和訂閱者的眾目睽睽之下,一些問題很容易被找出并修正。開源軟件的高質量、高安全性都使得其在企業中的應用是完全可行的。但是我們還應該看到另一面,就是開源社區良莠不齊,有些運轉不太好的社區或者參與者比較少的項目則是靠不住的。因此專業服務公司在開源產業鏈中具有非常重要的作用,他們負責甄別和鑒定軟件,在社區和用戶之間起到一個橋梁的作用。
2.法律可控
已經在“開源中的知識產權問題”一節進行了分析,結論就是只要你遵循開源運動的精神(自由、開放、共享)、尊重其著作權和使用許可,人人為我、我為人人,就不會遇到知識產權的瓶頸束縛。
3.市場良性發展
隨著開源軟件在企業中的應用, 開源社區可以收到很多用戶反饋,會進一步促進其發展。另外,還會出現眾多的開源軟件服務公司,這些公司不但可以為企業客戶提供專業的咨詢、策劃、支持、定制開發等服務,還會將營業所得一部分捐獻出給開源社區,從而形成一個良性的開源產業鏈。開源軟件的開發也是需要投入的,企業有付出也就應該收到回報, 一個積極的良性循環會進一步促進開源社區的發展。
在WTO原則下,在知識產權保戶的前提下,企業的信息化建設必須要全面采用正版軟件。現在,國內的金融、電信、電力、政府等實力強勁、管理意識先進和較大程度上依賴信息技術的行業已經走在軟件正版化的前列。但傳統信息化應用方案的軟件選擇對大多數企業講太過“奢侈”、太昂貴。企業為了適應市場競爭不得不信息化,但又支付不起昂貴的傳統軟件選擇,有的企業就鋌而走險,選擇“盜版”軟件應用。隨著時間的推移,這條路必將成為死胡同,或日不歸路更為貼切。此路荊棘彌補、險象環生,奉勸想有作為的企業還是敬而遠之為好。筆者認為,開源軟件的應用是中國信息化的可行之路,而且這條開源信息化之路會越走越寬。
筆者認為,開源軟件的應用是中國企業信息化的新路線。這里也簡要分析一下專業的開源軟件服務公司在這條開源信息化之路上的業務模式。
1.開源軟件的應用價值無論在國外還是在國內都還遠遠沒有被挖掘出來,社區偏技術的定位和用戶對開源缺乏了解和專業知識,這些缺位都需要處于中間的開源軟件服務公司進行彌補。
2.如同商業軟件的應用一樣,開源軟件應用也需要專業的指導、咨詢和支持。從應用環境分析、業務流程重整、需求分析、定制開發、部署實施、運營維護等各個環節都離不開專業的軟件服務公司的參與。
3.部分開源軟件偏離客戶需求和易用性差的缺點需要專業公司進行彌補。剛才已經提到開源軟件的偏技術的特點,另外由于一般軟件都是定位于通用軟件,對客戶需求的調研和泛化有補充分之嫌,對于涉及到企業業務流程的開源軟件特別有根據客戶環境的具體要求進行二次開發的必要。這些也都是中間軟件服務公司的價值所在。
五、開源信息化之路
開放源碼軟件為全球軟件產業發展提供了新的機遇,而且已被各國政府視為改變在操作系統軟件方面落后、打破壟斷局面的最佳途徑。我國也正在大力推廣使用Linux,基于Linux平臺的各種開源軟件也在迅速發展。這樣,我國將建立起一個自主、完整的軟件產業體系,從而不再受外國的制約,我國的信息安全和國家安全也將得到可靠的保障。同時,開源軟件為我國解決軟件知識產權問題開辟了新的路徑。因此,大力培育和扶植開源社區,推廣開源軟件的實際應用,積極研究開源軟件的實施產權問題,努力促使我國開源軟件產業鏈的形成和發展,對我國軟件產業發展具有重要和深遠的意義。
【編輯推薦】