宣告授權條款的方式

選定授權條款之後,接下來就是要讓他人知道您程式的授權內容,也就是要宣告程式的授權條款。就目前大部分的自由軟體授權條款規定來看,並沒有一定必須遵守的宣告方式,所以重點在於:要讓他人可以清楚明確地知道您程式是採用自由軟體的方式來授權。

 

(一)條款全文

將授權條款附在程式中一起散布,這是最簡單的方法。您若採用 BSD、MIT 這一類簡短條款授權的話,可以將條款全文附在每一個原始碼檔案的一開始之處,這樣利用其中任何一個原始碼檔案的人,都可以明確地知道這些檔案中的原始碼是採用 BSD 或 MIT 來授權。

 

(二)說明文字

但是並非所有自由軟體授權條款的內容都像 BSD、MIT 一樣的簡短,相反地,大部分條款內容都有一定的量,例如著名的 GPL2、LGPL2 與 MPL 就屬於內容繁多的條款。對於程式使用者來說,逐字閱讀這些條款內容相當不容易,所以除了附上授權條款全文之外,您可以另外寫一份簡要的說明文字,與授權條款全文一同附隨程式散布。這份說明文字的內容可以有:程式採用哪一份條款授權、使用者擁有哪些重要權利、如何閱讀條款全文以及其他重要資訊。透過這份簡要的說明文字,使用者可以快速地瞭解這個程式重要的授權資訊,若是其對授權條款的詳細內容有興趣的話,可以自行再去閱讀條款全文。

 

(三)條款全文與說明文字的標示處

1. 程式中

如上所述,您可以將授權條款全文放在每一個原始碼檔案的一開頭之處,但若是遇到文字內容多的條款,這樣的方式就不見得恰當,這時候可以將條款文字內容存在一個文字檔中,再將這個文字檔放在適當的目錄之下即可。除此之外,鑄造場強烈建議您將較簡短的說明文字分散放置在程式的其他地方,以達到清楚標示的目的。這些地方包括了:前面所提的適當目錄之下、每一個原始碼檔案的一開頭,此外,程式安裝或執行時也最好讓使用者可以閱讀到這樣的簡短說明文字。只要是標示清楚、讓使用者容易找到,就是這邊所謂的「適當目錄」。而之所以要在每一個原始碼檔案的開頭都標示說明文字,是為了避免使用者只抽取其中個別原始碼檔案來利用,若是個別檔案中沒有授權說明文字,接下來的其他使用者將無法知曉這個檔案是採用什麼方式授權,因而可能怠於遵守授權規定來利用這些檔案中的原始碼。

 

2. 網站

在網站上宣告程式的授權方式,並非是授權條款要求的必要方式,但是有利於程式的散布與利用程度。本手冊在上一節的一開始說明如何判斷網路上發現的軟體是否為自由軟體,其中提到有些網站的標示並不是很清楚,若是您可以將自己的自由軟體在網站上標示清楚,將可以省卻他人許多的時間與精神,所以鑄造場建議在網站上清楚宣告程式的授權方式。為了達到這樣的目的,您可以將前述的簡短說明文字置於網頁上,不過很多開發者還會另行撰寫網頁說明文字,您當然也可以這樣做,只要讓網站造訪者清楚知道您的程式是自由軟體,還有相關的授權資訊,這樣標示的目的就達到了。

這樣的網站可以是專門為您程式所架設的網站,也可以是知名的自由軟體專案開發網站,例如 SourceForgeSavanahApache,或者是操作介面完全中文化的 OpenFoundry,就看您想要將程式放在哪裡而定。如果您程式的知名度與取用率尚未打響,鑄造場建議就將程式放在 SourceForgeSavanahOpenFoundry 等開發網站上,因為在這些網站上註冊的開發專案都是自由軟體,將您程式置於這些網站上,可以降低使用者的辨識困難,使用者可以清楚知道:您的這個程式是自由軟體,並且採用哪一份自由軟體授權條款來授權。

 

(四)實例:GIMP

下面以 GPL2(或其後版本)授權的 GIMP 2.4.0(以下稱 GIMP)為例,說明其他自由軟體開發者如何為自己的程式標示。GIMP 是個類似 Photoshop 的影像處理軟體,授權宣告方式算是相當完備,所以在此做為說明例子,不過並非每一個程式都一定要依照這樣詳細的方式來說明,如前面提到過的,若是採用 BSD 授權的話,只需要將條款全文附上即可。

您可以到這裡下載 GIMP 原始碼:ftp://ftp.gimp.org/pub/gimp/v2.4/



1. 說明文字

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.*/

 

這段文字是套用 GPL2 授權條款文末所附的範本而來的,分別陳述出最重要的四件事情:(1) 著作權人與相關聲明;(2) 採用 GPL2 或其後版本來授權;(3) GIMP 是不附有任何擔保與保證責任的;(4) 拿到程式之人應該也會收到 GPL2 的文字內容,若是沒收到的話,請寫信向著作權人自由軟體基金會索取。

這份說明文字在每一個 GIMP 的原始碼檔案最上端都可以看到。當程式執行時,使用者也可以看到這樣的說明:使用者點選 GIMP 工具列上「求助 (Help)」中的「關於 (about)」選項,進入後點選下方的「授權條款 (License)」,就可以看到上方的說明文字內容。

 

2. 額外說明

通常只需要上面的說明文字,就可以提供足夠重要的資訊給使用者,但是在原始碼檔案的第一層目錄中,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 開發者對於所謂「單純結合 (mereaggregation)」的看法,因為 GPL2 對於這樣的修改方式沒有描述,很多開發者疑惑,若單純將 GIMP 與其他程式碼結合成一個更大的新程式時,這個新程式是否也一定要採用 GPL2 來授權,因此 GIMP 社群在這個額外說明中明確指出,只要利用 GIMP 原始碼的方式符合這邊所描述的內容,因此產生的新程式將不會受到 GPL2 感染;此外,則是說明 GIMP 中有些函示庫並非採用 GPL2 授權,而是 LGPL2,提醒使用者注意並非所有程式碼都是 GPL2 授權。對應這邊有些函式庫是 LGPL2 授權的事實,在適當的目錄之下,會有 LGPL2 的全文文字內容。

這樣的額外說明並非完全必要,但是卻給那些利用 GIMP 開發其他程式的人一個較為清楚的標準,知道如何做可以讓自己的程式不必受到 GPL2 拘束,好選擇其他的條款來授權自己寫的程式。會有這樣的額外說明文件,通常都是因為過去曾經發生過相關的疑問或困擾,若您程式的專案有過類似的疑問或困擾,建議您仿效 GIMP 社群的作法,將自己對於這些疑問或困擾的態度與立場寫成文字,有助於使用者明確知曉您的預設立場,這是個避免未來發生紛爭的好方法。若您的程式並未有過這些困擾,您本身也沒有特別的立場或態度需要表明,這樣的額外說明便可以視情況省略。

此外,這樣的額外說明當然可以跟說明文字合一,寫在同一份文字檔。

 

3. 條款全文

最後,在原始檔的第一層目錄中有個 "COPYING" 的文字檔,裡面有 GPL2 全文內容,而在 libgimp 目錄中 "COPYING" 的文字檔則是 LGPL2 第二版的全文內容,你看到上面兩份說明文字,若想要進一步瞭解授權詳細內容的話,就可以打開這些檔案來閱讀。

 





分類: 開發者注意事項