Transcript Document

Open Source
台中區域網路中心網路研討會
Agenda
 開放性原始碼的定義
 GNU & PGL
 開放性原始碼及自由軟體
 軟體的分類
 開放性原始碼的優點
 開放性原始碼軟體的範例
起源
 起自Bruce Perens所寫的一篇” The Debian
Free Software Guidelines ”
 與Debian developers透過e-mail經過一個
月的討論,在1997年6月重新定義,將Debian
的相關字詞拿掉, 正式定義了”Open Source
Definaton”
OSD change log
 *1.0 identical to DFSG, except for addition




of MPL and QPL to clause 10.
*1.1 added LGPL to clause 10.
*1.2 added public-domain to clause 10.
*1.3 retitled clause 10 and split off the
license list, adding material on procedures.
*1.4 Now explicit about source code
requirement for PD software.
OSD change log
 *1.5 allow "reasonable reproduction cost" to




meet GPL terms.
*1.6 Edited section 10; this material has moved.
*1.7 Section 10 replaced with new
"Conformance" section.
*1.8 Section 1: replaced "may not" with "shall
not".
*1.9 Section 9: removed rationale referring to the
action of the GPL as Contaminat[ion].
定義
 開放性原始碼不僅是可以去存取原始碼. 廣義的解
釋應該具有下列幾項重點 (版本1.9)









自由散佈
原始碼
衍生的產品
完整的原著原始檔
不能歧視任何人或團體
不歧視任何領域的努力
散佈許可證
授權書不能針對某個產品
授權書不能限制其他的軟體
定義 cont.
 自由散佈 (Free Redistribution)
 不論是你把軟體送人或是將一個或多個軟體放在一個
完整的系統來銷售. 這個許可證將不會要求你付任何的
費用
 原始碼 (Source Code)
 這個程式必須有原始碼, 而且必須允許可以散佈原始碼
或是編譯後的原始碼. 有些產品並不直接提供原始碼,
這種型態必須要提供一個公開來源,例如可以由網路直
接免費下載. 這個原始碼必須是程式設計師可以修改
的. 故意混亂原始碼或是提供一個必須用處理器先編譯
的中繼程式是不允許的
定義 cont.
 衍生的產品 (Derived Works)
 這個許可證必需允許修改及其衍生的產品, 而且必須允
許期衍生之產品可以用與原來的軟體的許可證同樣的
條件被散撥
 完整的原著原始檔
(Integrity of The Author's Source Code)
 這個許可證可以禁止原始碼在修改狀態不允許被傳遞
如果原始碼在建立時可以允許散佈修改檔案. 這個許可
證必需清楚的允許散佈由修改軟體產出的軟體.這個許
可證可能需要衍生的產品跟原來的軟體有不一樣的名
稱或版本
定義 cont.
 不能歧視任何人或團體
(No Discrimination Against Persons or Groups)
 這個許可證不能歧視任何人或團體
 不歧視任何領域的努力
(No Discrimination Against Fields of Endeavor)
 這個許可證不能限制任何嘗試在特定領域努力的人 舉
例而言, 這個許可證不能限制這個程式被用在一個特定
的公司或是基因研究的產業
 散佈許可證 (Distribution of License)
 這個計劃提供的適用性應該是針對所有需要利用這個
計劃再度散佈軟體的人而不需要再給允授權書給這些
人
定義 cont.
 授權書不能針對某個產品
(License Must Not Be Specific to a Product)
 這個計劃提供的權益不能針對某個產品. 由果這個程式
是由某個軟體中摘錄而以這個計劃的名義來散佈, 所有
擁有這個授權書的人必須擁有與原始散撥者一樣的權
益
 授權書不能限制其他的軟體
(The License Must Not Restrict Other Software)
 這個授權書不能夠限制其他同樣以這個授權書散佈的
軟體. 舉例而言, 這個授權書不能堅持其他用同樣方式
傳佈的軟體都要是開放性原始碼的型態
GNU Project
 GNU's Not Unix!
 GNU 計劃 開始於1984年,旨在發展一個類似 Unix 且為
自由軟體 的作業系統: GNU 系統
 GNU 是由 ``GNU's Not Unix'' 所遞迴定義出的頭字語;它
的發音為 "guh-NEW“
 各種使用 Linux 作為核心的 GNU 作業系統正被廣泛地使
用著;雖然這些系統通常被稱作 ``Linux‘’,但是它們應該
更精確地被稱為 GNU/Linux 系統
 GNU 頭像具有象徵性的鬍子和優美的卷角。
他或她的外表帶有對他到現在為止工作滿意
的微笑,但它仍然凝視遠方。
Initial Announcement
 Written by Richard Stallman in 1983
 http://www.gnu.org/gnu/initialannouncement.html




Free Unix
Who Am I
Why I Must Write GNU
How You Can Contribute
GNU 宣言
 http://www.gnu.org/gnu/manifesto.html
 The GNU Manifesto (which appears below) was
written by Richard Stallman at the beginning of
the GNU Project, to ask for participation and
support. For the first few years, it was updated
in minor ways to account for developments, but
now it seems best to leave it unchanged as most
people have seen it. Since that time, we have
learned about certain common
misunderstandings that different wording could
help avoid. Footnotes added in 1993 help clarify
these points.
The GNU Manifesto
 Why I Must Write GNU
 Why GNU Will Be Compatible with Unix
 How GNU Will Be Available
 Why Many Other Programmers Want to
Help
 How You Can Contribute
 Why All Computer Users Will Benefit
The GNU Manifesto
 Some Easily Rebutted Objections to GNU's
Goals
 Nobody will use it if it is free, because that means
they can't rely on any support
 You have to charge for the program to pay for
providing the support
 You cannot reach many people without advertising,
and you must charge for the program to support that
 It's no use advertising a program people can get free
 My company needs a proprietary operating system to
get a competitive edge
 Don't programmers deserve a reward for their
creativity?
The GNU Manifesto
 Shouldn't a programmer be able to ask for a reward
for his creativity?
 Won't programmers starve?
 Don't people have a right to control how their
creativity is used?
 Competition makes things get done better
 Won't everyone stop programming without a
monetary incentive?
 We need the programmers desperately. If they
demand that we stop helping our neighbors, we have
to obey
 Programmers need to make a living somehow
GNU計劃概述
 GNU計劃開發了一套與Unix向上兼容的名為
「GNU」(GNU‘s Not Unix)的完全自由的軟體系
統
 「free」是關於 自由 ,而不是價格
 http://www.gnu.org/philosophy/free-sw.html
free software defination
 一旦得到了軟體,您便擁有了使用它的三項指定
的自由
 複製軟體並將其送給您的朋友和同事的自由
 通過對源碼的完全控制而可以隨意改變程序的自由
 發布改進的版本從而幫助建設社群的自由
GNU計劃概述
 1983 年GNU計劃被構想為回歸早期計算機社群
中廣泛存在的合作精神的一種方法 - 通過除去私
有軟體擁有者設置的障礙而使得合作再次成為可
能
 1971 年 Richard Stallman 開始在MIT的生涯時,
他在一個只使用自由軟體的小組中工作。甚至計
算機公司都經常發布自由軟體。程式設計師們可
以自由地相互合作
 到了二十世紀八十年代,幾乎所有的軟體都是 私
有的,這意味著它具備了禁止和阻止用戶合作的
擁有者。這使得GNU項目成為必然
http://www.gnu.org/philosophy/categories.html#ProprietarySoftware
GNU計劃概述
 每一個計算機用戶都需要一個操作系統;如果沒
有自由的操作系統,那麼你將甚至無法在不使用
私有軟體的情況下開始使用計算機。所以自由軟
體議程上的第一件事就是一個自由的操作系統
 一個操作系統並不僅僅是一個核心;它也包括了
編譯器、編輯器、文本格式化軟體、郵件軟體以
及其他很多別的東西
 決定將操作系統與Unix兼容是因為它的整體設計
歷經考驗並且跨平台,而且還因為兼容性使得
Unix的用戶很容易從Unix上轉移到GNU
GNU計劃概述
 到二十世紀九十年代,我們或者找到或者寫出了除了內核
以外的所有主要組件
 Linus Torvalds開發了Linux - 一個免費的內核。將Linux與
幾乎完成的GNU系統的結合誕生了一個完全的操作系統:
一個基於Linux的GNU系統
 GNU計劃並不限於操作系統。目標是提供一個完全的軟體
系列,滿足很多用戶的任何要求
 自由軟體將走多遠?沒有止境,除非到例如專利系統等法
律完全禁止自由軟體時。最終的目標是要為所有計算機用
戶希望進行的工作提供自由軟體 - 並且因此廢棄私有軟體
Linux 和 GNU 計劃
 Linux 是和 GNU 作業系統結合在一起使用:系統本身是
GNU,與 Linux 作為核心一起工作
 許多用戶並不完全了解 Linux 核心和被稱作「Linux」的
整個系統的區別。而不加區別地使用這個名字並不能對理
解有幫助。
 程式員一般都知道 Linux 是一個核心。但是因為他們通常
也聽到整個系統被稱作「Linux」,他們會根據名字去想
像歷史。比如,很多人認為當 Linus Torvalds 完成了核心
後,他的朋友四處尋找其他的自由軟體,而且,沒什麼特
別原因地,所有的可以被組裝成一個類似 Unix 系統的程
式都是現成的。
Linux 和 GNU 計劃
 將可用的自由軟體 加在一起就組成了一個完整的系統,
這是由於自 1984 年就開始的 GNU 計劃一直在為此努力
 GNU 宣言早已設立了開發一個類似 Unix 的自由系統的目
標,並稱作 GNU。GNU 計劃的起始公告 也勾畫了 GNU
系統的原始提綱
 在 Linux 被編寫時,這個系統幾乎已經完成
 GNU 是一個系統而不是一些實用程式的組合的原因是,
GNU 計劃的最初目標就是做一個完整系統
 為完成一個完整的系統做了一個所需程式清單,有系統地
尋找,編寫這些程式,或找人來編寫清單上的每一個程式
 曾經把除了核心以外的東西放到一起組成了一個系統,但
核心的開發比想像困難多了
Linux 和 GNU 計劃
 因為 Linux 開發成功,人們可以將 Linux 和 GNU 系統組
成一個完整的自由系統:基於 Linux 的 GNU 系統(或簡
稱為 GNU/Linux 系統)
 把它們組合到一起聽起來很容易,但是這並不是一個簡單
的工作。 GNU C 庫 (簡稱 glibc) 需要作大量的修改。整
合到一個完整的發行系統並使其可以 ``活起來‘’ 也是一項
很大的工作。
 Linux 是核心,系統的關鍵部件之一。系統或多或少實際
上都應該是 GNU 系統,再加上 Linux 。
「GNU/Linux」。
Linux 和 GNU 計劃
 除了 GNU,還有一個獨立進行的計劃開發了一個自由的
類似 Unix 的操作系統。這個系統被稱為 BSD,它是由
UC Berkeley 開發的。
 在 GNU 計劃的鼓舞下,BSD 的開發者開始進行他們自己
的自由軟體的開發工作,並時常受到 GNU 人士的鼓勵,
但是他們的實際工作與 GNU 重覆性不大。
 今天 BSD 系統採用一些 GNU 軟體,就像不同版本的
GNU 系統也採用 BSD 的軟體一樣。總的說來,它們是兩
套獨立開發的不同的系統。今天一個免費的操作系統幾乎
都是採用 GNU 或 BSD 系統的一個衍生版本。
Categories of Free and Non-Free
Software
 http://www.gnu.org/philosophy/categories.html
Categories of Free and Non-Free
Software
 Free software
 Free software is software that comes with permission
for anyone to use, copy, and distribute, either
verbatim or with modifications, either gratis or for a
fee
 Source code must be available. ``If it's not source, it's
not software.''
 It refers to four kinds of freedom
 The freedom to run the program, for any purpose (freedom
0).
 The freedom to study how the program works, and adapt it to
your needs (freedom 1). Access to the source code is a
precondition for this.
Categories of Free and Non-Free
Software
 The freedom to redistribute copies so you can help your
neighbor (freedom 2).
 The freedom to improve the program, and release your
improvements to the public, so that the whole community
benefits. (freedom 3). Access to the source code is a
precondition for this
 http://www.gnu.org/philosophy/free-sw.html
-- Free Software Defination
 Open Source software
 The term ``open source'' software is used by some
people to mean more or less the same thing as free
software
Categories of Free and Non-Free
Software
 http://www.gnu.org/philosophy/free-software-for-freedom.html
-- Why ``Free Software'' is better than ``Open Source'‘
 The main argument for the term ``open source software'' is that
``free software'' makes some people uneasy. That's true: talking
about freedom, about ethical issues, about responsibilities as well
as convenience, is asking people to think about things they might
rather ignore. This can trigger discomfort, and some people may
reject the idea for that. It does not follow that society would be better
off if we stop talking about these things
 Years ago, free software developers noticed this discomfort
reaction, and some started exploring an approach for avoiding it.
They figured that by keeping quiet about ethics and freedom, and
talking only about the immediate practical benefits of certain free
software, they might be able to ``sell'' the software more effectively
to certain users, especially business. The term ``open source'' is
offered as a way of doing more of this--a way to be ``more
acceptable to business.'' The views and values of the Open Source
movement stem from this decision
Categories of Free and Non-Free
Software
 Public domain software
 Public domain software is software that is not
copyrighted. It is a special case of non-copylefted free
software, which means that some copies or modified
versions may not be free at all.
 Sometimes people use the term ``public domain'' in a
loose fashion to mean ``free'' or ``available gratis.''
However, ``public domain'' is a legal term and means,
precisely, ``not copyrighted''
Categories of Free and Non-Free
Software
 Copylefted software
 Copylefted software is free software whose
distribution terms do not let redistributors add any
additional restrictions when they redistribute or modify
the software
 This means that every copy of the software, even if it
has been modified, must be free software
 Non-copylefted free software
 Non-copylefted free software comes from the author
with permission to redistribute and modify, and also to
add additional restrictions to it
Categories of Free and Non-Free
Software
 The X Window System illustrates this. The X
Consortium releases X11 with distribution terms that
make it non-copylefted free software
 GPL-covered software
 The GNU GPL (General Public License) (20k
characters) is one specific set of distribution terms for
copylefting a program. The GNU Project uses it as the
distribution terms for most GNU software
 The GNU system
 The GNU system is a complete free Unix-like
operating system
Categories of Free and Non-Free
Software
 GNU programs
 Equivalent to GNU software
 GNU software
 GNU software is software that is released under the
auspices of the GNU Project. Most GNU software is
copylefted, but not all; however, all GNU software
must be free software.
 Semi-free software
 Semi-free software is software that is not free, but
comes with permission for individuals to use, copy,
distribute, and modify (including distribution of
modified versions) for non-profit purposes
 PGP is an example of a semi-free program
Categories of Free and Non-Free
Software
 Adding one semi-free program to the system would
make the system as a whole just semi-free
 Proprietary software
 Proprietary software is software that is not free or
semi-free
 use, redistribution or modification is prohibited, or
requires you to ask for permission, or is restricted so
much that you effectively can't do it freely
 Freeware
 The term ``freeware'' has no clear accepted definition,
but it is commonly used for packages which permit
redistribution but not modification
Categories of Free and Non-Free
Software
 These packages are not free software, so please
don't use ``freeware'' to refer to free software
 Shareware
 Shareware is software which comes with permission
for people to redistribute copies, but says that anyone
who continues to use a copy is required to pay a
license fee
 Shareware is not free software, or even semi-free.
There are two reasons it is not
 For most shareware, source code is not available; thus, you
cannot modify the program at all
 Shareware does not come with permission to make a copy
and install it without paying a license fee, not even for
individuals engaging in nonprofit activity
Categories of Free and Non-Free
Software
 Commercial Software
 Commercial software is software being developed by
a business which aims to make money from the use
of the software. ``Commercial'' and ``proprietary'' are
not the same thing! Most commercial software is
proprietary, but there is commercial free software, and
there is non-commercial non-free software
 For example, GNU Ada is always distributed under
the terms of the GNU GPL, and every copy is free
software; but its developers sell support contracts.
When their salesmen speak to prospective
customers, sometimes the customers say, ``We would
feel safer with a commercial compiler.'' The salesmen
reply, ``GNU Ada is a commercial compiler; it
happens to be free software.''
Licenses
 The GNU General Public License (GPL)
 The GNU Library or "Lesser" Public License






(LGPL)
The BSD license
The MIT license
The Artistic license
The Mozilla Public License v. 1.0 (MPL)
The Qt Public License (QPL)
The IBM Public License
Licenses
 The MITRE Collaborative Virtual Workspace License








(CVW License)
The Ricoh Source Code Public License
The Python license (CNRI Python License)
The Python Software Foundation License
The zlib/libpng license
The Apache Software License
The Vovida Software License v. 1.0
The Sun Industry Standards Source License (SISSL)
The Intel Open Source License
Licenses
 The Mozilla Public License 1.1 (MPL 1.1)
 The Jabber Open Source License
 The Nokia Open Source License (NOKOS






License) Version 1.0a
The Sleepycat License
The Nethack License
The Common Public License
The Apple Public Source License
The X.Net License
The Sun Public License
Licenses
 The Effiel Forums License
 The W3C License
 The Motosoto License
 The Open Group Test Suite License
 The Zope Public License
 The zlib/libpng License
 The Academic Free License
 The Attribution Assurance License
Reference
 http://www.gnu.org/
 http://www.opensource.org/
 http://conferences.oreillynet.com/os2002/
 http://www.slat.org/project/legal/GNU_GPL
_Chinese
 http://www.gnu.org/licenses/translations.zh
.html
Example









Linux distribution
OpenOffice
PHP-Nuke
Perl
PHP
Apache
XML
gdb
OpenOffice








MySQL
PostgreSQL
JAVA
Python
BIND
Sendmail
gcc
gnome
GNU/GPL
 This is an unofficial translation of the GNU General
Public License into language. It was not published by the
Free Software Foundation, and does not legally state the
distribution terms for software that uses the GNU GPL-only the original English text of the GNU GPL does that.
However, we hope that this translation will help language
speakers understand the GNU GPL better.
這不是 GNU 通用公共許可證的正式 language 語言的翻
譯。不是由自由軟體基金會發布的,在法律上不代表使用
GNU GPL 許可證的軟體的發布術語,──只有 GNU GPL
的原始英文描述才具有這樣的效力。但是我們希望此翻譯
能幫助說 language 語言的人能更好地理解 GNU GPL
GNU 通用公共授權
(繁體中文參考版)
(原文出處: http://www.gnu.org/copyleft/gpl.html)
著作權所有 (C) 1989,1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
允許每個人複製和散布本授權文件的完整副本,
但不允許對它進行任何修改。
聲明
This is an unofficial translation of the GNU General Public License into Chinese. It
was not published by the Free Software Foundation, and does not legally state the
distribution terms for software that uses the GNU GPL--only the original English text
of the GNU GPL does that. However, we hope that this translation will help Chinese
speakers understand the GNU GPL better.
這是一份 GNU 通用公共授權非正式的中文翻譯。它並非由自由軟體基金會所發表,
亦非使用 GNU 通用公共授權的軟體的法定散布條款─只有 GNU 通用公共授權英文
原文的版本始具有此等效力。然而,我們希望這份翻譯能幫助中文的使用者更了解
GNU 通用公共授權。
前言
大多數軟體授權聲明是設計用以剝奪您分享與修改軟體的自由。相反地,GNU通用
公共授權力圖保證您分享與修改自由軟體的自由—確保軟體對所有的使用者而言都
是自由的。通用公共授權適用於大多數自由軟體基金會的軟體,以及任何作者指定
使用本授權的其他軟體。(有些自由軟體基金會的軟體,則適用GNU函式庫通用公
共授權規定。)您也可以讓您的軟體適用本授權規定。
當我們在談論自由軟體時,我們所指的是自由,而非價格。我們的通用公共授權係
設計用以確保使您保有散布自由軟體重製物的自由(以及您可以決定此一服務是否
收費),確保您能收到源碼或者在您需要時便能得到它,確保您能變更軟體或將它
的一部分用於新的自由軟體;並且確保您知道您可以從事上述的事情。
為了保障您的權利,我們需要作出限制:禁止任何人否認您上述的權利,或者要求
您放棄這些權利。如果您散布軟體的副本,或者對之加以修改,這些限制就轉化成
為您的責任。
例如,假如您散布此類程式的副本,無論是免費或收取費用,您必須將您所享有的
一切權利交付收受者。您也必須確保他們能收到或得到源碼。而且您必須向他們展
示這些條款的內容,使他們知悉他們所享有的權利。
我們採取兩項措施來保護您的權利:(1)以著作權保護軟體,以及(2)提供您本授權,
賦與您複製、散布及/或修改軟體的法律許可。
同時,為了保護作者與我們(按:指自由軟體基金會),我們希望確定每個人都明
瞭,自由軟體是沒有擔保責任的。如果軟體被他人修改並加以傳遞,我們需要其收受
者知道,他們所得到的並非原軟體,因此由他人所引出的任何問題對原作者的聲譽將
不會有任何的影響。
最後,所有自由軟體不斷地受到軟體專利的威脅。我們希望能避免自由軟體的再散布
者以個人名義取得專利授權而使程式專有化的風險。為了防止上述的情事發生,我們
在此明確聲明:任何專利都必須為了每個人的自由使用而核准,否則就不應授與專
利。
以下是有關複製、散布及修改的明確條款及條件。
複製、散布與修改的條款與條件
0.
凡著作權人在其程式或其他著作中聲明,該程式或著作得在通用公共授權條款
下散布,本授權對其均有適用。以下所稱的「本程式」,係指任何一種適用通用公共
授權的程式或著作;「基於本程式所生的著作」,則指本程式或任何基於著作權法所
產生的衍生著作,換言之,係指包含本程式全部或一部的著作,不論是完整的或經過
修改的程式,以及(或)翻譯成其他語言的程式(以下「修改」一詞包括但不限於翻
譯行為在內)。被授權人則稱為「您」。
本授權不適用於複製、散布與修改以外的行為;這些行為不在本授權範圍內。執行本
程式的行為並不受限制,而本程式的輸出只有在其內容構成基於本程式所生的著作
(而非只是因為執行本程式所造成)時,始受本授權拘束。至於程式的輸出內容是否
構成本程式的衍生著作,則取決於本程式的具體用途。
1.
您可以對所收受的本程式源碼,無論以何種媒介,複製與散布其完整的重製物,
然而您必須符合以下要件:以顯著及適當的方式在每一份重製物上發佈適當的著作權
標示及無擔保聲明;維持所有有關本授權以及無擔保聲明的原貌;並將本授權的副本
連同本程式一併交付予其他任一位本程式的收受者。
您可以對讓與重製物的實際行為請求一定的費用,您也可以自由決定是否提供擔保以
作為對價的交換。
2.
您可以修改本程式的一個或數個重製物或者本程式的任何部份,以此形成基於本
程式所生的著作,並依前述第一條規定,複製與散布此一修改過的程式或著作,但您
必須符合以下要件:
(a) 您必須在所修改的檔案上附加顯著的標示,敘明您修改過這些檔案,以及修改日
期。
(b) 您必須就您所散布或發行的著作,無論是包含本程式全部或一部的著作,或者是
自本程式或其任何部份所衍生的著作,整體授權所有第三人依本授權規定使用,且不
得因此項授權行為而收取任何費用。
(c) 若經過修改的程式在執行時通常以互動方式讀取命令時,您必須在最常被使用的
方式下,於開始進入這種互動式使用時,列印或展示以下宣告:適當的著作權標示及
無擔保聲明(或者聲明您提供擔保)、使用者可以依這些條件再散布此程式,以及告
知使用者如何瀏覽本授權的副本。(例外:若本程式本身係以互動的方式執行,然而
通常卻不會列印該宣告時,則您基於本程式所生的著作便無需列印該宣告。)
這些要求對修改過的著作是整體適用的。倘著作中可識別的一部份並非衍生自本程
式,並且可以合理地認為是一獨立的、個別的著作,則當您將其作為個別著作加以
散布時,本授權及其條款將不適用於該部分。然而當您將上述部分,作為基於本程
式所生著作的一部而散布時,整個著作的散布必須符合本授權條款的規定,而本授
權對於其他被授權人所為的許可及於著作整體。
因此,本條規定的意圖不在於主張或剝奪您對於完全由您所完成著作的權利;應該
說,本條規定意在行使對基於程式所生的之衍生著作或集合著作散布行為的控制
權。
此外,非基於本程式所生的其他著作與本程式(或基於本程式所生的著作)在同一
儲存或散布的媒介上的單純聚集行為,並不會使該著作因此受本授權條款拘束。
3.
您可以依前述第一、二條規定,複製與散布本程式(或第二條所述基於本程式
所產生的著作)的目的碼或可執行形式,但您必須符合以下要件:
(a) 附上完整、相對應的機器可判讀源碼,而這些源碼必須依前述第一、二條規定
在經常用以作為軟體交換的媒介物上散布;或
(b) 附上至少三年有效的書面報價文件,提供任何第三人在支付不超過實際散布源
碼所需成本的費用下,取得相同源碼的完整機器可讀重製物,並依前述第一、二條
規定在經常用以作為軟體交換的媒介物上散布該重製物;或
(c) 附上您所收受有關散布相同源碼的報價資訊。(本項選擇僅在非營利散布、且
僅在您依前述b項方式自該書面報價文件收受程式目的碼或可執行形式時,始有適
用。)
著作的源碼,是指對著作進行修改時適用的形式。對於一個可執行的著作而言,完整
的源碼是指著作中所包含所有模組的全部源碼,加上相關介面的定義檔,還加上用以
控制該著作編繹與安裝的描述。然而,特別的例外情況是,所散布的源碼並不需包含
任何通常會隨著所執行作業系統的主要組成部分(編譯器、核心等等)而散布的軟體
(無論以源碼或二進位格式),除非該部分本身即附加在可執行程式中。
若可執行碼或目的碼的散布方式,是以指定的地點提供存取位置供人複製,則提供可
自相同地點複製源碼的使用機會,視同對於源碼的散布,然而第三人並不因此而負有
將目的碼連同源碼一併複製的義務。
4.
除本授權所明示的方式外,您不得對本程式加以複製、修改、再授權或散布。
任何試圖以其他方式進行複製、修改、再授權或者散布本程式的行為均為無效,並且
將自動終止您基於本授權所得享有的權利。然而,依本授權規定自您手中收受重製物
或權利之人,只要遵守本授權規定,他們所獲得的授權並不會因此終止。
5.
因為您並未在本授權上簽名,所以您無須接受本授權。然而,除此之外您別無
其他修改或散布本程式或其衍生著作的授權許可。若您不接受本授權,則這些行為在
法律上都是被禁止的。因此,藉由對本程式(或任何基於本程式所生的著作)的修改
或散布行為,您表示了對於本授權的接受,以及接受所有關於複製、散布或修改本程
式或基於本程式所生著作的條款與條件。
6.
每當您再散布本程式(或任何基於本程式所生的著作)時,收受者即自動獲得
原授權人所授予依本授權條款與條件複製、散布或修改本程式的權利。您不得就本
授權所賦予收受者行使的權利附加任何進一步的限制。您對於第三人是否履行本授權
一事,無須負責。
7.
若法院判決、專利侵權主張或者其他任何理由(不限於專利爭議)的結果,使得
加諸於您的條件(無論是由法院命令、協議或其他方式造成)與本授權規定有所衝
突,他們並不免除您對於本授權規定的遵守。若您無法同時符合依本授權所生義務及
其他相關義務而進行散布,那麼其結果便是您不得散布該程式。例如,若專利授權不
允許直接或間接透過您而取得重製物之人,以免付權利金的方式再散布該程式時,您
唯一能同時滿足該義務及本授權的方式就是徹底避免進行該程式的散布。
若本條任一部份在特殊情況下被認定無效或無法執行時,本條其餘部分仍應適用,且
本條全部於其他情況下仍應適用。
本條的目的並不在誘使您侵害專利或其他財產權的權利主張,或就此類主張的有效性
加以爭執;本條的唯一目的,是在保障藉由公共授權慣例所執行自由軟體散布系統的
完整性。許多人信賴該系統一貫使用的應用程式,而對經由此系統散布的大量軟體有
相當多的貢獻;作者/貢獻者有權決定他或她是否希望經由其他的系統散布軟體,而
被授權人則無該種選擇權。
本條的用意在於將本授權其他不確定的部分徹底解釋清楚。
8.
若因為專利或享有著作權保護的介面問題,而使得本程式的散布與/或使用侷限
於某些國家時,則將本程式置於本授權規範之下的原著作權人得增列明確的散布地區
限制條款,將該等國家排除在外,而使散布的許可只限在未受排除的國家之內或
之中。在該等情況下,該限制條款如同以書面方式訂定於本授權內容中,而成為本授
權的條款。
9.
自由軟體基金會得隨時發表通用公共授權的修正版與/或新版本。新版本在精
神上將近似於目前的版本,然而在細節上或所不同以因應新的問題或狀況。
每一個版本都有個別的版本號碼。若本程式指定有授權版本號碼,表示其適用該版本
或是「任何新版本」時,您得選擇遵循該版本或任何由自由軟體基金會日後所發表新
版本的條款與條件。若本程式並未指定授權版本號碼時,您便得選擇任一自由軟體基
金會所發表的版本。
10. 若您想將部分本程式納入其他自由程式,而其散布的條件有所不同時,請寫信取
得作者的許可。若為自由軟體基金會享有著作權的軟體,請寫信至自由軟體基金會;
我們有時會以例外方式予以處理。我們的決定取決於兩項目標:確保我們自由軟體的
所有衍生著作均維持在自由的狀態,並廣泛地促進軟體的分享與再利用。
無擔保聲明
11. 由於本程式係無償授權,因此在法律許可範圍內,本授權對本程式並不負擔保責
任。非經書面聲明,著作權人與/或其他提供程式之人,無論明示或默示,均係依
「現況」提供本程式而並無任何形式的擔保責任,其包括但不限於,就適售性以及特
定目的的適用性為默示性擔保。有關本程式品質與效能的全部風險悉由您承擔。如本
程式被證明有瑕疵,您應承擔所有服務、修復或改正的費用。
12. 非經法律要求或書面同意,任何著作權人或任何可能依前述方式修改與/或散布
本程式者,對於您因為使用或不能使用本程式所造成的一般性、特殊性、意外性或間
接性損失,不負任何責任(包括但不限於,資料損失,資料執行不精確,或應由您或
第三人承擔的損失,或本程式無法與其他程式運作等),即便前述的著作權人或其他
人已被告知該等損失的可能性時,亦同。
—條文結束—
您的新程式該如何採用這些條款?
如果您開發了一個新程式,並且希望能夠讓它盡可能地被大眾使用,達成此目的的
最好方式就是讓它成為自由軟體,任何人依這些條款規定都能就該軟體再為散布及
修改。
為了做到這一點,請將以下聲明附加到程式上。最安全的作法,是將聲明放在每份
源碼檔案的起始處,以有效傳達無擔保責任的訊息;且每份檔案至少應有「著作
權」列以及本份聲明全文位置的提示。
〈用一行描述程式的名稱與其用途簡述〉
著作權所有(c) 〈年份〉〈作者姓名〉
本程式為自由軟體;您可依據自由軟體基金會所發表的GNU通用公共授權條款規
定,就本程式再為散布與/或修改;無論您依據的是本授權的第二版或(您自行選
擇的)任一日後發行的版本。
本程式係基於使用目的而加以散布,然而不負任何擔保責任;亦無對適售性或特定
目的適用性所為的默示性擔保。詳情請參照GNU通用公共授權。
您的新程式該如何採用這些條款?
您應已收到附隨於本程式的GNU通用公共授權的副本;如無,請寫信至自由軟體基金
會:59 Temple Place – Suite 330, Boston, Ma 02111-1307, USA。
同時附上如何以電子及書面信件與您聯絡的資訊。
若程式是以互動方式運作時,請在互動式模式開始時,輸出簡短提示如下:
Gnomovision 第69版,著作權所有 (c) 年份 作者姓名
Gnomovision不負擔保責任,欲知詳情請鍵入「show w」。這是一個自由軟體,歡迎您
在特定條件下再散布本程式;欲知詳情請鍵入「show c」。
所假設的指令「show w」與「show c」應顯示通用公共授權的相對應條款。當然,您
可以使用「show w」與「show c」以外的指令名稱;甚至以滑鼠鍵擊或選單方式進
行—只要是合於您程式需要的方式都可以。
如有需要,您亦應取得您的雇主(若您的工作為程式設計師)或學校就本程式所簽署的
「著作權放棄承諾書」。其範例如下,您只要修改姓名即可:
您的新程式該如何採用這些條款?
Yoyodyne公司,茲此放棄James Hacker所寫之”Gnomovision”程式(該程式產出
編譯器所需資訊)所有的著作權利益。
〈Ty Coon公司簽章〉,1989年四月一日
Ty Coon公司副總裁
本通用公共授權並不允許您將本程式併入專有程式中。若您的程式是一子程式函式
庫時,您可能認為允許專有應用程式與該函式庫相連結會更有幫助。若這是您所想
做的,請使用GNU函式庫通用公共授權代替本授權。