所謂源代碼就是用匯編語言或高級編程語言表達(dá)的程序,它是用數(shù)字、文字及符號表示的有序的一串符號化指令或一串符號化語句,并且可以用有形媒體如紙、磁帶、磁盤等把這種表達(dá)加以固定。當(dāng)一項程序以源代碼的形式開發(fā)出來之后,通常通過計算機(jī)系統(tǒng)中的編譯器將之轉(zhuǎn)換成可供計算機(jī)執(zhí)行的目標(biāo)代碼。
在軟件貿(mào)易中,對于一般用戶來說,得到了程序的目標(biāo)代碼就可以使用;程序的源代碼并不是必需的。對于軟件的所有者來說,由于源代碼比較容易閱讀和理解,通過對源代碼的分析,他人能夠了解自己軟件中的設(shè)計構(gòu)思;掌握自己軟件中的技術(shù)秘密,因此通常不希望向用戶提供程序的源代碼,不過,對于使用水平比較高的用戶,為了便于自己排除故障、改進(jìn)程序、了解程序間互連接口,可能要求得到源代碼。因此,在貿(mào)易中是否提供程序的源代碼,常常是討論的焦點之一。伴隨著99年以來Linux 軟件在中國軟件市場的風(fēng)靡, "自由軟件"( Free Software)的概念開始逐漸引起了人們的注意,因為Linux 軟件就是自由軟件家族中的一個典型代表,這是一種與我們傳統(tǒng)理念上的商業(yè)軟件有著顯著不同的軟件。自由軟件在技術(shù)上區(qū)別于現(xiàn)在市場上像Windows98 等商業(yè)軟件的一個顯著特點就是能夠以未編譯的形式獲得軟件, 因此在技術(shù)層面上講,也被稱為"開放源代碼軟件"(Open Source Software).傳統(tǒng)商業(yè)軟件的保護(hù)就是要保護(hù)源代碼,不僅不公開, 而且反對對軟件程序復(fù)制,修改等行為。
在給這篇文章命名時,一直在考慮是用“自由軟件”還是“開放源代碼軟件”,雖然自由軟件這一名詞更通俗一些,但是這篇文章則是從更寬廣的領(lǐng)域和更深層次對開放源代碼軟件進(jìn)行研究,除了對以LINUX為代表的自由軟件的知識產(chǎn)權(quán)問題進(jìn)行研究,其中有很大段的篇幅是討論如何認(rèn)定是開放源代碼軟件以及開放源代碼軟件的許可證問題,力爭能將所謂的“自由軟件運動”和“開放源代碼運動”的知識產(chǎn)權(quán)問題剖析清楚,所以最終選擇了“開放源代碼軟件”一詞,關(guān)于開放源代碼軟件和自由軟件的問題,我們將在下文中分層次的予以論述。
一、 軟件的分類
就軟件的發(fā)行方式來說,一般地說,對于通用性軟件,除了商業(yè)性銷售之外,社會上還存在其他發(fā)行方式。如果按照發(fā)行方式分類,計算機(jī)軟件事實上存在商業(yè)軟件、自由軟件、試用軟件和公有軟件等四類。需要說明,自由軟件和試用軟件都不同于商業(yè)軟件的試用版。商業(yè)軟件的試用版通常已經(jīng)在一些關(guān)鍵性功能方面進(jìn)行了刪節(jié),基本上不能用作實際的使用。自由軟件和試用軟件則通常都具有自己相對完整的功能,是可以實際使用的。
l.商業(yè)軟件(Business Software)
所謂"商業(yè)軟件"(Business Software)就是指通過上述貿(mào)易方式面向社會公眾發(fā)行的各種商品化軟件。作為商業(yè)軟件,其功能、性能通常已經(jīng)過嚴(yán)格測試因而相當(dāng)可靠,其使用方法應(yīng)該相當(dāng)便利。供應(yīng)商不僅應(yīng)該向用戶提供程序(通常是日標(biāo)碼文本)和使用說明 (通常是手冊的形式),而且應(yīng)該向用戶提供包括版本更新在內(nèi)的技術(shù)服務(wù)。
商業(yè)軟件的權(quán)利人通常都保留自己的權(quán)利,因此商業(yè)軟件受著作權(quán)保護(hù)。對軟件的發(fā)行權(quán)是軟件著作權(quán)的主要內(nèi)容。前面已經(jīng)說明,現(xiàn)在國際上通行的商業(yè)軟件發(fā)行方式是向用戶提供使用許可。按照這種方式,用戶從供應(yīng)商處得到的是在該軟件的使用許可協(xié)議規(guī)定的限制下,行使由該軟件的使用許可協(xié)議所提供的若干項權(quán)利,而不是這份軟件復(fù)制品的全部權(quán)利,更不是這項軟件的全部權(quán)利。同時,這種使用許可協(xié)議將約定供應(yīng)商應(yīng)該提供的技術(shù)服務(wù)的具體內(nèi)容。用戶在購買軟件時以及使用軟件時,都必須仔細(xì)閱讀該軟件的使用許可協(xié)議,在使用過程中遵守使用許可協(xié)議,并按照使用許可協(xié)議的規(guī)定享受供應(yīng)商所提供的技術(shù)服務(wù)。
2.試用軟件(Shareware,國內(nèi)也往往譯成"共享軟件”)
介于價格較貴的商業(yè)軟件與自由軟件之間,從發(fā)行方式看,還有一種試用軟件(Shareware),國內(nèi)也往往譯成"共享軟件”、所謂"試用軟件",其復(fù)制品也可以通過網(wǎng)絡(luò)在線服務(wù)、電子公告板(BBS)或者從二個用戶的手里傳給另一個用戶等途徑自由地傳播。這種軟件的使用說明通常也以文本文件的形式同程序一起提供。這種試用軟件通常附有一個用戶注意事項,其內(nèi)容是說明權(quán)利人保留對該軟件的權(quán)利,因此試用軟件受著作權(quán)保護(hù);本軟件居于試用軟件,用戶通過二個階段試用之后,如果希望繼續(xù)使用,就應(yīng)該向供應(yīng)者辦理使用注冊手續(xù)。用戶注意事項中通常包含一份注冊表格,并說明如何以及向何處辦理注冊手續(xù),在辦理注冊手續(xù)電可能會要求用戶交納一定費用,實際上就是使用許可費,需要交付的使用許可費的款額通常是很低的(幾美元或者幾十美元)。不少試用軟件的聲明中往往表示,供應(yīng)者收到匯款后將提供一份印刷裝訂的使用說明,以及該軟件的最新版本和其他技術(shù)服務(wù)。有些聲明中還可能規(guī)定一個明確的試用期限。只要用戶按照規(guī)定辦理使用注冊手續(xù)就可以在計算機(jī)上使用該軟件。
試用軟件這個概念是美國微軟公司的R.Wallance在80年代提出來的;軟件產(chǎn)業(yè)界采用"試用"這種發(fā)行方式的目的在于通過允許潛在用戶復(fù)制一項軟件以鼓勵其試用,從而幫助用戶決定是否購買該軟件的使用許可。用戶通過試用對該軟件有了一定了解后,如果希望以后使用該軟件,就必須通知該軟件的開發(fā)者并按規(guī)定付款。試用軟件實質(zhì)上屬于商業(yè)軟件,通常不提供源程序。產(chǎn)業(yè)界采用這種傳播方式主要作為一種銷售手段,可以節(jié)省廣告宣傳費用,但并沒有改變這種軟件的著作權(quán)性質(zhì)。不少試用軟件在根據(jù)用戶使用意見多次改進(jìn)后,新的版本成了商業(yè)軟件。"這種發(fā)行方式受到了個體和小型開發(fā)商的歡迎,現(xiàn)在已經(jīng)出現(xiàn)了成百上千種試用軟件,大多數(shù)試用軟件運行在DOS系統(tǒng)或者Windows系統(tǒng)上,例如通信軟件ProComm、文本壓縮軟件PKZip、抗病毒軟件VirusScan等。同時也出現(xiàn)了一些推廣試用軟件的組織.
相較于自由軟件,試用軟件可以說是公司軟件產(chǎn)品的試玩版。試用軟件有的只是在程序內(nèi)部加上判別,因此被許可人需要去注冊(不論是花錢或是寫信就好)取得注冊碼,輸入之后就擁有全部的功能;而有的則是部份的游戲關(guān)卡或是功能,被許可人需要等該軟件正式上式之后購買。這個方式也是最多游戲公司所采行的方式,好或不好不必等到買了才知道。
像商業(yè)軟件那樣,試用軟件中也給出用戶注意事項,并要求:在復(fù)制、傳播這種軟件時,不得刪略所附的用戶注意事項;在著作權(quán)方面,試用軟件供應(yīng)者規(guī)定的用戶注意事項中,一般都具有以下一些內(nèi)容:
1)用戶可以進(jìn)行旨在存檔的復(fù)制,但除非原版軟件運行失敗或者已經(jīng)損壞,備份復(fù)制品是不允許使用的;
2)用戶可以進(jìn)行復(fù)制分發(fā),但未經(jīng)權(quán)利人允許,不得對其進(jìn)行旨在銷售的分發(fā);可以通過從事幫助復(fù)制、幫助安裝、提供培訓(xùn)等服務(wù)活動而收取服務(wù)費用,但這種服務(wù)費用必須在合理的范圍之內(nèi);
3)權(quán)利人可以在用戶注意事項中要求用戶,不得對其進(jìn)行反匯編或者反編譯,不得進(jìn)行反向工程;
4)權(quán)利人可以在用戶注意事項中要求用戶不得對其進(jìn)行修改;
5)未經(jīng)權(quán)利人允許,不得以試用軟件為基礎(chǔ)制作其衍生軟件.
從這些規(guī)定可以看出,試用軟件的權(quán)利人在保留權(quán)利的同時,已經(jīng)在一定的條件下向社會公眾開放了復(fù)制權(quán),但沒有像自由軟件那樣開放修改改編權(quán)。對于不同的自由軟件或試用軟件,它們的用戶注意事項可能會有一些差別,在使用自由軟件和試用軟件時必須仔細(xì)閱讀其用戶注意事項,認(rèn)真遵守用戶注意事項,否則有可能陷入侵害該軟件著作權(quán)的泥潭,
1996年7月澳大利亞聯(lián)邦法院對一項有關(guān)試用軟件的著作權(quán)糾紛作出了判決。這項判決認(rèn)定:經(jīng)營網(wǎng)絡(luò)服務(wù)業(yè)務(wù)的Ozmail公司在未經(jīng)許可的情況下,把Trumpet軟件公司所擁有的在網(wǎng)絡(luò)上使用的試用軟件Winsock v 2.0從其他網(wǎng)站上下載后,涂改了Trumpet軟件公司附在該軟件上的著作權(quán)聲明(要求用戶向Ozmail公司注冊付費),并在Ozmail公司上作為試用軟件流通,已經(jīng)侵害了Trumpet軟件公司的軟件著作權(quán)。這項判決表明:有關(guān)試用軟件的著作權(quán)性質(zhì)已經(jīng)受到軟件界的注意;當(dāng)前在我國,試用軟件和因特網(wǎng)的應(yīng)用正在迅速發(fā)展,計算機(jī)用戶需要了解試用軟件的著作權(quán)性質(zhì);合法地使用試用軟件。
3、公有軟件(Public Domain Software,也可譯成"公有領(lǐng)域軟件”)
需要指出,自由軟件和試用軟件都不同于公有軟件。 所謂"公有軟件"(Public Domain Software,也可譯成"公有領(lǐng)域軟件”)是指著作權(quán)中的經(jīng)濟(jì)權(quán)利(包括復(fù)制權(quán)、修改改編權(quán)、發(fā)行權(quán)等專有權(quán)利)有效期已經(jīng)屆滿的軟件,以及權(quán)利人由于不準(zhǔn)備使之商品化而己經(jīng)明確聲明放棄著作權(quán)的軟件。然而;對于自由軟件和試用軟件而言,其著作權(quán)仍然由其權(quán)利人享有,受到國家頒布的著作權(quán)法規(guī)保護(hù)。
對于公有軟件:
1)人們可以任意復(fù)制、傳播;
2)人們也可以對公有軟件進(jìn)行反匯編或者反編譯,可以進(jìn)行反向工程;
3)人們可以使用、改編、甚至將之納入為贏利目的而開發(fā)的商業(yè)軟件,但不得限制其他人也這樣做。
4、自由軟件(或從技術(shù)特征上命名,叫“開放源代碼軟件”)
自由軟件的目的就是要打破商業(yè)軟件占主導(dǎo)地位的格局,這種思想是自由軟件的創(chuàng)始人美國的Richard Stallman提出的, 他1971年還在麻省理工時就著手這方面的工作,終于在1984年,他在一些企業(yè)的支持下能夠以自由軟件基金會(Free Software Foudation,FSF)主席的身份, 啟動了自己龐大的“自由軟件聯(lián)盟計劃”(GUN Project),開始了自由軟件的浩大工程。自由軟件出現(xiàn)之前的規(guī)則是軟件開發(fā)商擁有軟件源代碼的專用權(quán),他們牢牢控制了源代碼,只有他們才有特權(quán)訪問源代碼,用戶和其他程序員無法查看,改動和完善, 使用戶無法真正融入計算機(jī)環(huán)境之中.Richard認(rèn)為這割裂了人類互助的天性和基本的自由, 無法真正享受數(shù)字技術(shù)帶來的獨有的共享精神,而且隨著壟斷的出現(xiàn),這種局面變本加厲, 人們?yōu)閴艛喔冻龅某杀疽苍絹碓礁?。Richard的自由軟件運動, 就是要開發(fā)出一系列完整的軟件,由原作者對自己的一些知識產(chǎn)權(quán)的權(quán)利進(jìn)行放棄,具體說應(yīng)該是向公眾的許可,同意不但開放源代碼, 而且鼓勵用戶之間互相拷貝,通過網(wǎng)絡(luò)在線服務(wù),電子公告板(BBS)的發(fā)布,或者從一個用戶的手里傳給另一個用戶等途徑自由地傳播,并籍此獲得學(xué)術(shù)上和技術(shù)上的交流,讓別人修正和改進(jìn)源代碼并接受自由軟件運作規(guī)則,再重新發(fā)布。用這種模式去激發(fā)世界各地的軟件開發(fā)人員投入到自由軟件的開發(fā)中,軟件開發(fā)人員的集體智慧得到充分發(fā)揮,人們可以及時發(fā)現(xiàn)并解決程序中存在的問題,減少大量不必要的重復(fù)勞動。
Free Software中文譯法是有講究的,因為英文中的Free是有多種含義的,一種理解為"自由",如"free speech"(即"言論自由"的"自由");另一種理解為"免費",如"free beer"(即"免費啤酒"的"免費")。國內(nèi)早期也有將Free Software譯為"免費軟件"的, 可能相對于傳統(tǒng)的那些商業(yè)軟件,自由軟件的價格低的幾乎為免費的了,但這種譯法并不準(zhǔn)確,F(xiàn)ree Software應(yīng)該譯為"自由軟件",之所以譯為"自由軟件",是因為自由軟件的精髓就在于"自由"上, “自由”體現(xiàn)為在軟件知識產(chǎn)權(quán)保護(hù)層面上對軟件使用者許可的可自由進(jìn)行運行、拷貝、散發(fā)、學(xué)習(xí)和改進(jìn)該軟件的行為,換言之, "自由軟件" 是一種版權(quán)法意義上的定義。[注2]至于自由軟件的價格低廉,也是由于軟件的著作權(quán)人放棄了自己知識產(chǎn)權(quán)中的獲得報酬權(quán),使得用于銷售中的自由軟件的成本極低的緣故。
令人欣喜的是,時至今日,自由軟件的發(fā)展得到了巨大的成功,在許多國家得到認(rèn)可和發(fā)展,僅美國自由軟件聯(lián)盟GNU中的自由軟件種類已達(dá)幾千種, 較為突出的代表有操作系統(tǒng)GNU Linux,語言系統(tǒng)GNU C++,數(shù)據(jù)庫管理系統(tǒng)Ingress等。單拿Linux的發(fā)展來說,有資料顯示,雖然它1990年才在芬蘭誕生而到了1998年它的增長率高達(dá)212%,在全球Internet服務(wù)器領(lǐng)域它已占有27.6%的市場份額,超過了Windows的23.6%。[注3]
自由軟件是指使用者可以自由的運用,拷貝,分發(fā),學(xué)習(xí),改變改善該軟件。更準(zhǔn)確的說,對該軟件的使用者是具有四種自由[注4]:
1、可以自由運用該軟件,無論是什么目的。(第零種自由,也就是說最基礎(chǔ)的自由)
2、可以自由學(xué)習(xí)該程序怎樣工作,并使之適應(yīng)被許可人的需求。(第一種自由)。其前提是可以自由讀取源代碼。
3、可以自由重新分發(fā)拷貝以便幫助被許可人的鄰友。(第二種自由)
4、可以自由改善該程序,并發(fā)布給公眾,讓整個社會得利。(第三種自由)。其前提是可以自由讀取源代碼。
一個程序能被稱為自由軟件,如果使用者擁有以上所有的自由。因此被許可人應(yīng)該可以自由分發(fā)附本,更改或未更改過的,免費或收發(fā)行費的,給于任何人,任何地方。能自由的做這些事意味著被許可人不用為能否使用該軟件而申請或付費。被許可人也應(yīng)該有自由私自修改及使用,因為工作或興趣,而不用公告他的存在。如果被許可人公告了,被許可人也不用申請告訴任何人,或用任何方式。自由使用一個程序意味著任何人和組織有自由使用該程序在任何操作系統(tǒng)上,為了任何工作,而且不必通知開發(fā)者和任何有關(guān)人事。
二、 開放源代碼軟件與自由軟件的關(guān)系
“自由軟件”與“開放源代碼軟件”的差別在于給出定義的角度不同。"開放源代碼軟件"(Open Source Software,也有譯為“公開源代碼軟件”) 的定義是從技術(shù)層面上講,而“自由軟件”則是從被許可的權(quán)利層面上講。至于自由軟件和開放源代碼軟件的區(qū)別,實際體現(xiàn)的就在于許可證對權(quán)利義務(wù)的規(guī)定的嚴(yán)與緊的程度上,有學(xué)者認(rèn)為,開放源代碼軟件許可證中那部分對被許可人權(quán)利限制比較嚴(yán)的許可證是自由軟件許可證,也就是說,開放源代碼軟件的范圍要稍寬一些,自由軟件的許可證中不允許被許可人將本許可證許可的源代碼的修改版本、演繹版本以其他的許可證方式再許可或者保留起來不許可,只能按此許可證實施再許可,像自由軟件聯(lián)盟GNU下適用GPL開放源代碼軟件許可證的軟件。而開放源代碼軟件的許可證則允許以其他許可證的方式實施再許可。[注5]
(一)、關(guān)于開放源代碼運動與自由軟件運動
開放源代碼運動(Open Source Movement,也有譯為“公開源代碼運動”)實際上是一個描述性的統(tǒng)稱,是指以Linux為代表的GNU自由軟件計劃、Apache開放源代碼軟件計劃[注6]、開放源代碼首創(chuàng)行動Open Source Initiative等開放源代碼軟件計劃的統(tǒng)稱[注7]。對于開放源代碼運動,國外被稱為軟件領(lǐng)域的“數(shù)字化時代的文藝復(fù)興”[注8]、軟件領(lǐng)域“具有共產(chǎn)主義色彩的戰(zhàn)略” [注9]。記得管理學(xué)大師彼得.杜拉克有句名言 “任何企業(yè)必須形成一個真正的整體,并且將個人的努力融匯成一種共同的努力。” 這就是開放源代碼運動的宗旨。而自由軟件運動(Free Software Movement)實際上也是一個描述性的統(tǒng)稱,指的就是上述的一種開放源代碼運動,只是定義的角度不同而已。
(二)、開放源代碼軟件的認(rèn)定
“開放源代碼首創(chuàng)行動組織”(Open Source Initiative Association,簡稱OSIA)是一個非盈利的組織,是美國的Bruce Perens 和 Eric S. Raymond 等人于1998年在美國加州發(fā)起設(shè)立的,倡導(dǎo)了“開放源代碼首創(chuàng)行動” (Open Source Initiative,簡稱OSI),其目的就是要讓開放源代碼軟件的發(fā)展有一個更好的土壤。組織建立的目的就是想盡可能統(tǒng)一開放源代碼軟件的標(biāo)準(zhǔn),捍衛(wèi)開放源代碼這一神圣的定義,為此,該組織從軟件的許可問題入手,結(jié)合證明商標(biāo),為開放源代碼軟件業(yè)的發(fā)展做出了重大的貢獻(xiàn)。
開放源代碼首創(chuàng)行動組織,作為一個自發(fā)建立的非官方組織,為了在開放源代碼軟件領(lǐng)域?qū)崿F(xiàn)統(tǒng)一標(biāo)準(zhǔn)的目的,確實難度很大,但是該組織的定位和戰(zhàn)略很好,將自己定位為一個行業(yè)自律協(xié)會性質(zhì),并且巧妙的應(yīng)用了商標(biāo)戰(zhàn)略。將Open Source Initiative、OSI申請了證明商標(biāo)[注10],自己作為證明商標(biāo)的管理者[注11](OSIA原想將Open Source 、OS等申請為產(chǎn)品商標(biāo),但是由于具有描述性的特征,所以未被授權(quán),所以才轉(zhuǎn)申請了證明商標(biāo))[注12]。是否是開放源代碼軟件,不光要看權(quán)利人是否提供源代碼,另外一個很重要的標(biāo)志就是許可證的問題,因為絕大多數(shù)的開放源代碼軟件在發(fā)布時都會附帶一個許可協(xié)議,即我們所說的許可證,在許可證中,會規(guī)定許可人和被許可人的權(quán)利與義務(wù),而正是這些權(quán)利和義務(wù),決定了權(quán)利人是否將源代碼真正的向社會公眾開放,從而可以實現(xiàn)是否是開放源代碼軟件的判斷。OSIA正是從軟件的許可證上著手,將證明商標(biāo)許可給那些經(jīng)其審核認(rèn)定為開放源代碼軟件的軟件提供者。這樣,凡被認(rèn)定為開放源代碼軟件許可證的,都可以表明OS、OSI等商標(biāo)標(biāo)識,從而得到開放源代碼軟件界的認(rèn)可。
經(jīng)過3年多的發(fā)展,“開放源代碼首創(chuàng)行動”取得了很大的成功,像自由軟件聯(lián)盟GNU、IBM、NOKIA、NETSCAPE等的開放源代碼軟件許可證都先后得到了OSIA的認(rèn)證,迄今為止,經(jīng)OSIA認(rèn)證的開放源代碼軟件的軟件許可證有如下21種:
1、The GNU General Public License (GPL)
2、The GNU Library or "Lesser" Public License (LGPL)
3、The BSD license
4、The MIT license
5、The Artistic license
6、The Mozilla Public License v. 1.0 (MPL)
7、The Qt Public License (QPL)
8、The IBM Public License
9、The MITRE Collaborative Virtual Workspace License (CVW License)
10、The Ricoh Source Code Public License
11、The Python license
12、The zlib/libpng license
13、The Apache Software License
14、The Vovida Software License v. 1.0
15、The Sun Internet Standards Source License (SISSL)
16、The Intel Open Source License
17、The Mozilla Public License 1.1 (MPL 1.1)
18、The Jabber Open Source License
19、The Nokia Open Source License
20、The Sleepycat License
21、The Nethack General Public License
其中開放源代碼軟件業(yè)最著名的GPL、LGPL、MPL、MPL1.1軟件許可證,都經(jīng)過OSIA的認(rèn)證。
在開放源代碼首創(chuàng)行動組織的開放源代碼的定義(The Open Source Definition)中,指明了該組織對開放源代碼軟件的認(rèn)定標(biāo)準(zhǔn)有如下幾個方面[注13]:
1、 發(fā)布的自由
開放源代碼軟件的許可證不能有任何限制再銷售或限制本程序同其他代碼性質(zhì)程序聯(lián)合發(fā)布的條款,也不能有額外的收費要求。[注14]
2、 關(guān)于對源代碼的要求
要求軟件的發(fā)布形式必須為開放源代碼的形式,即使有的軟件在初始發(fā)布時不便于在程序中發(fā)布源代碼,但必須有免費的方式在軟件初始發(fā)布的同時提供明確的路徑獲得源代碼,無論是書面印刷的還是通過因特網(wǎng)下載。
另外,這些源代碼必須是完備的,至少要能保證專業(yè)領(lǐng)域的人員能夠進(jìn)行修改。而且在軟件發(fā)布時任何故意混淆源代碼的行為是被禁止,任何通過預(yù)處理程序或翻譯程序?qū)υ创a進(jìn)行阻隔的行為也是被禁止的。
開放源代碼軟件許可證可以禁止被許可人以直接在初試源代碼版本上修改的模式發(fā)布,但是前提是在源代碼軟件初始發(fā)布的時候就必須允許以在源代碼程序版本后用附屬文件的形式發(fā)布修改版本。
3、 關(guān)于演繹作品
開放源代碼軟件許可證必須允許源代碼可以被修改和允許根據(jù)源代碼產(chǎn)生有版權(quán)法意義上的演繹作品。
4、 其他要求
其他的要求包括不得對許可對象有歧視、不得對軟件被使用的領(lǐng)域有歧視、不得要求本開放源代碼許可證生效的條件是在遵從其他軟件許可證的前提下、許可證必須是適用于開放源代碼這一類軟件的而不是只針對某一個軟件和開放源代碼軟件許可證不得貶低其他軟件許可證等條款[注15]。
O SIA對開放源代碼軟件許可證的認(rèn)定程序是由許可證提供人啟動的,凡許可證提供人自己認(rèn)為自己的許可證符合開放源代碼軟件的要求的,可以向OSIA提出加入OSIA開放源代碼軟件許可證體系的申請,OSIA將通過委員會審查和公眾審查來決定是否承認(rèn)該軟件許可證為OSI系列的開放源代碼軟件許可證[注16]。
(三)、開放源代碼軟件得以快速發(fā)展的原因
——Internet是開放源代碼的最佳媒體和途徑
傳統(tǒng)的源代碼傳播途徑是以紙介質(zhì)或磁盤為媒體的,其傳播速度和范圍都十分有限,不能及時反饋和公開程序高手們修改與補(bǔ)充的代碼,討論的范圍就更狹窄了。Internet的出現(xiàn)充分縮短了交流的時間和空間,不論在哪里,也僅是一“屏”之隔,一“點”之差,Linux就是借助于Internet發(fā)展壯大的,可以說沒有Internet就沒有Linux。Internet的發(fā)展壯大了開放源代碼軟件事業(yè),同時也給開放源代碼軟件的最初原則帶來挑戰(zhàn),開放源代碼軟件許可證正是在這樣的條件下誕生的,許可證伴隨源代碼在網(wǎng)絡(luò)上傳播,為開放源代碼運動保駕護(hù)航。
三、 關(guān)于開放源代碼軟件許可證的比較研究
(一)、軟件許可證的由來
軟件許可證的發(fā)展是隨著軟件產(chǎn)業(yè)發(fā)展而發(fā)展的,而軟件產(chǎn)業(yè)的發(fā)展又是隨著計算機(jī)技術(shù)的進(jìn)化的。在20世紀(jì)80年代以前,由于計算機(jī)都是大型化的,所以軟件業(yè)的市場范圍比較狹小,大部分軟件都是為專門的計算機(jī)定制的,對當(dāng)時軟件業(yè)最形象的描述就是量體裁衣般的“裁縫式”。[注17]1980年以后,隨著計算機(jī)制造技術(shù)的改進(jìn),個人電腦的普及,才使得軟件市場得以發(fā)展,使得軟件成為產(chǎn)品,軟件程序能夠得以批量生產(chǎn)和銷售。但是軟件同普通商品有一個明顯的不同就是,程序作為軟件產(chǎn)品的核心,是復(fù)雜腦力勞動的結(jié)果,是具有知識產(chǎn)權(quán)特性的。所以軟件產(chǎn)品在商業(yè)化運作中,一個典型的特點就是軟件是許可而不是簡單的商品買賣,更不意味著權(quán)利的賣絕。因此軟件許可協(xié)議,也就是軟件許可證,在軟件產(chǎn)業(yè)中的地位非常重要,因為在許可證中約定了許可人和被許可人的權(quán)利和義務(wù)[注18]。
(二)、幾種開放源代碼軟件許可證的比較研究
為了保證任何人能夠得到源程序或者在需要的時候能夠得到源程序,保證任何人能夠修改開放源代碼軟件或?qū)㈤_放源代碼軟件的一部分用于新的開放源代碼軟件以及保證任何人知道他們能夠做這些事情,所以需要開放源代碼軟件許可證。因為開放源代碼軟件許可證作出如下規(guī)定:禁止任何人不承認(rèn)這些權(quán)利,或者要求其他人放棄這些權(quán)利。如果修改了開放源代碼軟件或者發(fā)布了軟件的副本,這些規(guī)定就轉(zhuǎn)化為確定的責(zé)任,這就是開放源代碼軟件許可證最典型的作用,也就是為什么開放源代碼軟件許可證必不可少的原因。
Ⅰ、GPL許可證
GPL許可證(GPL是General Public License的簡寫)是自由軟件聯(lián)盟GNU的開放源代碼軟件許可證的一種,是開放源代碼軟件領(lǐng)域最富盛名的一種許可證,但同時,GPL許可證也是開放源代碼軟件領(lǐng)域?qū)Ρ辉S可人權(quán)利限制最嚴(yán)的。[注19]
(A)、 GPL許可證概要
Richard在倡導(dǎo)自由軟件聯(lián)盟計劃時, 從軟件的版權(quán)許可協(xié)議入手, 創(chuàng)設(shè)了一種與其開放源代碼軟件發(fā)展相適應(yīng)的“通用公共許可協(xié)議”( General Public License,GPL),凡想加入GNU的軟件著作人都要接受這份許可協(xié)議,其宗旨就是保證用戶有無限復(fù)制和修改的權(quán)利。并且在GPL的導(dǎo)言部分中,對自由軟件和知識產(chǎn)權(quán)的相關(guān)問題進(jìn)行了論述。
1、“自由”的法律含義
前面已經(jīng)提過, 開放源代碼軟件這一定義的來源是從技術(shù)角度,而自由軟件這一定義本身就是版權(quán)意義上的范疇.自由軟件的"自由"體現(xiàn)為通過版權(quán)許可給予的自由,而不是自由的沒有知識產(chǎn)權(quán)。也就是說, 自由軟件不是沒有版權(quán),它首先是承認(rèn)軟件的版權(quán)--軟件有原始的版權(quán)所有者,然后納入自由軟件的版權(quán)許可約束,使每個人在維持該許可的條款不變的情況下,都有權(quán)復(fù)制, 修改和發(fā)布軟件或其衍生的工作,這就是所謂的自由軟件的自由理念。 Richard Stallman在《自由軟件聯(lián)盟宣言書》(《GNU Manifesto》)中有這樣一段對知識產(chǎn)權(quán)的論述:“仔細(xì)研讀過知識產(chǎn)權(quán)法律條款的人會發(fā)現(xiàn),知識產(chǎn)權(quán)并不是一種固有的權(quán)利,現(xiàn)行的各種知識產(chǎn)權(quán)都是立法機(jī)構(gòu)通過專門立法賦予的權(quán)利,所有的知識產(chǎn)權(quán)都是社會給予的許可。”這是Richard進(jìn)行自由軟件發(fā)展工作的法律立足點,他要取得知識產(chǎn)權(quán)法上的論證,并且他認(rèn)為知識產(chǎn)權(quán)是一種社會賦權(quán),既然知識產(chǎn)權(quán)是作為一種權(quán)利是立法上授予的權(quán)利,并且知識產(chǎn)權(quán)法也允許運用“許可”這種方法,通過契約的方式來變更和調(diào)整知識產(chǎn)權(quán)的權(quán)利人與使用者之間的權(quán)利義務(wù),于是Richard從許可這一個角度著手,使自由軟件的運作在不同于商業(yè)軟件的運作,即擴(kuò)大所謂的"自由"時, 能有自己的法律依據(jù)——在承認(rèn)版權(quán)的前提下,通過軟件的版權(quán)許可來實現(xiàn)自由軟件的自由權(quán)利的要求。
2、自由軟件的版權(quán)許可
對于普通的商業(yè)軟件, 軟件開發(fā)商與使用者之間一般都會設(shè)立軟件使用許可協(xié)議,即“一般商業(yè)許可”(General Business License,GBL). 這種許可協(xié)議一般由開發(fā)商單方擬訂,用戶接受協(xié)議是使用軟件的前提,而獲得許可的前提是支付費用購買軟件產(chǎn)品.其許可條款一般按照版權(quán)法或?qū)iT的軟件保護(hù)條例,或者通過雙方合意達(dá)成略高于版權(quán)法和軟件保護(hù)條例保護(hù)標(biāo)準(zhǔn)的軟件許可使用條款。
面對于這種顯然不適合自由軟件的GBL,Richard在倡導(dǎo)自由軟件聯(lián)盟計劃時, 從軟件的版權(quán)許可協(xié)議入手, 創(chuàng)設(shè)了一種與自由軟件發(fā)展相適應(yīng)的" 通用公共許可協(xié)議"( General Public License,GPL),凡想加入GNU的軟件著作人都要接受這份許可協(xié)議,其宗旨就是保證用戶有無限復(fù)制和修改的權(quán)利。更有趣的是,相對于“著作權(quán)”(“Copyright”)這一名詞,Richard新造了一個詞,將這種許可協(xié)議叫做“Copyleft”[注20]。“通用公共許可協(xié)議”在導(dǎo)言部分就明確了這項許可協(xié)議的法律立足點:(1)承認(rèn)軟件的版權(quán);(2) 提供這種許可協(xié)議以使獲得授權(quán)的復(fù)制,散發(fā)和修改軟件的權(quán)利。 GPL是自由軟件著作人同意的保證任何人有共享和修改自由軟件的許可協(xié)議,GPL有13條主要條款,其中社會公眾作為被許可人享有最主要的4項權(quán)利:
(1)為了任何目的的運行該程序;
(2) 有自由獲得源代碼的權(quán)利,并在此基礎(chǔ)上研究程序是如何運行的,并可為了個人的目的改變該程序;
(3)有自由散發(fā)該復(fù)制件的權(quán)利;
(4)有自由改進(jìn)程序,并要求將自己的改進(jìn)向公眾公布的權(quán)利。由這些規(guī)定可以看出自由軟件的權(quán)利人在保留權(quán)利的同時, 已經(jīng)在相當(dāng)程度上向社會公眾許可了復(fù)制權(quán)和修改權(quán)。同時GPL也規(guī)定社會公眾有以下義務(wù): 用戶在發(fā)布源代碼和一切派生工作時不收費(除必要的工本費),不附加其他條款,并必須附帶GPL條款。這樣任何人無論是否作了修改,都必須連帶傳遞復(fù)制和修改這個軟件的自由度,使得自由軟件工作得到延續(xù)和認(rèn)可。
“自由軟件”是一個版權(quán)意義上的范疇。自由軟件認(rèn)為軟件的源代碼應(yīng)該是屬于全人類的公共知識產(chǎn)權(quán),應(yīng)該在編制和使用程序的人之間自由地傳播,而不應(yīng)該是商人謀取利益的手段。對這一知識產(chǎn)權(quán)的任何限制最終都將造成發(fā)展的限制和阻礙。自由軟件的倡導(dǎo)者們不是企圖將別人的軟件共化,他們的做法是將自己的軟件作品納入自由軟件的范疇,貢獻(xiàn)給全世界。
通用公共許可證版權(quán)協(xié)議是一種與傳統(tǒng)知識產(chǎn)權(quán)概念截然不同的全新版權(quán)體系。它與傳統(tǒng)的軟件知識產(chǎn)權(quán)的不同在于:它保證任何人都有發(fā)布自由軟件的自由(如果愿意,可以對此項服務(wù)收取一定的費用);保證任何人能夠得到源程序或者在需要的時候能夠得到源程序;保證任何人能夠修改自由軟件或?qū)⒆杂绍浖囊徊糠钟糜谛碌淖杂绍浖欢疫€保證任何人知道他們能夠做這些事情。為了保護(hù)這些權(quán)利,通用公共許可證作出如下規(guī)定:禁止任何人不承認(rèn)這些權(quán)利,或者要求其他人放棄這些權(quán)利。如果修改了自由軟件或者發(fā)布了軟件的副本,這些規(guī)定就轉(zhuǎn)化為確定的責(zé)任。
自由軟件與傳統(tǒng)的商業(yè)軟件的主要區(qū)別在于:商業(yè)軟件一般不提供源代碼,而自由軟件保證提供源代碼;商業(yè)軟件禁止用戶將軟件散布給第三者,而自由軟件在法律上保證任何人有權(quán)按照許可證的規(guī)定散發(fā)軟件;更為重要的是自由軟件在法律上保證了任何軟件作品一旦宣布為自由軟件,便永遠(yuǎn)是自由軟件,包括原始作者在內(nèi)的任何人都無權(quán)改變。任何更新、移植、修改和增強(qiáng)都被定義為“導(dǎo)出性工作”,是不能改變原始版權(quán)說明的。
當(dāng)然,通用公共許可證既然是一種軟件知識產(chǎn)權(quán)的保護(hù)方式,它并不排斥軟件開發(fā)者從軟件中獲取利益,只是盈利的方式有所改變:從過去依賴軟件拷貝的銷售,轉(zhuǎn)向主要提供軟件及信息服務(wù)。而且,現(xiàn)有商業(yè)軟件嫁接到GNU/Linux等自由軟件上時,也不一定非要公布源代碼和提供免費拷貝,這意味著,自由軟件可以與商業(yè)軟件共存。
當(dāng)我們使用商業(yè)軟件時我們都會看到一個版權(quán)信息,它通常是說被許可人沒有權(quán)力對被許可人買的軟件進(jìn)行拷貝、分銷。至于理解和修改,因為根本就沒有源碼所以就無所謂“理解“和“修改“。毋庸諱言,在我們的身邊,至今有人還未注意到有關(guān)版權(quán)的信息,因此,我們不知道我們究竟放棄了自己的哪些權(quán)力,而我們或許會為此付出代價。
其實,自由軟件的本質(zhì)不是免費,它是賦予使用者運行、拷貝、散布、研究、改進(jìn)軟件的自由,并保證這些自由不會因為私有軟件的介入而喪失:學(xué)習(xí)程序如何工作、修改使之適合被許可人的需要;散布,使被許可人和被許可人的鄰居、朋友共享軟件;改進(jìn)程序,將被許可人的改進(jìn)公之于眾,使整個社會受益等權(quán)利。它的本質(zhì)是“思想共享、知識共享、源碼共享”,是非壟斷,是鮮活的思想貢獻(xiàn)。借助別人的優(yōu)秀思想,加上被許可人自己獨特思維使全社會受益。如果被許可人沒有錢,被許可人可以通過免費的渠道,如從朋友處拷貝或通過英特網(wǎng)下載。如果被許可人很有錢,被許可人可以以捐贈的方式用高價購買。這一切取決于您自己。
當(dāng)隨意使用一個軟件而不必?fù)?dān)心侵權(quán)時,深曉“自由”真諦的人們,必會感到社會的溫馨和友愛,當(dāng)可以隨時修改程序使它更好、更適用時,一定能體驗工作效率得到提高的興奮,當(dāng)把自己的辛勤勞動公之于眾、供千萬人使用的時候,被承認(rèn)的自豪感將充分體驗自由、和諧、高效的世界充滿著愛!
3、自由軟件與軟件專利
作為軟件生產(chǎn)大國和專利制度比較發(fā)達(dá)的美國,軟件專利的數(shù)量也是很大的,軟件專利的獨占權(quán)與自由軟件所倡導(dǎo)的"自由"精神格格不入,Richard的GNU 計劃書中還專門提到了這一點。他認(rèn)為“自由軟件面對的最大威協(xié)就是軟件專利”。由于美國對軟件專利這樣的獨占權(quán)的保護(hù)期又是長達(dá)17年,這顯然與"自由"精神抵觸,另外更重要的就是由于自由軟件在發(fā)布、改進(jìn)過程中融入了許多人的勞動,多多少少有可能涉及到自由軟件所最不愿意遇到的所謂軟件專利侵權(quán)訴訟。比如說,LZW 公司1983年申請的一個壓縮技術(shù)的專利, 導(dǎo)致自由軟件聯(lián)盟GNU涉及生產(chǎn)該壓縮制品的自由軟件遲遲不能在網(wǎng)上發(fā)布,在1998年,一個生產(chǎn)MP3 壓縮音響制品的自由軟件又被停止在網(wǎng)上的發(fā)布,因為可能面對軟件專利侵權(quán)的訴訟。目前對付這種軟件專利侵權(quán)訴訟的方法也就是兩個:一是申請宣告該專利無效;二就是尋找其他的替換方法去實現(xiàn)自由軟件發(fā)布的目的,但這些又似乎都是不得以而為之的對策。
上面說的是自由軟件與已存在的軟件專利之間的問題,而針對自由軟件本身,在“通用公共許可協(xié)議”的導(dǎo)言部分中, 還專門有一項關(guān)于自由軟件可否申請軟件專利的條款:“鑒于任何自由軟件時刻處于軟件專利的威脅之下,我們希望能避免這種情況:自由軟件的再傳播者在實施過程中使得這項軟件程序獲得專利獨占權(quán),正是基于此目的, 我們明確地要求承諾任何自由軟件可以去獲得專利授權(quán)的前提是一旦獲得軟件專利授權(quán)必須向所有的人以符合自由軟件使用條件的標(biāo)準(zhǔn)許可使用該專利, 否則就不可去申請軟件專利。”從這里可以看出GPL多少是排斥軟件專利的.
從以上可以看出, 以自由軟件運動GNU為代表的開放源代碼軟件的出現(xiàn)并不是要否定知識產(chǎn)權(quán),它是植根于知識產(chǎn)權(quán)的土壤之中,去體現(xiàn)自己的風(fēng)格,實現(xiàn)自己的追求, 它依賴于知識產(chǎn)權(quán)并謀求一種創(chuàng)新,因為自由軟件的精神并不是與知識產(chǎn)權(quán)保護(hù)制度相矛盾,應(yīng)當(dāng)說,它屬于一種權(quán)利的主動放棄。自由軟件的出現(xiàn)是自由精神與創(chuàng)新精神相結(jié)合的產(chǎn)物,自由軟件開發(fā)群體奉行自由精神,不追求個人物質(zhì)利益的實現(xiàn),而立足于創(chuàng)造、構(gòu)建理想的軟件產(chǎn)品,這樣的精神是值得提倡和推崇的
綜上可以看出,自由軟件的出現(xiàn),并不像有些人想象的那樣自由軟件從根本上否定了知識產(chǎn)權(quán)法律制度,事實上,自由軟件并不同版權(quán)制度矛盾,只是由權(quán)利人向公眾許可了本屬于自己的修改權(quán)、發(fā)布權(quán)等一些版權(quán)權(quán)利。但是,對于專利來講,可以看出自由軟件是反對由專利形成的壟斷權(quán),因此,自由軟件不提倡軟件專利。
(B)、GPL許可證有關(guān)復(fù)制、發(fā)布和修改等權(quán)利的約定
GPL許可證適用于任何包含版權(quán)所有者聲明的程序和其他作品,版權(quán)所有者在聲明中明確說明程序和作品可以在GPL許可證條款的約束下發(fā)布。GPL許可證中對源代碼指的是對作品進(jìn)行修改最優(yōu)先擇取的形式。對可執(zhí)行的作品講,完整的源碼包括:所有模塊的所有源程序,加上有關(guān)的接口的定義,加上控制可執(zhí)行作品的安裝和編譯的“原本”(原文為:“script”)。作為特殊例外,發(fā)布的源碼不必包含任何常規(guī)發(fā)布的供可執(zhí)行代碼在上面運行的操作系統(tǒng)的主要組成部分(如編譯程序,內(nèi)核等)。除非這些組成部分和可執(zhí)行作品結(jié)合在一起[注21]。下面提到的“程序”指的是任何這樣的程序或作品。而“基于程序的作品”指的是程序或者任何受版權(quán)法約束的衍生作品,也就是說包含程序或程序的一部分的作品,可以是原封不動的,或經(jīng)過修改的和(或)翻譯成其他語言的(程序)。在GPL許可證中,翻譯包含在修改的條款中,許可證條款不適用于復(fù)制,發(fā)布和修改以外的活動。運行程序的活動不受條款的限止。僅當(dāng)程序的輸出構(gòu)成基于程序作品的內(nèi)容時,這一條款才適用(如果只運行程序就無關(guān))。
GPL許可證規(guī)定只要在每一副本上明顯和恰當(dāng)?shù)爻霭姘鏅?quán)聲明和不承擔(dān)擔(dān)保(即No Warranty條款,將在下文中討論)的聲明,保持此許可證的聲明和不擔(dān)保的聲明完整無損,并和程序一起給每個其他的程序接受者一份許可證的副本,被許可人就可以用任何媒體復(fù)制和發(fā)布被許可人收到的原始的程序的源代碼,可以為轉(zhuǎn)讓副本的實際行動收取一定費用,也有權(quán)選擇提供擔(dān)保以換取一定的費用。
可以修改程序的一個或幾個副本或程序的任何部分,以此形成基于程序的作品。只要同時滿足下面的所有條件,就可以按前面第一款的要求復(fù)制和發(fā)布這一經(jīng)過修改的程序或作品。
a) 必須在修改的文件中附有明確的說明:被許可人修改了這一文件及具體的修改日期。
b) 必須使被許可人發(fā)布或出版的作品(它包含程序的全部或一部分,或包含由程序的全部或部分衍生的作品)允許第三方作為整體按許可證條款免費使用。
c) 如果修改的程序在運行時以交互方式讀取命令,就必須使它在開始進(jìn)入常規(guī)的交互使用方式時打印或顯示聲明:包括適當(dāng)?shù)陌鏅?quán)聲明和沒有擔(dān)保的聲明(或者被許可人提供擔(dān)保的聲明); 用戶可以按此許可證條款重新發(fā)布程序的說明;并告訴用戶如何看到這一許可證的副本。
如果能夠確定作品的一部分并非程序的衍生產(chǎn)品,可以合理地認(rèn)為這部分是獨立的,是不同的作品。當(dāng)將它作為獨立作品發(fā)布時,它不受此許可證和它的條款的約束。但是當(dāng)將這部分作為基于程序的作品的一部分發(fā)布時,作為整體它將受到許可證條款約束。準(zhǔn)予其他許可證持有人的使用范圍擴(kuò)大到整個產(chǎn)品。也就是每個部分,不管它是誰寫的。
因此,GPL許可證這項條款的意圖不在于索取權(quán)利或剝奪全部由被許可人寫成的作品的權(quán)利。而是履行權(quán)利來控制基于程序的集體作品或衍生作品的發(fā)布。此外,將與程序無關(guān)的作品和該程序或基于程序的作品一起放在存貯體或發(fā)布媒體的同一卷上,并不導(dǎo)致將其他作品置于此許可證的約束范圍之內(nèi)。
GPL許可證允許以目標(biāo)碼或可執(zhí)行形式復(fù)制或發(fā)布程序(或符合GPL許可證第2款的基于程序的作品),只要被許可人遵守下面的條款。
a)在通常用作軟件交換的媒體上,和目標(biāo)碼一起附有機(jī)器可讀的完整的源碼。這些源碼的發(fā)布應(yīng)符合上面條款的要求?;蛘?BR>b)在通常用作軟件交換的媒體上,和目標(biāo)碼一起,附有給第三方提供相應(yīng)的機(jī)器可讀的源碼的書面報價。有效期不少于3年,費用不超過實際完成源程序發(fā)布的實際成本。源碼的發(fā)布應(yīng)符合上面的要求?;蛘?BR>c)和目標(biāo)碼一起,附有被許可人收到的發(fā)布源碼的報價信息。(這一條款只適用于非商業(yè)性發(fā)布,而且只收到程序的目標(biāo)碼或可執(zhí)行代碼和按b)款要求提供的報價)。
如果采用提供對指定地點的訪問和復(fù)制的方式發(fā)布可執(zhí)行碼或目標(biāo)碼,那么,提供對同一地點的訪問和復(fù)制源碼可以算作源碼的發(fā)布,即使第三方不強(qiáng)求與目標(biāo)碼一起復(fù)制源碼。除非明確按許可證提出的要求去做,否則被許可人不能復(fù)制,修改,轉(zhuǎn)發(fā)許可證和發(fā)布程序。任何試圖用其他方式復(fù)制、修改、轉(zhuǎn)發(fā)許可證和發(fā)布程序是無效的。而且將自動結(jié)束許可證賦予被許可人的權(quán)利。然而,對那些從被許可人那里按許可證條款得到副本和權(quán)利的人們,只要他們繼續(xù)全面履行條款,許可證賦予他們的權(quán)利仍然有效。每當(dāng)重新發(fā)布程序(或任何基于程序的作品)時,接受者自動從原始許可證頒發(fā)者那里接到受這些條款和條件支配的復(fù)制,發(fā)布或修改程序的GPL許可證。
Ⅱ、LGPL許可證
LGPL許可證(LGPL許可證是LESSER GENERAL PUBLIC LICENSE的簡寫,也叫LIBRARY GENERAL PUBLIC LICENSE[注22],中文譯為“較寬松公共許可證”或者“函數(shù)庫公共許可證”)。這個許可證,適用于一些由自由軟件基金會與其它決定使用此許可證的軟件作者,所特殊設(shè)計的軟件軟件包 ── 像函數(shù)庫(即LIBRARY)可以使用它。
(A)、LGPL許可證的特點
LGPL許可證,也是自由軟件聯(lián)盟開放源代碼軟件許可證的一種,大部分的 GNU軟件,包括一些函數(shù)庫,是受到原來的 GPL許可證的保護(hù)。而LGPL許可證,適用于特殊設(shè)計的函數(shù)庫,且與原來的通用公共許可證有很大的不同,給被許可人較為寬松的權(quán)利,所以叫“較寬松公共許可證”。在特定的函數(shù)庫中使用它,以準(zhǔn)許非自由的程序可以與這些函數(shù)庫連結(jié)。
當(dāng)一個程序與一個函數(shù)庫連結(jié),不論是靜態(tài)連結(jié)或使用共享函數(shù)庫,二者的結(jié)合可以合理地說是結(jié)合的作品,一個原來的函數(shù)庫的衍生品。因此,原來的通用公共許可證只有在整個結(jié)合品滿足其自由的標(biāo)準(zhǔn)時,才允許連結(jié)。較寬松通用公共許可則以更寬松的標(biāo)準(zhǔn)允許其它程序代碼與本函數(shù)庫連結(jié)。
例如,在少數(shù)情況下,可能會有特殊的需要而鼓勵大家盡可能廣泛地使用特定的函數(shù)庫,因而使它成為實際上的標(biāo)準(zhǔn)。為了達(dá)到此目標(biāo),必須允許非自由的程序使用此函數(shù)庫。一個較常發(fā)生的情況是一個自由的函數(shù)庫與一個被廣泛使用的非自由函數(shù)庫做相同的工作,在此情況下,限制只有自由軟件可以使用此自由函數(shù)庫不會有多少好處,故我們?nèi)缬昧薒GPL許可證。在其它情況下,允許非自由程序使用特定的函數(shù)庫,可以讓更多的人們使用由軟件的大部分。例如,允許非自由程序使用 GNU C 函數(shù)庫可以讓更多的人們使用整個 GNU 作業(yè)系統(tǒng),以及它的變形,GNU/Linux 作業(yè)系統(tǒng)。 盡管LGPL許可證對使用者的自由是較少的保護(hù)的,它卻能確保與此函數(shù)庫連結(jié)的程序的使用者擁有自由,而且具有使用修改過的函數(shù)庫版本來執(zhí)行該程序的必要方法。
(B)、關(guān)于復(fù)制、散布、以及修改的規(guī)定
LGPL許可證在關(guān)于復(fù)制、散布、以及修改的規(guī)定中特別區(qū)別了 "基于函數(shù)庫的作品" 以及 "使用函數(shù)庫的作品" 之間的差異:前者包含來自函數(shù)庫修改過的源代碼;而后者則必須與函數(shù)庫結(jié)合才能執(zhí)行。
LGPL許可證適用于任何軟件函數(shù)庫,或其它包含了由版權(quán)所有者加入的注意事項的程序,或其它有公信力的團(tuán)體宣稱其程序可以在LGPL許可證的條款下散布。一個 “函數(shù)庫”意指一些軟件函數(shù)的集合,以及或準(zhǔn)備好的資料以方便與應(yīng)用程序 (其使用了其中某些函數(shù)與資料) 連結(jié)形成可執(zhí)行的程序。 以下,“函數(shù)庫”一詞指的是任何在本條款下散布的這一類軟件函數(shù)庫或作品,一個 "基于本函數(shù)庫的作品" 意指函數(shù)庫或任何在版權(quán)法下的衍生作品。也就是說,一包含了本函數(shù)庫或其一部分的作品,可以是原封不動的,或經(jīng)過修改的,和(或)直接翻譯成其它語言的(在LGPL許可證中,翻譯是包含在 "修改" 的條款中)。
作品的 "源代碼" 意指對作品進(jìn)行修改最優(yōu)先擇取的形式。對函數(shù)庫而言,完整的源代碼意指所有模塊的所有原始程序,加上有關(guān)的接口的定義,加上控制函數(shù)庫的安裝和編譯的 “原本”(原文為:“script”)。[注23]
LGPL許可證條款不適用于復(fù)制,發(fā)布和修改以外的活動。這些活動超出這些條款的范圍。使用本函數(shù)庫來執(zhí)行本程序的動作不受條款的限制,而程序的輸出只有在其內(nèi)容所構(gòu)成的作品是基于本函數(shù)庫時 (與在什么工具中使用本函數(shù)庫來輸出無關(guān)) ,這一條款才適用。以上情況是否成立則取決于本函數(shù)庫具體用來做什么。只要被許可人在每一程序副本上明顯和恰當(dāng)?shù)匦姘鏅?quán)聲明和不承擔(dān)擔(dān)保的聲明,并保持此許可證的聲明和沒有擔(dān)保的聲明完整無損,并和程序一起給其它每位程序接受者一份許可證的副本,該被許可人就可以用任何媒體復(fù)制和發(fā)布他收到的函數(shù)庫的完整源代碼,也可以為轉(zhuǎn)讓副本的實際行動收取一定費用,也可以選擇提供擔(dān)保以換取一定的費用。
只要同時滿足下面的所有條件,就可以按前面的要求修改函數(shù)庫的一個或幾個副本或它的任何部分,以此形成基于此函數(shù)庫的作品,并且復(fù)制和發(fā)布這一經(jīng)過修改的程序或作品:
a. 被修改的作品本身必須是一個軟件函數(shù)庫。
b. 必須在修改過的檔案中附有明確的說明:被許可人修改了此一檔案及任何修改的日期。
c. 必須讓整個作品允許第三方在此許可證條款下可以免費使用。
d. 如果修改過的函數(shù)庫的某個設(shè)備使用到了使用本函數(shù)庫的應(yīng)用程序所提供的函數(shù)或資料表格,卻不是當(dāng)此設(shè)備被呼叫時以參數(shù)列傳入時,則必須確實做到,當(dāng)應(yīng)用程序不提供這樣的函數(shù)庫表格時,則此設(shè)備依舊能工作,且其執(zhí)行的任何目的仍然有意義(例如,一個函數(shù)庫的函數(shù)用來計算平方根,其目的是有完整的定義且與應(yīng)用程序是無關(guān)的。因此,要求任何本函數(shù)會使用的,由應(yīng)用程序所提供的函數(shù)或表格必須是選擇性的:如果應(yīng)用程序不提供的話,則計算平方根的函數(shù)必須依舊能計算平方根)。
這些要求適用于整個修改過的作品。如果能夠確定作品的一部分并非本函數(shù)庫的衍生產(chǎn)品,且可以合理地單獨考考慮它與原作品分開的話,則當(dāng)將它作為獨立的作品發(fā)布時,它不受此許可證和其條款的約束。但是當(dāng)被許可人將這部分與基于本函數(shù)庫的作品一同發(fā)布時,則整個軟件包將受到本許可證條款約束,其對于其它許可證持有人的使用范圍擴(kuò)大到整個產(chǎn)品,也就是軟件包的每個部分,不管它是誰寫的。因此,LGPL許可證條款的意圖不在于索取權(quán)利,或剝奪完全由被許可人完成的作品的權(quán)利,而是履行權(quán)利來控制基于本函數(shù)庫的集體作品或衍生作品的發(fā)布。此外,將與本函數(shù)庫無關(guān)的作品和本函數(shù)庫 (或基于本函數(shù)庫的作品) 一起放在儲存媒體或發(fā)布媒體的同一卷上,并不導(dǎo)致將其它作品置于此許可證的約束范圍之內(nèi)。
前面已經(jīng)說過LGPL許可證是根據(jù)GPL許可證演變的。還有一個規(guī)定就是,開放源代碼時,可以選用LGPL許可證,對于選用LGPL許可證公開的源代碼,可以變更為適用GPL許可證,但卻不能反向變更。LGPL許可證允許以目標(biāo)碼或可執(zhí)行形式復(fù)制或發(fā)布本函數(shù)庫,只要被許可人遵守前面的要求,并同時提供完整的相關(guān)機(jī)器可讀的源代碼,而這些源代碼在一般習(xí)慣上用來做軟件交換的媒體上散布。如果所發(fā)布的目標(biāo)碼是由指定的地點提供拷貝索取,那么由同一地點所提供等價的源代碼拷貝索取可以算作源代碼的發(fā)布,即使第三方不強(qiáng)求與目標(biāo)碼一起復(fù)制源代碼。
一個程序若包含不經(jīng)任何部分修改的函數(shù)庫,但卻是設(shè)計經(jīng)由編譯或連結(jié)的方式與本函數(shù)庫一同工作者,稱之為“使用函數(shù)庫的作品”。這樣的一個作品,嚴(yán)格地說,并非本函數(shù)庫的衍生作品,因而不在本許可證的范圍之內(nèi)。然而,將“使用函數(shù)庫的作品”與本函數(shù)庫連結(jié)而產(chǎn)生可執(zhí)行程序,則是本函數(shù)庫的衍生品 (因為它包含了本函數(shù)庫的一部分),而不是 "使用函數(shù)庫的作品",因此其可執(zhí)行程序包含在本許可證的范圍內(nèi)。當(dāng)“使用函數(shù)庫的作品”使用了函數(shù)庫部分的標(biāo)頭檔內(nèi)容時,則此作品即使其源代碼不屬于本函數(shù)庫的衍生品,但其目標(biāo)碼仍然是。這一點是否為真特別在是否本作品可以在不需要本函數(shù)庫即可連結(jié),或者是否該作品本身也是一個函數(shù)庫時特別明顯。
如果這樣的目標(biāo)文件只使用數(shù)字參數(shù)、數(shù)據(jù)結(jié)構(gòu)層級與附屬品、以及小宏和小內(nèi)嵌式 (小于或等于十行) ,則此目標(biāo)文件的使用是不受限的,不論是否它是合法的衍生作品。 否則的話,如果本作品是本函數(shù)庫的衍生品,被許可人必須按規(guī)定下散布該作品的目標(biāo)碼。做為上述規(guī)定的例外情況,被許可人也可以將“使用函數(shù)庫的作品”與本函數(shù)庫結(jié)合或連結(jié),以產(chǎn)生包含部分本函數(shù)庫的作品,并在允許使用者自身使用時可以修改該作品,以及在對修改進(jìn)行反組譯除錯的情況下,被許可人可以依照自己的選擇散布該作品。
被許可人必須在每個作品的副本突顯出如下的注意事項:本函數(shù)庫在作品中被使用,以及本函數(shù)庫以及它的使用是在本許可證的規(guī)范下。被許可人必須提供本LGPL許可證的副本。如果該作品在執(zhí)行時顯示版權(quán)聲明,被許可人必須在其中包含本函數(shù)庫的版權(quán)聲明,以及指引使用者取得本許可證的副本。同時,被許可人必須做到以下其中一件事:
a. 必須將完整的機(jī)器可讀的函數(shù)庫源代碼包含在該作品中,包括任何該作品使用到的改變 (這些改變必須在前述第 1 與第 2 款的要求下散布);而且,如果該作品是一個與函數(shù)庫連結(jié)的“完整的、機(jī)器可讀的’使用函數(shù)庫的作品’”,則要有目標(biāo)碼和(或)源代碼,如此使用者可以修改本函數(shù)庫且可以重新連結(jié),以產(chǎn)生包含修改過的函數(shù)庫的修改過的可執(zhí)行程序。
b. 在與函數(shù)庫連結(jié)時使用適當(dāng)?shù)姆窒砗瘮?shù)庫連結(jié)機(jī)制。一個適當(dāng)?shù)臋C(jī)制是:
(1) 在執(zhí)行時使用已存在于使用者的計算機(jī)中的函數(shù)庫副本,而不是將函數(shù)庫的函數(shù)復(fù)制到可執(zhí)行程序里,以及
(2) 如果使用者安裝了一份修改過的函數(shù)庫,只要修改過的版本在接口上與該作品在編譯連結(jié)時所用的版本是兼容的,則該執(zhí)行程序可以與修改過的函數(shù)庫運作良好。
c. 在該作品內(nèi)提供書面報價,有效期不少于三年,以提供同樣的使用者上述條款中的內(nèi)容,費用不得超過該程序發(fā)布的實際成本。
d. 如果所發(fā)布的作品是由指定的地點提供拷貝索取,則由同一地點提供上述內(nèi)容的等價拷貝索取。
e. 確定使用者已經(jīng)收到該作品的一份復(fù)制,或是被許可人已經(jīng)寄給該使用者一份復(fù)制品。
對于一個可執(zhí)行程序,其所需的“使用函數(shù)庫的作品“的形式必須包括任何要從中再產(chǎn)生可執(zhí)行程序時所需的資料與工具程序。然而,有一個特殊例外,其所散布的內(nèi)容不需要包括任何一般與“可執(zhí)行本程序的操作系統(tǒng)”的主要部分 (如編譯器、核心等) 一起發(fā)布的部分 (不論是源代碼或可執(zhí)行碼),除非這些組成部分和可執(zhí)行作品結(jié)合在一起。有一個可能情況是,這些要求與其它通常不與操作系統(tǒng)在一起的私有函數(shù)庫的版權(quán)限制相抵觸,這樣的抵觸表示被許可人不能將它們與本函數(shù)庫一起用于被許可人散布的可執(zhí)行程序中。
LGPL許可證允許將使用本函數(shù)庫的函數(shù)庫設(shè)備,以及其它不在本許可證范圍內(nèi)的函數(shù)庫,對等地放入一個單獨的函數(shù)庫中,并在基于本函數(shù)庫的作品以及其它函數(shù)庫在其它狀態(tài)下同意可以個別散布,以及被許可人做到以下兩點的情況下,被許可人可以散布此結(jié)合的函數(shù)庫:
a. 將基于本函數(shù)庫的作品單獨不與其它函數(shù)庫設(shè)備結(jié)合地,與此結(jié)合的函數(shù)庫一同散布。該作品必須在上述條款的規(guī)范下散布。
b. 在此結(jié)合的函數(shù)庫中明顯地指出其中一部分的作品是基于本函數(shù)庫,并且說明那里可以找到同樣不具結(jié)合形式的作品。
Ⅲ、 MPL許可證
MPL(MPL是The Mozilla Public License的簡寫),最初是1998年初Netscape的 Mozilla小組為其開放源代碼軟件項目設(shè)計的軟件許可證。MPL許可證出現(xiàn)的最重要原因就是Netscape公司認(rèn)為GPL許可證沒有好好平衡開發(fā)者對源代碼需求與他們獲得的利益。[注24]同著名的GPL許可證和BSD許可證相比,MPL在許多權(quán)利與義務(wù)的約定方面與它們相同(因為都是符合OSIA認(rèn)定的開放源代碼軟件許可證)。但是,相比而言MPL還有以下幾個顯著的不同之處:
(一)、MPL雖然要求對于經(jīng)MPL許可證發(fā)布的源代碼的修改也要以MPL許可證的方式再許可出來,以保證其他人可以在MPL的條款下共享源代碼。但是,在MPL許可證中對“發(fā)布”的定義是“以源代碼方式發(fā)布的文件”,這就意味著MPL允許一個企業(yè)在自己已有的源代碼代碼庫上加一個接口,除了接口程序的源代碼以MPL許可證的形式對外許可外,源代碼庫中的源代碼就可以不用MPL許可證的方式強(qiáng)制對外許可。這些,就為借鑒別人的源代碼用做自己商業(yè)軟件開發(fā)的行為留了一個豁口。[注25]
(二)、MPL許可證第三條第7款中允許被許可人將經(jīng)過MPL許可證獲得的源代碼同自己其他類型的代碼混合得到自己的軟件程序。
(三)、對軟件專利的態(tài)度,MPL許可證不像GPL許可證那樣明確表示反對軟件專利,但是卻明確要求源代碼的提供者不能提供已經(jīng)受專利保護(hù)的源代碼(除非他本人是專利權(quán)人,并書面向公眾免費許可這些源代碼),也不能在將這些源代碼以開放源代碼許可證形式許可后再去申請與這些源代碼有關(guān)的專利。
(四)、對源代碼的定義
在GPL許可證中,對源代碼的定義如下:“源代碼指的是對作品進(jìn)行修改最優(yōu)先擇取的形式。對可執(zhí)行的作品講,完整的源碼包括:所有模塊的所有源程序,加上有關(guān)的接口的定義,加上控制可執(zhí)行作品的安裝和編譯的”原本”(原文為:“script”)。作為特殊例外,發(fā)布的源碼不必包含任何常規(guī)發(fā)布的供可執(zhí)行代碼在上面運行的操作系統(tǒng)的主要組成部分(如編譯程序,內(nèi)核等)。除非這些組成部分和可執(zhí)行作品結(jié)合在一起。如果采用提供對指定地點的訪問和復(fù)制的方式發(fā)布可執(zhí)行碼或目標(biāo)碼,那么,提供對同一地點的訪問和復(fù)制源碼可以算作源碼的發(fā)布,即使第三方不強(qiáng)求與目標(biāo)碼一起復(fù)制源碼。
而在MPL(1.1版本)許可證中,對源代碼的定義是:“源代碼指的是對作品進(jìn)行修改最優(yōu)先擇取的形式,它包括:所有模塊的所有源程序,加上有關(guān)的接口的定義,加上控制可執(zhí)行作品的安裝和編譯的“原本”(原文為: “script”),或者不是與初始源代碼顯著不同的源代碼就是被源代碼貢獻(xiàn)者選擇的從公共領(lǐng)域可以得到的程序代碼。”
(五)、MPL許可證中對于被許可人發(fā)布和修改的權(quán)利、義務(wù)同GPL許可證沒有什么區(qū)別只是就修改的源代碼以網(wǎng)絡(luò)發(fā)布的形式有一個時間的要求,即該網(wǎng)頁的保留時間不能少于12個月。
但是MPL許可證第3條有專門的一款是關(guān)于對源代碼修改進(jìn)行描述的規(guī)定,就是要求所有再發(fā)布者都得有一個專門的文件就對源代碼程序修改的時間和怎么修改都得有描述。
Ⅳ、BSD許可證
BSD許可證原先是用在加州大學(xué)柏克萊分校發(fā)表的各個4.4BSD/4.4BSD-Lite版本上面(BSD是Berkly Software Distribution的簡寫),后來也就逐漸沿用下來。1979年加州大學(xué)伯克利分校建立了BSD Unix,被稱為開放源代碼的先驅(qū),BSD許可證就是隨著BSD Unix發(fā)展起來的[注26]。BSD許可證現(xiàn)在被Apache和BSD操作系統(tǒng)等開放源代碼軟件所采納。
相較于GPL許可證和MPL許可證的嚴(yán)格,BSD許可證就寬松許多了,一樣是需要附上許可證的原文,不過比較有趣的是,它還要求將所有程序發(fā)展者的版權(quán)資料放上去,所以拿到以BSD許可證發(fā)行的軟件可能會遇到一個小狀況就是這些版權(quán)資料許可證占的空間比程序還大。
在所有開放源代碼軟件許可證中,BSD許可證可能對被許可人來說是最“寬容”的,因為它盡可能的賦予了被許可人使用源代碼的權(quán)利。它的宗旨是:“這些就是源代碼,做被許可人想做的任何事情,我們不會介意,只要被許可人在試用和銷售與本源代碼有關(guān)的產(chǎn)品時不要忘記標(biāo)明我們的勞動。[注27]”只要標(biāo)明了源代碼的出處,被許可人在以下問題將不受限制:再許可問題、將這些源代碼用在自己的程序中而按自己的要求進(jìn)行程序的發(fā)布和軟件的許可[注28]。所以說,對于要研究和借鑒源代碼的軟件人員來講,能選用BSD開放源代碼軟件庫中的軟件是最合適不過的。
四、開放源代碼軟件許可證給我們的幾點啟示
(一)、開放源代碼軟件許可證的特點小結(jié)
前面我們分析了GPL、LGPL、MPL、BSD許可證。除此之外,還有NOKIA許可證、MIT許可證、APPLE許可證等等,通過對比研究我們可以發(fā)現(xiàn),由于要達(dá)到向社會貢獻(xiàn)源代碼的目的,這些開放源代碼軟件許可證有許多的共同點,主要體現(xiàn)在以下幾點:
(1)、開放源代碼軟件許可證都會規(guī)定在被許可人接受本許可證獲得源代碼之后,有將源代碼再發(fā)布的義務(wù),以促進(jìn)開放源代碼運動。
(2)、開放源代碼軟件許可證都有一個“不擔(dān)保”(即No Warranty)條款。 由于源代碼程序準(zhǔn)予免費使用,在一般情況下,對程序沒有擔(dān)保。除非另有書面說明,版權(quán)所有者或其他提供程序的人們“一樣”不提供任何類型的擔(dān)保。不論是明確的,還是隱含的。包括但不限于隱含的適銷和適合特定用途的保證。全部的風(fēng)險,如程序的質(zhì)量和性能問題都由被許可人來承擔(dān)。如果程序出現(xiàn)缺陷,被許可人承擔(dān)所有必要的服務(wù),修復(fù)和改正的費用。
(3)、開放源代碼軟件許可證都會規(guī)定一些關(guān)于修改、復(fù)制和再發(fā)布的條款,目的也是在保證初始人權(quán)利的前提下,盡最大可能向社會貢獻(xiàn)源代碼。只是各許可證對授予被許可人的各項具體的權(quán)利略有一些差異,這可能與“開放源代碼首創(chuàng)行動組織”OSIA對開放源代碼軟件許可證的認(rèn)定只有原則性的規(guī)定有關(guān)。
至于不同點,只在于向被許可人授予的權(quán)利方面有比較細(xì)微的差異,為了便于表明幾種開放源代碼軟件許可證之間的區(qū)別,我們用下面的表格表示出來:
是否允許可以同其他非開放源代碼軟件代碼混合 是否可以將對源代碼的修改不公開 是否可以不加任何限制的任意再許可
GPL許可證 否 否 否
LGPL許可證 是 否 否
BSD許可證 是 是 否
NPL許可證 是 是 否
MPL許可證 是 是 否
APACHE許可證 是 是 否
(二)、按規(guī)則辦事
我們前面用了很大篇幅介紹開放源代碼運動、許可證的認(rèn)定和幾種開放源代碼軟件許可證,目的就是能夠讓我們了解一下國際上關(guān)于開放源代碼軟件發(fā)展的規(guī)則。目前,我國的開放源代碼軟件也正處于一個大發(fā)展的階段,但是我們一定按規(guī)則辦事,這里所謂的按規(guī)則辦事主要是指兩個層面:
一是指我們的開放源代碼軟件的發(fā)展不能閉門造車,尤其在開放源代碼的首次發(fā)布時,要重視開放源代碼軟件許可證。我們既可以借鑒國外成功的開放源代碼軟件許可證,也可以自己擬訂開放源代碼軟件許可證,通過OSIA的認(rèn)定,讓自己的許可證版本列入到OSI計劃認(rèn)定的許可證中,以擴(kuò)大我國開放源代碼軟件的名聲。再進(jìn)一步講,等我們開放源代碼軟件發(fā)展到一定程度,我們可以充分借鑒OSIA的發(fā)展經(jīng)歷以及OSI證明商標(biāo)的戰(zhàn)略,制定有關(guān)標(biāo)準(zhǔn),發(fā)展開放源代碼軟件產(chǎn)業(yè)。
第二個層次是指我們在使用人家的源代碼,一定要遵循規(guī)則。別人發(fā)布出來的源代碼不是不能用,關(guān)鍵要看怎么用,使用一定要遵循規(guī)則,這個規(guī)則就是許可證上規(guī)定的權(quán)利和義務(wù)。我們絕不能一味蠻干甚至擅自據(jù)為己有,那樣不僅是違約行為,還會讓國外同行恥笑。
(三)、在規(guī)則允許前提下從開放源代碼軟件中發(fā)掘壟斷性權(quán)利的思考
由于開放源代碼軟件的商業(yè)化是比較特殊的,因此許多人在考慮通過源代碼獲取經(jīng)濟(jì)利益的途徑。在前面剛剛談到要按規(guī)則辦事,因此,在本節(jié)中,我們在分析開放源代碼軟件許可證的基礎(chǔ)上,提出我們的幾點意見:
(A)、源代碼初始提供人的可以使用的措施
以GPL許可證來說,GPL許可證是開放源代碼軟件許可證領(lǐng)域里要求最嚴(yán)的一種許可證,因為GPL要求任何對原源代碼的修改等行為產(chǎn)生的整套源代碼都必須按照GPL許可證的要求進(jìn)行發(fā)布。這就為想通過GPL發(fā)布的源代碼進(jìn)行商業(yè)軟件開發(fā)的人提供了一個很大的難題,至于被許可人有無可能繞開這一限制,將在下一段里具體討論,在這里,我們站在第一許可人的角度,考慮有什么辦法在進(jìn)行對外的源代碼的GPL許可的同時,還保障自己一定的經(jīng)濟(jì)利益。
雖然說開放源代碼是一種軟件精神的宏揚,但對于貢獻(xiàn)源代碼的人來講,在貢獻(xiàn)源代碼的時候基本上是無任何經(jīng)濟(jì)收入,那么貢獻(xiàn)源代碼的人如果想獲得經(jīng)濟(jì)利益怎么辦呢?下面,我們將源代碼的貢獻(xiàn)者稱為第一許可人,探討以下獲利的途徑:[注29]
第一種辦法是將源代碼同硬件結(jié)合,雖然GPL要求第一許可人將程序的源代碼公開,但是并不禁止第一許可人在硬件中加入含有源代碼程序,這樣,通過硬件的銷售,許可人是可以獲得經(jīng)濟(jì)利益的。比如Cygnus公司就是通過這樣的硬件銷售和維護(hù)方式獲得經(jīng)濟(jì)收益的。
第二種辦法就是第一許可人將自己的源代碼庫分成兩個部分,一部分按照GPL許可證的要求,將源代碼貢獻(xiàn)出來,對于另一部分的源代碼,可以將其經(jīng)過TCP/IP加密后上網(wǎng),這樣,只有那些經(jīng)過付費的人才能獲得這部分源代碼。
除了GPL許可證,其他許可證也允許這樣做。
(B)、利用開放源代碼軟件開發(fā)具有知識產(chǎn)權(quán)保護(hù)的壟斷技術(shù)的可行性分析
我們先以GPL許可證為例,因為GPL許可證是一個非常嚴(yán)格的許可