自由軟體與相關名詞解析
2011年5月22日 星期日
本文最初發表於 自由軟體鑄造場電子報第 173 期 法律專欄。筆者經常到大專院校資訊相關系所,與同學進行自由軟體的推廣及交流,因此得知許多同學確實專精於程式開發,但對於軟體分類、商業模式及授權內涵並不是很熟悉,因此希望能藉由本篇文章向讀者說明自由軟體及其他相關的軟體類別及內容(註一)。本文將先簡單說明「自由軟體 (free software)」的內涵,再介紹相關名詞:「專屬軟體 (proprietary software)」、「免費軟體 (freeware)」、「共享軟體 (shareware)」及「公共財軟體 (public domain software)」,並說明「自由軟體」與「開放源碼軟體 (open source software)」的異同處。
本文授權採 創用CC「姓名標示-禁止改作-非商業性」授權條款 台灣 2.5 版。
◎ 自由軟體 (free software)
「自由軟體」,亦有借用法文中的自由 (libre) 一詞表示為「software libre」或「libre software」者,其發端於 1980 年代麻省理工學院人工智慧實驗室的 Richard M. Stallman。這正是資訊產業的變革關鍵年代—電腦業者開始嘗試將軟體獨立於硬體進行銷售,同時著作權法也修法將程式著作納入著作權的保護範圍,於是廠商開始吝於提供程式源碼 (source code),僅提供二進位碼。Stallman 認為這樣的商業模式及法律規定嚴重剝奪了軟體工程師最基本的權利,即針對程式碼的「執行、研究、改作及再散布」的自由,因此將前述權利定義為四大自由(註二),成立自由軟體基金會 (Free Software Foundation),制定 GNU General Public License (GPL) 以保全並擴張軟體自由(註三)。
自由軟體中的「free」一詞在英文中同時包含自由及免費兩個意涵,Stallman 因此強調:「要了解這個觀念,你必須把 free 想成是『言論自由』的 free,而不是『免費啤酒』的 free。(To understand the concept, you should think of “free” as in “free speech,” not as in “free beer.”)」所以,自由軟體的目的是要確保使用者享受到前述之四大自由,而與取得軟體的價格毫無關係。也就是說,若有人拿自由軟體來賣錢、也有人願意買,雖然這個交易是有價的,但只要能確保取得該軟體的人仍能享有四大自由,就能合乎自由軟體的內涵規則。
◎ 專屬軟體 (proprietary software)
「專屬軟體」,也有譯為「私有軟體」,是目前人們最為熟知的軟體授權模式。專屬軟體的權利人保留著作權法所賦予的一切權利 (All rights reserved.),其商業模式出售的只有使用、執行該軟體的權利,並收取授權金,以契約來限制可使用該軟體的對象、範圍與期間;這裡的對象身分及人數、範圍廣狹與期間長短,都可能要經過個別磋商及索價。就使用者的利用面來說,不僅無權索取該程式源碼,也很可能會被銷售契約限制,不許自行對該軟體進行反組譯或逆向工程;也就是說,不論使用者有無能力修改程式以符合個人需求,都不能進行未獲原作者同意的改作行為。此外,使用者不得將專屬軟體再行複製散布給未經授權的第三人,否則就會有違約、侵權等問題,甚至還可能會觸犯著作權法與刑法的相關規定。
上述專屬軟體的這些特性,都與自由軟體站在完全相對的位置,其間最大的差異在於專屬軟體不會開放源碼;此外,自由軟體同時賦予使用者四大自由,這是專屬軟體使用者所無法享受到的軟體使用自由。此外,雖然目前市面上的商用營利軟體確實以專屬軟體為大宗,但只要著作權人願意,他也可以自由拋棄一部分的著作權保護,例如可能是讓人自由取得、散布這支程式而不必付費。當然,因為作者並未放棄全部的權利,所以依然可以附加一些利用限制,例如不准使用者商業利用,或是禁止去除該軟體中的廣告…等等;下面即將提到的「免費軟體」及「共享軟體」就是基於這個想法的產物。它們都是在專屬軟體的架構下所做的調整及變型,出發點仍在於控制,而不在於給與使用者四大自由。
◎ 免費軟體 (freeware)
最常被混淆的就是「免費軟體 (freeware)」及「自由軟體 (free software)」二詞。廣義的免費軟體單純表示其價格為零的特性,即使用者可以免費取得、使用一個軟體;在這個定義之下,在網路上公開供人下載的自由軟體、共享軟體或公共財軟體等,大多也不必付費取得,似可包含在這個定義中。不過,一般而言,我們談到免費軟體時,指的是狹義的免費軟體,內涵是作者允許使用者在某些條件下能「免授權金」地使用該軟體;通常只讓使用者有免費執行該程式的自由,而不及於其他諸如修改、散布、商用等自由。
免費軟體只有指出價格免費的特性。若從程式碼利用的自由度來看,它與專屬軟體較為相似。免費軟體通常不提供源碼、禁止商業利用,也禁止被授權人對之進行逆向工程、反編譯等行為;至於其他條件,例如是否允許使用者複製、散布,則視各該免費軟體不同的授權條款而定,此部份並無法歸納出特定的通則。
免費軟體的商業模式通常是收取商業利用的授權金。例如,通常它會限定使用者的身分必須為個人,不得使用於工作或營利事業中等等;若要拿它來進行商用行為,則將走向專屬軟體的模式,須與著作權人洽談授權對象、範圍、期間及金額,才能合法地商用。此外,免費軟體的著作權人也常在程式中嵌入第三方廣告來獲利。總之,免費軟體的使用者並無法享受到自由軟體中的四大自由,這是其間最大的區別。
◎ 共享軟體 (shareware)
相類似的名詞尚有「共享軟體」,又有稱作「試用軟體 (trial-ware)」,這類的軟體亦非屬自由軟體。其與免費軟體相同之處在於,著作權人通常亦不開放源碼、僅授予使用者執行程式的自由;使用者僅得免費地非商業利用,但並不得對共享軟體進行逆向工程、反編譯等等動作。它的商業模式是可以免費試用,讓使用者可以了解其品質,待期間經過後,使用者就必須購買這支程式才能續用。雖然使用者在授權期間內可免費執行程式,但期間一旦經過,就會要求使用者須付費購買商業授權版本才能繼續使用;另外、也有一類的共享軟體並沒有使用期間的限制,但與其完整的商業授權版本相較,功能性通常會較低,以促使被授權人「升級」購買完整功能的商業授權版本。此外,還有一類的被稱「叨擾軟體 (nagware)」的共享軟體,其具備特有的商業模式,軟體在執行的過程中,會不時彈跳出提醒購買或捐款的視窗來央求使用者購買或捐款,若使用者真的認為這支程式有價值,或想續用卻不想被彈跳視窗打擾,就得付費購買。
共享軟體與免費軟體都是以免費作為推廣的方式,使自己的程式儘可能先被使用者使用,但都不脫專屬軟體的基本授權框架–不給使用者完整的使用自由,如此才能在使用者習慣後或有進一步需求時能收費營利。
◎ 公共財軟體 (public domain software)
Public domain 指的是公共財、公共領域的意思,法律上的意義是沒有人擁有這個財產的產權,任何人都可以接近利用,不必取得任何人的同意。至於一個軟體之所以會成為公共財軟體,通常是基於權利人明示放棄所有權 (No rights reserved.) 所致。依照目前全球著作權法的主流規定,開發者在完成一個程式的時刻,就會自動地取得著作權的保護(註四),直到法定的保護期限屆滿,才會喪失著作權;而目前各國著作權法的保護期間大多都很長,以台灣為例,著作權的保護期間為自然人死亡後或法人公開發表後五十年(註五),但軟體程式的權利受到法律明文保障,是始於 1980 年後,因此,一個軟體會以公共領域軟體的姿態現身,通常是基於權利人自己明示放棄所有權利而來。
與自由軟體相較之下,公共財軟體給予使用者更多的自由,因為公共財軟體已經拋棄所有權利,反而自由軟體可能還要求利用人遵循一定的義務,例如標示著作權聲明、要求後手繼續保持開源等等。現實而論,會放棄權利宣告自己軟體為公共財軟體的人,往往是最不在乎、甚至是反對智慧財產權制度的軟體工程師,才會做出如此宣告,所以公共財軟體在利用上可以說是沒有任何條件限制,以及引發侵權爭議的法律風險。
◎ 開放源碼軟體 (open source software)
「開放源碼軟體」,有時也簡稱為「開源軟體」,指的是採用開放源碼授權條款的軟體。一份條款若是經過開放源碼促進會 (Open Source Initiative, OSI) 核可通過,認定其符合「開放源碼定義 (Open Source Definition, OSD)」,即屬開放源碼授權條款(註六),採用這些條款授權釋出的軟體,就是開源軟體(註七)。
很多人會將自由軟體與開源軟體比對為同一件事,但其實這二個名詞有其各別不同的擁護者,這樣的分野是基於基本觀念上的不同。自由軟體重視的是軟體自由,開源軟體重視的是開源軟體的開發方式,其支持者認為開放源碼將會是一個比傳統軟體開發模式更有效率的新方法(註八)。因為,若是名詞定義上使用「free」這個字,有時將不可避免地被聯想為「免費」,對於希望以開源軟體創造商業價值的開發者來說,選擇「開放源碼」一詞將更加妥切(註九);並且,從 OSD 中也可以了解,這樣的定義更為中性且詳盡,在商業上的應用也更可能被清楚地勾勒出來。
無論所採擇的名稱如何,其實自由軟體與開放源碼軟體非常相近;通常符合自由軟體定義的授權條款,也可以符合 OSD,而可以通過 OSI 的認證;反之亦然。也因此,在英語世界中經常出現將此二詞合寫的寫法,諸如:free/open source software (FOSS) 或 free/libre/open source software (FLOSS) 等;中文譯名方面,也不乏循此例翻譯為「自由/開源軟體」的例子(註十)。
註一:目前在 OpenFoundry 網站中已有一篇與本文主題相同的文章,可參見:葛冬梅,自由軟體、開放源碼軟體與相近的名詞,http://www.openfoundry.org/tw/basic-concepts/1450-2010-07-13-09-53-46。本文是該文的擴寫及補充,筆者希望用個人的描述方式,使剛接觸到這些軟體的朋友們可以更容易了解其內涵。
註二:關於自由軟體的定義,可參見:Free Software Foundation, The Free Software Definition,http://www.gnu.org/philosophy/free-sw.html;葛冬梅,四大自由與自由軟體,http://www.openfoundry.org/tw/basic-concepts/1448-2010-07-13-09-56-17。
註三:GPL 的說明可參見英文維基百科: ;條款可參見:;中文介紹有,葛冬梅,授權條款介紹–GNU General Public License 2.0(GPL),http://www.openfoundry.org/tw/licenses/32。
註四:這樣的規定被稱作「創作保護主義」,在我國,相關規定在著作權法第 10 條,可參見:http://law.moj.gov.tw/LawClass/LawSingle.aspx?Pcode=J0070017&FLNO=10。
註五:著作權法第 30 條及第 33 條,可參見:http://law.moj.gov.tw/LawClass/LawSingle.aspx?Pcode=J0070017&FLNO=30 及 http://law.moj.gov.tw/LawClass/LawSingle.aspx?Pcode=J0070017&FLNO=33。
註六:開放源碼定義與開放源碼促進會的詳細內涵,可參見:葛冬梅,開放源碼定義與開放源碼促進會,http://www.openfoundry.org/en/basic-concepts/1447-2010-07-13-09-57-12。
註七:有的人認為從文義上直譯,似乎是只要這個軟體有開放程式碼,就屬於開源軟體,但這樣的理解並不完全正確。事實上,即使一個專屬、免費或共享軟體程式碼被公開出來,只要著作權人沒有主動聲明可以抄寫、利用這些程式碼,則使用者也只能夠單純研究、欣賞其程式之美,所以不能僅憑程式碼的呈現方式為 open source code 就遽認其為開源軟體。例如,共享源碼 (shared source) 雖然有讓特定使用者接觸到源碼,但同時也附加了禁止使用者修改、散布的條件,故在授權特性上並不符合開源軟體的定義。
註八:Eric S. Raymond,The Cathedral and the Bazaar,本書全文可參見:http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/。
註九:關於 open source 一詞的由來,可參見:http://oreilly.com/catalog/opensources/book/perens.html,其中 History 一節。
註十:筆者所任職的單位名稱為「自由軟體鑄造場 (Open Source Software Foundry, OSSF)」,若中文依字詞直接英譯應為「Free Software Foundry」,乍見之下似有譯文不對稱的情況發生,不過其實這是出於「free software」中英文在語義上的差異。如上所述,在英文中的「free」一詞有與「免費」的強烈雙關性,所以考量到 free software 也必然以 open source 為其特性,因此自由軟體鑄造場在英文上就採用了「open source」,這個在全球常見並宣示著力於協助產學各界研究推廣此類軟體的中性詞彙,而在中文的部份,則保留「自由」一詞以表彰本單位尊重軟體自由理念的意涵。
標籤: