歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> Linux業界

論GPL的本質和對整個軟件產業的影響

GPL是GNU Public License的縮寫,最早是自由軟件基金會為了促進開放源代碼的發展,而搞出來的一種版權協議。

GPL對軟件產業的發展起到了巨大的促進作用,但是也帶來了很多誤解。在美國考察期間,我們和GNU的主要負責人進行了廣泛交談,精確地了解了GPL的本質,以及它對軟件產業產生的影響。本文就是介紹這方面的情況。

一、GPL和軟件版權

首先需要明確的是,GPL協議只是無數種版權協議其中的一種,它和版權本身是不同的概念。具體的解釋如下:

軟件的版權完全屬於其作者所有,作者可以自由地選擇采取哪一種版權協議來發布自己的軟件。

在傳統的商業模式,作者一般采取商業版權協議來發布自己的軟件。商業版權協議也有各種不同的方式。例如以前商業版權協議要求用戶在每一台計算機上安裝一份軟件,而微軟新的版權協議要求用戶不但安裝軟件,還要同時購買升級資格。這些都是不同的商業版權協議。

為了促進軟件產業的發展,作者也可以選擇GPL協議。這樣作者將他的源代碼開放,供其他人修改,而其他人能夠修改的前提是接受作者指定的GPL協議。

自由軟件基金會主持開發了無數的自由軟件,特別是C++編譯器Gcc,由於采用了GPL協議,無數人的思想可以共享,因此GPL和自由軟件迅速地發展起來。

由於GNU的軟件全部采用GPL協議,而GNU的軟件影響力又非常之大,因此很多人錯誤地將自由軟件和GPL完全聯系在一起,認為所有的自由軟件都是采用GPL協議的,這是完全錯誤的。

雖然GPL和自由軟件的發展緊密地聯系在一起,但是這兩者並不等同。自由軟件的作者並不一定選擇GPL來發布他的軟件,如果願意的話,軟件的作者甚至可以自己編寫一個版權協議。

這裡一定要搞清下面的概念:

軟件的版權歸其作者所有,其作者有權選擇采用哪種版權協議

GPL只是眾多版權協議中的一種

自由軟件不一定要采用GPL協議

GNU不擁有所有開放源代碼軟件的版權,GNU只擁有那些由自由軟件基金會開發的軟件的版權,以及那些作者自願交給GNU的版權。

二、GPL的發展

隨著技術的發展,越來越多的公司開始關注開放源代碼軟件和Linux,這些公司顯然不願意完全開放源代碼。

同時GNU也注意到GPL不利於商業運作。為了促進Linux下商業軟件的發展,GNU又公布了LGPL協議。

LGPL協議的核心思想是:

用戶可以使用開放源代碼的“程序庫”開發自己的商業軟件,而無需開放源代碼。(“程序庫”指可以完成特定功能的現成的軟件代碼)

如果對“程序庫”本身進行了修改,則必須公開修改“程序庫”的源代碼。

用戶如果自己開發“程序庫”,如果該程序庫是專門針對某個特定的開放源代碼軟件開發的,則必須公布源代碼。如果該程序庫具有一定的通用性,則可以不開放源代碼。

第一條的意思是允許在Linux上開發商業軟件。因為Linux下的所有軟件都必須用到glibc庫,所以如果要求遵守GPL協議,那麼就不可能存在Linux下的商業軟件了。而采取LGPL,則允許商業軟件的發展。

第二條的意思是為了保護程序庫的唯一性和一致性。如果用戶隨意修改程序庫而不必開放源代碼,則很快程序庫就有很多個版本,這樣就不能保證其他軟件的兼容性。

第三條的意思是允許用戶開發商業用途的程序庫。

LGPL協議大大促進了Linux下商業軟件大發展,一些優秀的軟件,例如IBM的WebSphere,Borland的Kylix,AW的Maya,都是在LGPL的前提下發展起來的。

但是,仍然有很多公司認為LGPL協議的規定還是太死板,不能滿足其需要,所以又提出了各種各樣的“第三方協議”,比較典型的是Sun為OpenOffice提出的SISSL協議。

SISSL協議規定,在開放源代碼項目OpenOffice基礎上開發的商業軟件,可以不公布源代碼。這樣,就有一個比LGPL更好支持商業軟件的版權協議。

注意,前面提到過,軟件的作者擁有版權,能夠決定采取何種版權協議發布自己的軟件。而最近一些比較大的開放源代碼項目都是由一些大公司公布的源代碼,因此他們可以決定對自己的開放源代碼項目采取何種版權協議,而不必理會GNU的意見。

現在一些比較大的開放源代碼項目,都是由大公司主持的,因此都支持各種各樣的第三方協議。這些協議的目的只有一個,就是保護這些大公司自己的版權,允許他們開發商業軟件。

GNU最近也在考慮制定新的版權協議,進一步增加對商業軟件的支持,可見GPL協議也在不斷地更新之中。

三、GPL的功與過

GPL對軟件產業的發展到底是好還是壞,這是大家討論的焦點。

在1998年以前,GPL對Linux的促進是很顯然地,可以說沒有GPL就沒有Linux。大家都知道,與Linux競爭的,還有FreeBSD項目, 這個項目的版權協議允許封閉源代碼,並且實際上FreeBSD的某些軟件也相當不錯。但是現在來看,Linux的到蓬勃發展,FreeBSD卻在逐漸消 亡。

原因很簡單,基於FreeBSD開發的軟件,很快就變得不開放源代碼了,因而得不到整個社區的支持,所以也沒有可持續發展。一旦其創始人由於某種原因終止了開發,整個項目就不會延續了。

而基於GPL的項目,由於種種原因,總會有人不斷研究,因此有很強的可持續發展能力。

1998年以後,公司大量介入Linux,因此LGPL又起到了很大的促進作用。由於LGPL的推廣,很多公司把自己的商用軟件移植到Linux上。在 Linux World大會上,我們可以看到,除了微軟以外,幾乎所有的大型軟件公司都把自己的產品移植到了Linux上或者正在移植。

現在,由於桌面Linux系統的要求,以及對Linux軟件商業化的壓力,大家開始讓Linux真正被普通人接受,而不只限於愛好者。此時,“第三方協 議”又起到了很大的作用。Linux下的主要應用軟件,例如辦公套件、浏覽器、電子郵件、IDE編程環境等,都是基於SISSL這樣的第三方協議發展起來 的。

在未來的歲月裡,顯然Linux的發展需要各種協議的綜合運用,使得Linux既擁有開放源代碼軟件的優點,也擁有商業軟件的優點。偏重於任何一種版權協議都是片面地,對整個軟件產業發展是有害的。

四、國際大公司的做法

根據在Linux World大會上的考察,目前主要的軟件和硬件公司,例如IBM、Sun、RedHat、Borland、Oracle等,都是采用多種軟件協議並行的方式。

最典型的是Sun負責的OpenOffice項目,這個項目就是GPL、LGPL、SISSL三種協議並存,開發者可以根據自己的情況,選擇自己最合適的版權協議。

等到GPL的最新版本出來之後,也許就不會有各種各樣的第三方協議,而同一在GPL的某個新的、完全支持商業軟件發展的協議之下。

小結:

我們可以將GPL協議對開放源代碼社區的影響情況總結如下:

要歷史性地看待GPL 技術發展日新月異,我們對GPL的看法不能停留在1998年。現在單純采用GPL協議的軟件已經不多,大部分是GPL、LGPL和 商業版權協議同時采用。開發者可以根據自己的需要自由地選擇自己希望遵守的版權協議。這樣既保證開放源代碼的發展,又保證各公司的利益。

不是開放源代碼軟件必然采用GPL GPL不代表版權,也和Linux沒有必然聯系,它只是軟件作者可以選擇的版權協議之一。

GPL協議自身也在不斷發展之中 必須看到,GPL是相當古老的東西,已經不太適合於現代軟件產業的發展。所以國際上很多人正在修訂GPL協議,以最大限度地促進軟件產業的發展。

GPL對商業化的阻礙沒有宣傳得那麼大 在國際社會的共同努力下,GPL協議已經不再成為開放源代碼進入商業的阻礙。過分強調GPL的缺點有誇大事實之 嫌。必須看到,現在的開放源代碼體系是多種版權協議的混合體系,如果我們認為某些項目不適合於GPL,那麼選擇其他協議就可以了,沒有任何問題的。
(T113)





Copyright © Linux教程網 All Rights Reserved