We provide Open Source Software license and legal materials via this page.
自己寫了一個程式,想要用自由軟體的方式來授權這個程式,卻不知道該如何做?這是不少人的疑惑。其實,就目前大部分的自由軟體授權條款的規定來看,並沒有一定必須遵守的宣告方式,所以重點就在於:要讓他人可以清楚明確地知道這個程式是採用自由軟體方式來授權。
將授權條款附在程式中一起散布,這是最簡單的方法。像採用 BSD、MIT 這一類簡短條款授權的話,就可以將條款全文附在每一個原始碼檔案的一開始,這樣利用其中任意一個原始碼檔案的人,也可以明確地知道這些原始碼是採用 BSD 或 MIT 來授權的。
但是,並非所有自由軟體授權條款的內容都像 BSD、MIT 一樣的簡短,相反地,大部分條款內容都有一定的量,例如著名的 GPL 與 MPL 就屬於內容繁多的條款。對於程式使用者來說,逐字閱讀這些條款內容相當不容易,所以除了附上授權條款全文之外,開發者可以另外寫一份簡要的授權說明文字,與授權條款全文一同附隨程式散布。這份授權說明文字的內容可以有:程式採用哪一份條款授權、使用者擁有哪些重要權利以及其他重要資訊。透過這份簡要的說明文字,使用者可以快速地瞭解這個程式重要的授權資訊,若是其對授權條款的詳細內容有興趣的話,可以自行再去閱讀條款的全文。
(一)程式中
授權條款通常只需要存在一個文字檔中,放在適當的目錄之下即可,但是說明文字卻強烈建議必須放置在許多地方,以達到清楚標示的目的。這些地方包括了:前面所提的適當目錄之下、每一個原始碼檔案的一開頭,此外,程式執行時也最好讓使用者可以閱讀到這樣的簡短說明文字。只要是標示清楚、讓使用者容易找到,就是這邊所謂的「適當目錄」。而之所以要在每一個原始碼檔案的開頭都標示說明文字,是為了避免使用者只抽取其中個別原始碼檔案來利用,若是其中沒有授權說明文字,接下來的其他後手將無法知曉這個檔案是採用什麼方式授權,因而以違反授權規定的方式來利用這些檔案中的原始碼。
(二)網站
在網站上宣告授權方式,筆者以為並非是完全必要的方式,但是有利於程式的散布與利用程度,所以筆者強烈建議在網站上,清楚宣告程式的授權方式。為了達到這樣的目的,可以將前述的簡短說明文字放至於網頁上即可,不過很多開發者會另行撰寫文字,讓網站造訪者知道這個程式是可以自由使用、散布、重製與修改的。
而這樣的網站可以是專門為這個程式架設的網站,也可以是知名的自由軟體專案開發網站,例如 SourceForge[1]、Savanah[2],或者是操作介面完全中文化的 OpenFoundry[3],端視開發者將自己的程式放在哪裡而定。在這邊筆者想要提醒,除非這個程式本身已經有相當的知名度,否則筆者會建議將程式放在 SourceForge、Savanah、OpenFoundry 等開發網站上,因為只要在這個網站上有註冊開發專案,使用者幾乎可以確定這個程式就是自由軟體,進而減輕使用者的辨識困難,再加上程式中的說明文字,使用者更可以清楚知道:這個程式是自由軟體,並且採用哪一份條款授權。
下面以 GPL 授權的 GIMP 2.4.0(以下稱 GIMP)[4] 為例,說明開發者可以如何為自己的程式宣告是自由軟體。GIMP 是個像 Photoshop 一樣的影像處理軟體,授權宣告算是相當完備,以做為本文說明的例子。不過並非每一個程式都一定要依照這樣詳細的方式來說明,如前面提到的,若是採用 BSD 授權的話,可以只需要將條款全文附上即可。
(一)說明文字
GIMP 的簡短說明文字如下:
/* GIMP - The GNU Image Manipulation Program * Copyright (C) 1995 Spencer Kimball and Peter Mattis * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
以上文字是套用 GPL 授權條款文末所附的範本而來的,分別陳述出最重要的四件事情:(1) 著作權利人與相關聲明;(2) 採用 GPL 第二版或其後版本來授權;(3) GIMP 是不附有任何擔保與保證責任的;(4) 拿到程式之人應該也會收到 GPL 的文字內容,若是沒收到的話,請寫信給著作權人自由軟體基金會索取。
這樣一份簡短的說明文字在每一個 GIMP 的原始碼檔案最上端都可以看到。當程式執行時,使用者也可以看到這樣的說明:使用者點選 GIMP 工具列上「求助 (Help)」中的「關於 (about)」選項,進入後點選下方的「授權條款 (License)」,就可以看到上方的簡短文字內容。
(二)額外說明
通常只需要上面的簡短說明文字,就可以提供足夠重要的資訊給使用者,但是在原始碼檔案的第一層目錄中,GIMP 還有一份額外的說明,內容如下:
* The GIMP application core, and other portions of the official GIMP distribution not explicitly licensed otherwise, are licensed under the GNU GENERAL PUBLIC LICENSE -- see the 'COPYING' file in this directory for details. [ The below explicit exemption, we hope, clears up the GIMP developers' position concerning an ambiguity with the GNU General Public License concerning what constitutes a 'mere aggregation' versus a combined or derived work. The intention is to make it clear that arbitrarily-licensed programs such as GIMP plug-ins do not automatically assume the GNU General Public License (GPL) themselves simply because of their invokation of (or by) procedures implemented in GPL-licensed code, via libgimp or a similar interface to methods provided by the pdb: ] * If you create a program which invokes (or provides) methods within (or for) the GPL GIMP application core through the medium of libgimp or another implementation of the 'procedural database' (pdb) serial protocol, then the GIMP developers' position is that this is a 'mere aggregation' of the program invoking the method and the program implementing the method as per section 2 of the GNU General Public License. * 'libgimp' and the other GIMP libraries are licensed under the GNU LESSER GENERAL PUBLIC LICENSE -- see the 'COPYING' file in the libgimp directory for details.
這段文字的目的有二:首先是說明 GIMP 開發者對於所謂「單純結合 (mere aggregation)」的看法,只要利用 GIMP 原始碼的方式符合這邊所描述的內容,因此而產生的新程式將不會受到 GPL 感染;此外,則是說明 GIMP 當中有些函示庫並非採用 GPL 授權,而是 LGPL。
這樣的額外說明並非必要,但是卻給那些利用 GIMP 來開發其他程式的人一個較為清楚的標準,知道如何做可以讓自己的程式不必受到 GPL 拘束,好選擇其他的條款來授權自己寫的程式。
此外,這樣的額外說明當然可以跟前述的簡要說明文字合一,寫在同一份文字檔。
(三)條款全文
最後,在原始檔的第一層目錄中有個 "COPYING" 的文字檔,裡面有著 GPL 第二版的全文內容,而在 libgimp 目錄中 "COPYING" 的文字檔則是 LGPL 第二版的全文內容,看到上面兩份說明文字者,若想要進一步瞭解授權詳細內容的話,就可以開這些檔案來閱讀。
[4] 原始碼取得位置:ftp://ftp.gimp.org/pub/gimp/v2.4/。