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