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