近期極少數個别人在網上打着開源反開源,搞開源虛無主義,現将近6年前編撰的開源ABC小冊子中的部分内容貼在部落格中,以供探讨!
1、 什麼是開源軟體(OSS)?
開源軟體即開放源代碼軟體,其定義首先起源于自由軟體(Free Software)。自由軟體出現之前的規則是軟體開發商擁有軟體源代碼的專用權,他們牢牢控制了源代碼,隻有他們才有特權通路源代碼,使用者和其他程式員無法檢視、改動和完善,使使用者無法真正融入計算機環境之中。Richard Stallman 倡導自由軟體運動,就是要開發出一系列完整的軟體,由原作者對自己的一些知識産權的權利進行放棄,具體說應該是向公衆的許可,同意不但開放源代碼,而且鼓勵使用者之間互相拷貝,通過網絡線上服務,電子公告闆(BBS)的釋出,或者從一個使用者的手裡傳給另一個使用者等途徑自由地傳播,并借此獲得學術上和技術上的交流,讓别人修正和改進源代碼并接受自由軟體運作規則,再重新釋出。用這種模式去激發世界各地的軟體開發人員投入到自由軟體的開發中,軟體開發人員的集體智慧得到充分發揮,人們可以及時發現并解決程式中存在的問題,減少大量不必要的重複勞動。
2、 什麼是自由軟體(FS)?
自由軟體是指允許任何人使用、拷貝、修改、分發(免費/少許收費)的軟體。尤其是這種軟體的源代碼必須是可得到的。從某種意義上說,“沒有源代碼,就稱不上是(自由)軟體。”自由軟體很少标價出售,可以了解為一定程度的免費。但有時軟體公司在提及價格時使用“free software”這個字眼,他們的意思可能是你可以免費獲得一份二進制代碼的拷貝,也可能是在你所購買的機器中已經包含了一份拷貝。但是,這種說法與在GNU 計劃中“free software”的意義是不同的。由于在操作中極易混淆,是以一旦軟體公司說他們的軟體是自由軟體,您一定要檢查您是否得到了自由軟體所應包括的一切。有時,您得到的是自由軟體,有時不是。
3、 “開源軟體OSS”與“自由軟體FS”的關系
這兩個名詞實質是從兩個角度看待同樣一類事物,對同一類軟體的不同叫法,突出不同的價值取向和精神。二者的差别在于給出定義的角度不同。“開放源代碼軟體”(Open Source Software,也有譯為“公開源代碼軟體”)的定義是從技術層面上講,而“自由軟體”則是從被許可的權利層面上講。至于自由軟體和開放源代碼軟體的差別,實際展現的就在于許可證對權利義務的規定的嚴與緊的程度上,有學者認為,開放源代碼軟體許可證中那部分對被許可人權利限制比較嚴的許可證是自由軟體許可證,也就是說,開放源代碼軟體的範圍要稍寬一些,自由軟體的許可證中不允許被許可人将本許可證許可的源代碼的修改版本、演繹版本以其他的許可證方式再許可或者保留起來不許可,隻能按此許可證明施再許可,像自由軟體聯盟GNU 下适用GPL開放源代碼軟體許可證的軟體。而開放源代碼軟體的許可證則允許以其他許可證的方式實施再許可。
4、 什麼是商業軟體(Business Software)?
“商業軟體”(Business Software)是指通過交易或貿易方式面向社會公衆發行的各種商品化的軟體。作為商業軟體,其功能、性能通常已經過嚴格測試因而相當可靠,其使用方法應該相當便利。供應商不僅應該向使用者提供程式(通常是目标碼文本)和使用說明(通常是
手冊的形式),而且應該向使用者提供包括版本更新在内的技術服務。
5、 開源軟體與商業軟體是什麼關系?
商業軟體由商業公司開發,通過收取使用費而牟利。“商業”和“私有”不是一回事。大多數商業軟體是“私有的”,但也有商業自由軟體,也有非商業、非自由的軟體。
例如,GNU Ada 永遠在GNU GPL條款下進行分發,而且,每一個拷貝都是免費的,但它的開發者卻有付費支援合同。當推銷員對使用者這樣說,有時使用者回說,“我們覺得商業編譯器比較安全一些。”,推銷員則回答,“GNU Ada是商業軟體,隻不過碰巧它也是一個自由軟體。”
對“商業”的含義可能存在不同了解,但可以确定的雖然開源軟體本身可能不會帶來很大的收益,但是利用開源軟體的商業模式的确可以實作商業利益,提供了源代碼以外的服務等客戶所需的要素就可以獲得持續、穩定的商業利益。
6、 什麼是私有軟體?
“私有軟體”(即Proprietary Software,或稱“專有軟體”),是FSF 将其作為“自由軟體”和“非自由軟體” 的對立面而對軟體作出的分類。 FSF 對私有軟體的解釋為:
私有軟體不是自由及非自由軟體,對它的使用、傳播、或修改是禁止的,要麼需要你申請許可,要麼它限制你不能充分自由地使用它。自由軟體基金遵守規定,不在計算機中安裝任何私有軟體,除非為了編寫那個程式的替代品而暫時安裝到計算機上。除此之外,我們找不到其他借口要安裝私有程式。
例如,在80 年代,我們認為在計算機安裝Unix 是正當的,因為我們要編寫一個Unix 的免費替代品。現在,由于有了自由作業系統,是以這個借口就不再使用了;我們消除了所有的非自由作業系統,任何新計算機上安裝的都是自由作業系統。我們不能強迫GNU 的使用者或GNU 的貢獻者必須依此規則行事;它隻是給我們自己制定的規則,但我們希望你能下決心遵從它。
7、 什麼是公有軟體?
所謂“公有軟體”(Public Domain Software,也可譯成“公有領域軟體”)是指著作權中的經濟權利(包括複制權、修改改編權、發行權等專有權利)有效期已經屆滿的軟體,以及權利人由于不準備使之商品化而已經明确聲明放棄著作權的軟體。需要指出,公有軟體不同于開放源代碼軟體,因為對于開放源代碼軟體而言,其著作權仍然由其權利人享有,受到著作權法規保護。對于公有軟體,其特點在于:(1)人們可以任意複制、傳播;(2)人們也可以對公有軟體進行反彙編或者反編譯,可以進行反向工程;(3)人們可以使用、改編、甚至将之納入為赢利目的而開發的商業軟體,但不得限制其他人也這樣做。這類軟體的知識産權被用盡的或放棄任何知識産權的軟體,因其進入了公有領域(public domain),沒有任何人可以對其請求任何的權利。
8、 什麼是共享軟體?
試用軟體(Share ware,國内也往往譯成“共享軟體”)。它比普通的商業軟體要便宜得多。所謂“試用軟體”,是指其複制品也可以通過網絡線上服務、電子公告闆(BBS)或者從一個使用者的手裡傳給另一個使用者等途徑自由地傳播。這種軟體的使用說明通常也以文本檔案的形式同程式一起提供。這種試用軟體通常附有一個使用者注意事項,其内容是說明權利人保留對該軟體的權利,是以試用軟體受著作權保護;本軟體居于試用軟體,使用者通過兩個階段試用之後,如果希望繼續使用,就應該向供應者辦理使用注冊手續。使用者注意事項中通常包含一份系統資料庫格,并說明如何以及向何處辦理注冊手續,在辦理注冊手續時可能會要求使用者交納一定費用,實際上就是使用許可費,需要傳遞的使用許可費的款額通常是很低的(幾美元或者幾十美元)。
9、 開源軟體與免費軟體的關系如何?
對免費軟體通常的了解是不必支付費用就可以免費獲得使用權的軟體。而恰巧開源軟體在多數場合被稱作“Free software”。在許多語言中,“free”一詞有兩種意義:一是自由,二是免費。如法語的“libre”和“gratuit”,英語的“gratis”都明白無誤地指價格(免費),但沒有明
白無誤地說明“自由”的意義。這是不幸的,因為如果有這個詞,在此處它将非常有用。
開源軟體通常以免費方式釋出,大部分開源軟體可以免費獲得。但是隻要開源軟體的許可人或再許可人願意,可以收取費用。開源是不排斥收費行為的,而免費軟體一定是免費獲得的。同時免費軟體可能是專有軟體,隻授權免費使用,但不開放供源代碼。是以,開源軟體與免費軟體是兩個不同層面的概念,需要差別對待。
10、 如何了解“Free Software”的“Free”?
這裡的Free有兩個含義:
第一層含義是自由。自由軟體模式為開發者提供了将個人智力成果以不同傳統的方式貢獻給公衆的自由,并保證這種自由符合法律的要求;同時自由軟體沒有妨礙并且為公衆提供了額外的、選擇的自由。開發者自願地将其對于軟體的自由權利授權給其他人,保證了更多人享受到使用軟體的自由。
第二層涵義是一定條件下的免費。由于自由軟體的授權模式不強制免費許可也不強制收費許可,是以,對于已經進入社群(流通領域)的開源軟體而言,獲得這些軟體大都不必付費。了解哲學觀念中“沒有絕對的自由”是了解這個概念的一把鑰匙,開發者和使用者的“自由”都是建立在符合法律和協定要求的前提下的自由;“天下沒有不要錢的午餐”這句話的道理不在于這個午餐是不是一定要付錢,而是說是不是要有代價,“免費”獲得開源軟體也是一樣道理。
總之,“自由”和“免費”都是附有條件的,這個條件就是協定(合同)規定的“對價”,自願地履行開源協定的“對價”不存在對合同任何一方造成損害,不過可以确定的是,如果不履行“對價”,合同就可能不成立,這顯然對合同雙方都沒有好處,不能實作訂立合同的宗旨。
11、 什麼是“開放源代碼”?
OSI 給出開放源代碼的定義的目的是:把所确信的、由軟體開發團體所公認的“開放源代碼”的含義作為一組具體的準則寫下來。該準則確定按照開放源代碼許可證釋出的軟體可以得到與其他軟體同樣認真的評審、使軟體可以不斷地得到改良和遴選,進而提供非開放軟體所難以提供的可靠性與能力。OSI 認為本開放源代碼定義涵蓋了由絕大多數軟體團體使用的術語“開放源代碼”的最初含義和目前含義。然而,該術語被廣泛地應用,并且它的含義變得不精确了。
12、 “開放”源代碼就是“公開”源代碼嗎?
以微軟為代表的“共享源代碼”(Shared Source)的實質是僅僅公開源代碼(且非全部公開)。這是微軟為應對“開放源代碼運動”而提出的新政策,它與OpenSource最大的不同在于,微軟向他的大客戶拷貝其絕對機密的Windows 源代碼,但使用者隻能看或提出修改意見,而不能對它有任何修改。
開放源代碼與公開源代碼的相同之處是二者都保證源代碼被公開,即源代碼以某種方式為人所知悉。但“開源”與“公開”源代碼存在根本的查差别。開源軟體的許可人不僅僅提供源代碼以供其他人參考,同時還許可其他人可以将軟體運作、修改和再授權。更直白的解釋就是“公開”源代碼隻能“看”,“不能用、不能改、更不能再釋出”;而“開放”源代碼不僅能看,還“能用、能改、能再釋出”。
13、 為什麼開發者需要了解軟體的知識産權?
知識産權是法律賦予人們對智力勞動成果所享有的民事權利。知識産權對軟體的創造者而言,可以将知識産權了解為開發者可以在一定期限内對軟體享有的獨占權或專有權和軟體開發者依法享有的其它權利。顯然,開發者對成果的獨占使用權可以帶來各種收益,是以軟體不僅是程式員所創造出來的成果,而且是企業的一筆财富。如何使管理和使用軟體的知識産權,實作其價值最大化是開發者和企業都關心的問題。開發者可以将自己的智力成果進行各種形式的處理。比如公開軟體、出售軟體、甚至是将其進行銷毀都是開發者的自由。這些自由都是法律所賦予的,其中知識産權法是非常重要的一部分。開發者經常忽視知識産權對自身的價值,多半是由于其将法律給予的自由視作與空氣、陽光一樣理所當然、天經地義。事實上,不管開發者是不是注意到知識産權法的存在,他的智力成果始終處于法律的保護和管制之下。開發者準備對自己或他人的智力成果進行任何處理之前,都應該考慮該行為是不是符合知識産權規則的要求。
14、 軟體相關知識産權主要有哪幾類?
最初的知識産權多涵蓋的内容比較窄,主要包括版權、專利權和商标權。後來出現一些新型的知識産權,如地理标記權、內建電路布圖設計權等等。當然與軟體和軟體産品關系最密切的還是版權、專利權和商标權。
15、 沒有登記的軟體受著作權法保護嗎?
開發者大多知道軟體可以通過申請著作權登記得到保護,實際上,軟體從它誕生的那一刻起就已經受到版權法的保護。不管一個軟體是不是申請了著作權登記,軟體作品的作者都可以對侵犯其著作權的行為采取措施。例如,某公司的軟體作品沒有進行著作權登記,但是當有人非法複制這個軟體時,該公司仍然可以通過法律手段追究非法複制者的責任。16、 在中國有沒有軟體專利,商業方法軟體專利又是什麼?關心軟體産業的人們都注意到歐盟在2005 年沒有通過軟體專利法案,但美國的做法對國際規則大趨勢的影響力也不得不考慮。即便沒有專門的軟體專利立法,軟體的專利問題依然存在。“凝固”在産品中的軟體專利已經為國内很多軟體企業所認識。商業方法軟體的專利保護最初也是從美國發起的。商業方法軟體專利在美國、歐洲和日本的申請和授權十分火爆。中國國内的反映比較消極,企業對商業方法的專利申請尚處在無知狀态,專利局的審查指南和政策也沒有針對性的反映,專利代理服務機構多是在忙着為外國的申請進行代理。目前,中國涉及到商業方法的軟體專利不多,而國外銀行以及網絡公司在中國申請的有關電子商務方法的專利已經覆寫了中國金融業的基礎服務。
17、 軟體産品為什麼需要許可協定?
我們可以将軟體了解為特殊的文字作品,隻不過這些文字可以通過一定方法讓計算機也可以讀懂。作者根據著作權法的規定對作品享有一定程度的獨占權,如果作者願意讓其它人共享自己的權利或其它人希望使用這個作品,就必須通過作者對他人進行授權,或者叫做許可。軟體産品的所有者有對産品的獨占權,包括使用、收益、署名、修改等等内容。如果使用者希望合法地使用這個産品就必須獲得許可。這個許可可能來自法律的強行規定,例如“合理使用原則”,盡管軟體的所有者内心可能十分不情願;這個許可還可能來自所有者,可能是收費的許可也可能是免費的許可。是以,許可協定也是使用者合法使用軟體作品的一個憑證。相當于在許可人與被許可人之間簽訂一個合同來規定雙方當事人的權利和義務。通常,這個協定的内容是由許可方拟定的,被許可方和使用者隻能選擇接受或者不接受,是以是一種格式化的合同。
18、 釋出開源軟體需要許可協定嗎?
開源軟體與傳統軟體都是智力成果,在決定以何種方式釋出之前,在技術層面是沒有任何差别的。不管是封閉源代碼還是開放源代碼,都是軟體的釋出者所使用的許可方式的一個内容或條款。許可證的内容可以差别很大:如傳統軟體許可證隻許可使用者使用軟體但不允許使用者再釋出軟體,同時為許可證的獲得設定一些條件(例如收取許可費);如開源軟體許可同時許可使用者可以再釋出軟體,同時還對再釋出的條件進行了一系列限制(例如GPL 許可協定規定不得使用其它許可證再釋出,BSD 協定規定要保留作者的署名權);甚至釋出者可以不選擇或使用任何許可證、放棄任何對軟體的任何權利,許可給其它人最大的自由。然而,就算是這樣,還是應當了解為釋出者與其他人達成了一個“該軟體可以随意使用”的協定。顯然,所有的軟體作品都是需要許可的,開源軟體的釋出者對軟體如何被使用還有各自的期望和條件,是以釋出開源軟體必然需要許可證,隻不過許可的内容可以由釋出者自己決定。
19、 使用開源軟體需要獲得許可嗎?
開源軟體雖然公開了源代碼,使公衆可以非常容易獲得軟體,與傳統軟體許可“先獲得許可再獲得軟體”的模式有所差别。但使用開源軟體仍然需要獲得許可,因為開源軟體也是軟體作品,對其處理也必須符合著作權法的規定。這就是開源軟體世界許可證存在的必要。開放源碼軟體是受到著作權的保護的作品,是以未經權利人許可不能随意使用。是以使用開源軟體就一定要獲得許可。如果沒有獲得許可就使用開源軟體,就是侵犯了作者的獨占權和專有權。多數人沒有注意到許可的存在,是因為許可的成立并不是以傳統的簽字畫押、點選“接受許可”等方式進行。開源軟體的許可是在運作它或修改它或釋出它的那一刻就馬上生效的。開源軟體的許可協定是一個開放的,隻要有相應的行為就了解為預設接受的許可。當然,接受協定的前提條件還是有的,在許可證文本中講得很清楚,一旦被許可人沒有遵守這些條件,許可可能随時會被終止。許可一旦被終止,這時持有開源軟體的人就沒有權利使用它并且需要承擔違約的責任。
20、 為什麼存在諸多開源軟體許可證?
軟體的所有者對于如何處理其創作的軟體都有各自不同的想法。對于授權給被許可人權利的大小存在不同的考慮。許可證是許可人和被許可人之間的合同,如同其它商業合同一樣,通過不同的條款約定用于實作不同的目的。例如,GPL許可證通過嚴格的copyleft條款最大限度地保障軟體的自由,并由此實作“消除計算機程式在複制、分發、了解和修改方面的限制”這一FSF 的初衷;而MPL 通過将“釋出”定義為“以源代碼方式釋出的檔案”,是以為借鑒别人的源代碼用作足迹的商業軟體開發的行為留下一個豁口。
21、 開發者是否可以自己創造一個許可證?
當然可以。如果某個人或者組織開發了一種新的程式,這個程式又沒有受控于任何已有的許可證,這個開發者就可以選擇已有的許可協定或許可協定模闆進行修改釋出自己的軟體。當然,如果開發者認為現有的許可證都是不理想,他就可以自己編寫新的許可證,他可以将自己價值取向展現在對許可人和被許可人的權利和義務的不同規定中。也可以将許可證送出OSI進行認證,獲得目前比較通用的證明,進而表示出遵循這個新的許可證的軟體是開放源代碼軟體。
22、 一個軟體是否可以适用多個許可?
可以,隻要這些許可證之間不發生實質性的沖突。以前開發人員必須考慮的隻是軟體的依賴性和不相容性,現在他們還得考慮開源軟體項目之間許可證的沖突。如:Mozilla 包含四個不同的許可證。參與該項目的開發需要注意許可證間的沖突。Galeon 是一個基于Mozilla的浏覽器,利用GPL下釋出的GTK+圖形工具包開發。對其的分發将在分别受MPL和GPL保護的子產品間産生沖突。同樣,Transarc(IBM 子公司)以IPL許可開發了一個Linux 分布式網絡檔案系統的變體。不幸的是IPL 與GPL 不相容,因而禁止其在Linux 核心上運作。另外,對源代碼的每個錯誤修正和改動,都具有“分叉”出一個新版本的潛在可能。
23、 開源軟體許可證帶來的糾紛可能有哪些?
(1) 釋出軟體時未表明版權資訊以及必要的修改資訊;
(2) 釋出軟體時沒有附上相應許可證;
(3) 源代碼提供不符合許可證的要求;
(4) 違反許可證的規定将軟體代碼與其他代碼混合;
(5) 釋出軟體時違反許可證的規定收取不适當的費
用;
(6) 違反許可證的規定以開放源碼軟體申請專利。
24、 開源軟體許可證有什麼共同特點?
許可證的共同點一般都是規定了釋出義務(将獲得的源代碼再釋出)、對釋出源代碼的要求(須保證源代碼的完整和可以被獲得)、允許修改的權利(可以根據獲得的源代碼産生演繹作品)。一般開源軟體許可證都不定補擔保條款和責任免除條款。
(1) 開放源碼軟體許可證都會規定在被許可人接受本許可證或的源代碼之後,有将源代碼再釋出的義務,以促進開源碼運動。
(2) 開放源碼軟體許可證有“不擔保”(No Warranty)條款。由于源碼程式準予免費使用,在一般情況下,對程式都沒有擔保。
(3) 開放源碼軟體許可證都規定了關于修改、複制和再釋出的條款。但是各個許可證對授予被許可人的各項具體的權力略有不同。
25、 不同開源軟體許可證之間差異在哪裡?
開源軟體許可證之間的差異主要展現在:
(1) 是否允許可以同其他非開放源碼軟體代碼混合;
(2) 是否可以将對源代碼的修改不公開;
(3) 是否明确了專利許可授權;
(4) 是否明确了專利侵權訴訟導緻許可協定中止;
(5) 是否明确禁止與函數庫連接配接;
(6) 是否隻能按本許可證釋出源代碼;
(7) 是否要求對于獲得的源代碼可能存在的知識産權進行以“LEGAL”為擡頭的提示。
26、 主要許可證的之間有哪些關鍵差别?
(1) BSD 許可——它要求版權和著者身份申明;
(2) GPL——通用公共許可("CopyLeft")禁止派生或發行産品的限制;
(3) LGPL——庫/次級GPL,它不同于GPL許可證,在這個許可證下,庫(函數庫)可以自由地聯接到專有軟體;
(4) Artistic 許可——使作者保持對進一步開發的控制。
(5) Netscape 公共許可(NPL)——基于GPL 精神的新的許可證,但是保持了對源碼更多的控制和所有權;
(6) 公共域(Public Domain)——通常用于決定性的算法以鼓勵廣泛使用,通常由美國政府使用。
27、 許可證之間的規定存在沖突怎麼辦?
國際上較為嚴格的許可證主要是GPL 許可證、QNCL許可證和Ricoh 許可證三種,其他的均被認識是比較寬松的開放源碼軟體許可證。來自于不同許可證的程式源代碼想要結合起來就會産生許可證之間規定的沖突問題。實際上,主流的開源軟體,尤其是開源平台LAMP(Linux, Apache, MySQL, PHP/Perl/Python),都是依照GPL釋出的。而GPL又是一個要求嚴格的許可證,是以沖突主要是不同許可證與GPL 許可證之間的沖突。一些開源許可證要求當出現程式之間的連接配接、或者程式修改時,如果出現了組合作品,則要求連接配接各部分都受該開源許可證限制,也就是必須成為指定的開源軟體,是容易産生問題的地方。對于沖突的問題,現在我們能做的就是盡量避免。
28、 OSI與開源許可證是什麼關系?
答:OSI 組織也即“開放源代碼首創行動組織”(Open Source Initiative,簡稱OSI),這是一個非盈利的組織,Open Source Initiative、OSI等标志都是屬于該組織的證明商标,統稱為“OSI Certified”标志,由OSI組織作為證明商标的管理者。OSI組織的宗旨就是要讓開源軟體的發展有一個更好的土壤,OSI主要管理和推廣開放源碼的定義,尤其是OSI認證的開放源碼軟體的認證标記和認證程式。根據OSI組織的規章,是否是開源軟體,不光要看權利人是否提供源代碼,另外一個很重要的标志就是許可證的問題,因為基本所有的開源軟體在釋出時都會附帶一個許可協定,即我們所說的許可證,在許可證中,會規定許可人和被許可人的權利與義務,而正是這些權利和義務,決定了權利人是否将源代碼真正的向社會公
衆開放,進而可以實作是否是開源軟體的判斷。開放源代碼組織是通過開源軟體許可證這種合同形式來明确規定源代碼使用者的義務,使開放源代碼的思想得以傳播,同時巧妙地保有了其Open SourceInitiative、OSI 等一系列商标的所有權。雖然,對這些證明商标沒有使用費的要求,但是使用這些商标還是必須遵守OSI的規則。
29、 許可證經OSI認證有何益處?
OSI組織從軟體的許可證上着手,将證明商标許可給那些經其稽核認定為開源軟體的軟體提供者。這樣,凡被認定為開源軟體許可證的,都可以标注OS、OSI等商标辨別。是以,許可證經過OSI 認證可以在一定程度上保證遵循它的軟體獲得開源軟體界的認可。但OSI終究是個非官方組織,OSI組織要想在開源軟體領域實作“統一标準”的目的幾乎沒有什麼成功的希望。但是該組織的定位和戰略很好,将自己定位為一個行業自律協會性質,并且巧妙的應用了商标戰略。将Open Source Initiative、OSI申請了證明商标 ,稱為“OSI Certified”标志,自己作為證明商标的管理者,為開源軟體業的發展做出了重大的貢獻。
30、 什麼是“copyright”?
“CopyRight”在英文中是“版權”的意思,相當于我國的“著作權”。指的是作者對其創作的文學、藝術和科學作品依法享有的專有權利,包括發表權, 署名權,修改權,保護作品完整權,使用權和獲得報酬權等。Copyright 是版權法對作品所規定的一攬子權利,但法律同時規定了著作權人擁有對不同内容進行授權的權利。
31、 什麼是“copyleft”?
“Copyleft”是将一個程式成為自由軟體的通用方法,同時也使得這個程式的修改和擴充版本成為自由軟體。一般翻譯為“反版權”、“版權屬左”、“版權所無”、“版權左派”、“公共版權”或“版責”。Copyleft 不同于公共域軟體(public domain),有版權的情形,Copyleft是一個廣義的概念;有許多形式可以将其細化。Copyleft聲明任何人如果要重新釋出軟體,不管是否做了修改,必須使得這一重新釋出的軟體有被複制和修改的權力。例如GPL 規定隻要有任何一部分代碼是以GPL 釋出的,那麼全部程式作為整體就必須接受GPL 的越是。可見Copyleft 是為了保證每個使用者都有自由的權力而表達的一種精神理念。
32、 “copyright”與“copyleft”是什麼關系?
“copyright”跟“copyleft”隻是字面上的對立,其本質上不是同一個層次的含義。“CopyRight”是作品對作品享有的法定權利,是一個含義明确,界限清晰的詞彙。而“CopyLeft”是GNU 創始人“Richard Stallman”創造的詞彙,用以強調其主張,是對copyright 規定的非傳統應用的叛逆性說法。。“CopyLeft”是一個廣義概念,GNU/GPL是其一個具體的細化執行個體。“CopyLeft”的确是針對“CopyRight”而提出的。但“CopyLeft”和“CopyRight”不是一個層次的内容,不應放在一起比較。
33、 什麼是“GPL”?
GNU/GPL 是自由軟體基金會釋出的一個軟體授權許可證,全稱是《GNU通用許可證》(GNU General PublicLicense),簡稱GPL。這是一個關于自由軟體複制、修改和釋出的版權形式的規則體系。GPL 适用于大多數自由軟體基金會的軟體,以及由使用這些軟體而承擔義務的作者所開發的軟體。GPL——通用公共許可禁止派生或發行産品的限制(copyleft精神),最大限度地保障軟體的自由,并希望由此實作“消除計算機程式在複制、分發、了解和修改方面的限制”這一FSF 的初衷。
34、 GPL的核心要求有哪些?
任何基于GPL 軟體開發的衍生産品在釋出時必須采用GPL 許可證方式,且必須公開源代碼。項目中即使僅有微小部分來源于GPL 許可的軟體,也必須按照
GPL的要求公開全部源代碼。即具有所謂的“傳染性”。
35、 “GPL”就是“免費獲得”和“免費貢獻”嗎?
在GPL 的條款下,“free software”指的是自由軟體而非免費軟體。由于其通常是以免費的形式分發,是以很多人誤以為它是免費的,随便可以得到的。即使是你免費的得到自由軟體,但是實際上所有行為都應當是在GPL 的規則之下,它伴随着很多責任,違約可能造成經濟賠償的負擔。另外,從價格上看,它也不一定就是零費用的。基于GPL 可以明顯看出的幾種模式可以盈利:可以利用分發,收取一定的分發的成本費用,盡管通過分發一個軟體維持長期盈利的可能性很小;利用提供擔保條款,收取一定的對價;利用自由軟體産生很多不同作品,可以收取該産品相應的商标許可費;此外,提供對自由軟體的技術支援服務,已經成為現在Linux商業公司的主要生存手段了,服務類的盈利模式比重在加大。
36、 GPL的傳染性是什麼意思?
依據GPL 的相關規定,如果原始授權人采用GPL來釋出自己的作品,那麼無論該作品的任何衍生作品,都要遵從GPL 的規則,盡管你對于該衍生作品擁有著作權,但是你也不可以是以認為它是你的心血而另立新規,可謂“子子孫孫無窮盡也”。也即規則的“傳染性”。GPL 下的軟體,是允許作為學習來複制使用的。但當基于該軟體源代碼開發出新作品,而該作品并非是自由軟體的一部分,或基于其産生的衍生作品,它是獨立的,不同于該自由軟體的部分,即不同作品,那麼它将不受GPL 的限制;但是,一旦你把它同該自由軟體作為一個整體一同釋出,它就會被“傳染”上GPL 的屬性,進而不得不遵守GPL 的規矩了。也即作品整體的“傳染性”。如果軟體是非開源的,那麼是不可以把GPL 下的軟體源代碼使用到該的程式中的。但是,倘若你非得使用該開源代碼,那麼你隻有把你原先的非開源的代碼貢獻給社群了,也即GPL 下的開源性“傳染”了非開源代碼。
37、 “獨立作品”可以對“傳染性”免疫嗎,怎樣判斷
作品是不是“獨立作品”?“獨立作品”能夠對“傳染性免疫”。在“GNU/GPL有關複制、釋出和修改的條款和條件”一章的第二條,第二款中規定,“這些要求适用于修改了的作品的整體。如果能夠确定作品的一部分并非程式的衍生産品,可以合理地認為這部分是獨立的,是不同的作品。當開發者将它作為獨立作品釋出時,它不受此許可證和它的條款的限制。”但是當将這部分作為基于程式的作品的一部分釋出時,作為整體它将受到許可證條款限制。準予其他許可證持有人的使用範圍擴大到整個産品。也就是每個部分,不管它是誰寫的。是以,本條款的意圖不在于索取權利或剝奪全部作品的權利,而在于是履行權利來控制基于程式的集體作品或衍生作品的釋出。是否受到GPL 的限制取決于它是否是源程式的衍生作品,而非是否與該程式存儲于同一實體媒體上。不過需要注意的是,GPL沒有經過任何一家法院的檢驗,對于怎樣的作品才是“獨立作品”還需要由法官判定。
38、 GPL對作品的哪些知識産權做了規定?
基于GPL 的軟體要注意著作權和專利權兩方面内容:
(1) 著作權
GPL 承認軟體作者的著作權,但同時要求作者必須允許任何人享有對其作品的使用、複制和修改的權利。
GNU 的創始人“Richard”還創造了一個詞“CopyLeft”來表明GPL 同傳統著作權的不同,其宗旨既保證使用者無限複制和修改的權利。同時GPL 也規定使用者在釋出其源于GPL的軟體時,必須附帶GPL條款。
(2) 軟體專利
Richard 的GNU 計劃書中還專門提到了這一點。他認為“自由軟體面對的最大威協就是軟體專利”。因為專利所有者可以基于其專利權而對抗GPL 所要求的“自由使用和複制權利”。是以,GPL 規定:“鑒于任何自由軟體時刻處于軟體專利的威脅之下,我們希望能避免這種情況:自由軟體的再傳播者在實施過程中使得這項軟體程式獲得專利獨占權,正是基于此目的, 我們明确地要求承諾任何自由軟體可以去獲得專利授權的前提是一旦獲得軟體專利授權必須向所有的人以符合自由軟體使用條件的标準許可使用該專利, 否則就不可去申請軟體專利。”
39、 怎樣的行為算做接受了GPL(或締結了GPL 許可協定)?
GPL 的規定大部分是對許可人的規定,隻要許可人願意将自己對軟體的專有權進行稀釋,就可以使用如下對GPL 做出承諾:采用給程式附聲明的方法告知被許可人的權利和義務。最安全的方式是将它放在每個源程式的開頭,以便最有效的傳遞拒絕擔保的資訊。每個檔案至少應該有“版權所有”行,以及在什麼地方能夠看到聲明全文的說明。這是締結協定的第一步,可以了解為一個要約,即隻要被許可人願意接受,協定就可以馬上生效。
40、 使用遵循GPL 的軟體的被許可人必須遵守哪些義務?
對使用GPL 軟體的被許可人規定義務,在于保證每一個被許可人都從原始著作權人那裡獲得複制、釋出和修改的權利。同時,保證GPL 的軟體也可以用于實作一定的經濟收益。
(1) 聲明的義務:将每一個副本上标注著作權聲明、不承擔擔保聲明等;
(2) 釋出修改說明的義務:修改人必須在修改文字中附加修改了檔案的明确說明以及具體的修改日期;
(3) 傳遞GPL 條款:釋出或出版作品時,包括程式的全部或部分或由該全部或部分衍生的作品時,必須作為将作品整體按照GPL 條款許可給任何第三方;
(4) 釋出時提供源代碼;
(5)被許可人沒有分許可的權利和義務,後來的接受者自動從原始許可證頒布哪裡獲得許可,同時被許可人沒有強求第三方履行許可證條款的義務。
(6) 選擇是否釋出無擔保和免責條款。GPL11 條和12 條規定程式在沒有擔保和不承擔責任的條件下準予免費使用,但這條不是強制性的,許可人可以選擇提供擔保以換取一定的費用。
41、 “GPL”後的軟體是不是進了“公有領域”?
不是。GPL 下的軟體仍舊是受知識産權法保護的軟體作品,作者對其享有絕對的版權。相關專利權人也不因軟體代碼開放而失去專利權。這些權利比較容易被忽視通常與獲得軟體的代價較小相關。公有領域的軟體喪失版權法一切保護因而可以随意使用,而“GPL”的軟體不同。許可人有權在許可的條件被打破時收回許可,并按著作權法和合同法等規定追究侵犯著作權或違反合同的違約責任。
42、 為什麼開源軟體強調“No warranty”?
開源軟體的精神在于通過衆多開發者願意貢獻個人智力作品并能夠在法律允許的條件下“安全”的貢獻個人的成果,将其以非傳統的釋出模式,進而保障使用者最大限度使用軟體的自由。如果程式員開發了軟體并将這個軟體貢獻給了社群以保證其它使用者和開發者可以自由地獲得軟體,然而程式員還需要承擔“warranty”帶來的責任,那麼就這個合同對程式員(貢獻者)是不平等的,就不能實作因為自由軟體提倡的是源代碼的公開性。為了在鼓勵社群裡的人員都奉獻自己的源代碼的同時,為了給他們解除後顧之憂,避免法律糾紛,是以
才在許可證下明确說明了該自由軟體是不提供任何明示或默視擔保的。
43、 原始許可“不擔保”,開源軟體就一直得不到擔保嗎?
再分發者可以對開源軟體提供擔保。在各許可協定中,都會發現“不但保”字眼。隻有在完全了解開源模式規則的情況下,才能澄清“開源軟體不能進行擔保”的誤解。例如,在GPL 開始的定義中,我們可以看到原始版權人(copyright holder)和再分發者(you)這兩類人。GPL 隻是為了考慮原始版權人避免法律糾紛的需要,保障他們釋出自由軟體的自由性,而明确的要求原始版權人釋出的作品不得提供擔保。但是,對于再分發者,這種無擔保的限制已經沒有了,它明确的同意再分發者可以為使用者提供一定的擔保而得到對價。當然,擔保的前提是,擔保這必須表明他們是再分發者的身份。
44、 為什麼開源軟體的商業應用歸根結底還是需要有人提供擔保?
因為當軟體成為一件商品,使用者除了關心是否可以獲得源代碼以外,還關心軟體的穩定性等其他名額。商業應用需要的不僅是一件可用于解決某個技術問題的創新成果,還需要教育訓練、服務等其它滿足商業化的因素。開源軟體作品與成熟的軟體商品之間的距離和差距必須藉由對其它名額的擔保得以實作。
45、 原始許可“不擔保”,使用者怎麼辦?
再釋出開源軟體的開發者通常不關心是否提供擔保,但軟體的最終使用者的确十分在意擔保的問題。因為擔保不僅意味着産品的品質可以獲得一定程度的保證,還可以将使用者從知識産權侵權的風險中徹底解脫出來。由于存在願意通過擔保獲得商業利益的再分發者。如果使用者希望獲得擔保,他隻要選擇合适的再分發者就可以了。這裡的“合适”顯然不僅需要考慮軟體是否可用,還必須考慮這個再分發者是否具備相應的擔保能力,如提供相應服務的水準如何。
46、 再分發人對不享有知識産權的開源軟體收費是否合法?
隻要授權還存在就是合法的。因為通過開源軟體的授權模式,開發者自願地放棄了獨占性和專有性,以合同的方式對使用者和再釋出者進行了權利的分享,而授權中并沒有不可以收費的強制條款。使用者(再分發者)已經獲得了最大程度使用軟體的自由。隻要有人願意付費,不管是僅僅為了省去自行取得代碼的麻煩還是為了獲得相應的擔保,甚至是出于對再分發者的捐贈,收費行為和付費行為都沒有受到禁止。
47、 為什麼開源軟體本身可以收費,但通過單純對軟體進行收費實作商業目的的模式注定不成功?
這是由市場經濟的基本特點所決定的。市場上存在各種商品自由競争,品質和價格通常是消費者進行選擇決定性因素。開源軟體的代碼可以自由獲得,生産軟體的成本普遍降低。由于消費者可以自行擷取源代碼,顯然以較高的價格出售這些代碼(軟體)是不現實的。而商業模式要解決的是一個如何獲得長期、穩定的較高收益的問題,通過販賣開源軟體本身是不可能實作這個目标的。但開源軟體與其它類型軟體的結合趨勢十分明顯,開源世界已經産生了其它成熟的商業模式值得借鑒和推廣。
48、 許可人适用特定許可證釋出的軟體還能不能撤銷許可?
不能撤銷。不能撤銷許可指的是隻要被許可人嚴格執行許可的前提和條件,許可人就不能以其它理由撤回許可或另行增加許可的條件,除非其願意承擔違約責任。不能撤銷許可并不意味許可一定會長期存在,許可協定是一個附有條件的合同,如果被許可人違反了條件的約定,許可就将自動終止。例如,如果GPL 下一個軟體的再釋出者沒有按照協定要求公開修改内容,那麼GPL 許可就自動不對其開放了。如果這個再釋出者繼續持有軟體,則屬非法持有軟體行為,就是違反版權法的規定,與盜版無異。
49、 已經免費接受許可的一方會不會在日後面臨被收費的危險?
雖然開源軟體許可不排除收費的可能,但通常以免費的方式進行授權。使用者有時會産生這樣的疑問:現在免費獲得的軟體會不會有一天被強行收費。答案應該是不會。因為在使用者獲得和使用軟體的那一刻,許可人和被許可人已經就這個軟體達成了一緻意見。如果約定免費授權,那麼,這個免費的條款是符合合同法、受到合同法保護的。如果在将來的某個時間,許可人決定收回更換一種許可方式,例如收費許可,那麼許可就必須依照合同法的規定承擔由此造成的違約責任。由于開源軟體的使用範圍很廣,更改許可方式與撤銷許可的成本通常會不可接受。
50、 開源軟體的商标侵權風險存在于哪些方面?
商标侵權的風險指的是對注冊商标和非注冊商标的不合理使用,與開源軟體相關的商标主要有:
(1) 所謂的“認證商标”,指以OSI組織為代表的非盈利性組織所擁有的商标;
(2) “企業商标”則是指由企業管理、授權使用的商标,這和傳統商标法意義上的“商品商标”、“服務商标”并沒有不同;
(3) “概念商标”,專指那些性質有待确認的、僅為表達一種理念或概念的“商标”,前文中提到的LINUX 便是“概念商标”的典型代表。
51、 我國企業如何應對開源軟體相關的商标侵權風險?
(1) 目前使用OSI 等證明商标不需要付費,但“不付費”的商标并不等于“沒有任何權利的商标”。OSI、OPEN SOURCE都是合法的證明商标,企業要想使用這些商标,一定要符合商标權利人――即OSI組織的規定。
(2)無論企業商标出現在源程式包的源程式中,還是出現在其運作界面中,都屬于權利人行使自己合法商标權的範疇,我們的軟體企業都應該尊重權利人的權利,否則就會面臨侵權危機。另外就是禁止“反向假冒”,即将他人産品上的商标去除或對他人的商标進行替換。
(3) 我們足以判定近期LINUX 無論在中國還是其他國家都很難得到商标法的保護,對于中國企業來說,這或許是一件好事,因為我們面前的“商标陷阱”又少了一個。然而,這對于廣大的尚處于發展期的中國開源軟體企業也是一個警鐘:我們不但要大力打造自己的軟體品牌,更要緻力于保護自己的品牌,避免其被淡化,最終落得個“一人種樹大家乘涼”的結果。
52、 利用開放源碼啟動專有軟體企業應重點注意哪些事項?
中小型企業如果不能完全了解将要使用的開源碼許可證,可遵循以下原則
(1)不要把任何開放源碼直接混合到自己的代碼中;
(2)不要為了自己的需要,而修改這些開放源碼;
(3)如果可能的話,甚至不要下載下傳和編譯開放源碼。許多開放源碼項目提供二進制代碼,很多項目遵循靈活的BSD 許可證,而另一些則遵守嚴格的GPL 規定,是以,保持自己的專有代碼與開放源碼的差別是很重要的。當然,根據企業收入模式适當地讓自己的代碼過渡為開放源碼,可能對企業更有利;
(4)挑選合作商的時候,要挑選那些符合自己要求的、有積極使用者群的合作者。至少有一點可以确定,即使你的項目終結了,你還擁有源代碼。假如你堅持API标準,那麼轉換到另一個項目上,或尋找一個商業賣主,事情就會相對容易些。
53、 為什麼國外使用者大量使用開源軟體但看似是并不關心知識産權風險?
(1) 開源軟體卓越的技術水準與較小的風險之間權衡的結果;
(2) 開發者和再許可人遵守國際規則,通過國際社群群組織增前了開源軟體整體可能面臨法律障礙;
(3) 開源軟體的GPL 等許可證已實行多年,大大減少了可能産生的專利風險;
(4) 開源軟體深得全世界廣大使用者和業界的支援,這使任何針對開源軟體的法律訴訟都難以付諸實施;
(5) 對使用者存在擔保機制;
(6) 知識産權風險的可控制性;
(7) 開源的模式使其風險大大低于專有軟體。
