Login  |  繁體中文
感謝您對「自由軟體鑄造場」的支持與愛護,十多年來「自由軟體鑄造場」受中央研究院支持,並在資訊科學研究所以及資訊科技創新研究中心執行,現已完成階段性的任務。 原網站預計持續維運至 2021年底,網站內容基本上不會再更動。本網站由 Denny Huang 備份封存。
也紀念我們永遠的朋友 李士傑先生(Shih-Chieh Ilya Li)。
討論區
關於 GPL v2 的開發與商業使用 (1 viewing) (1) Guest
Go to bottom Favoured: 1
TOPIC: 關於 GPL v2 的開發與商業使用
#635
關於 GPL v2 的開發與商業使用 2011/01/15 07:35  (8 Years, 10 Months ago) Karma: 0  
這款名為 BackPress 的 PHP Library 是使用 WordPress 的 Core 修改調整。
而其採用的是 GPL v2 授權。

現在我有 Project 會需要使用 BackPress 當作 Core 部份開發。
(用 PHP Include BackPress 檔案製作。)

不過這個 Project 完成後的用途和界定我有點沒辦法區分。

1. 成品中有一運用BackPress提供的Library製作的Multiple Site 的 Core, 但不發布。
2. 除了 Multiple Site 的 Core 不包在檔案內之外,其餘都以 GPL v2 的方式 Open Source 發布。
3. Multiple Site 的技術將運用在一個網站上,並且進行商業利用(VIP會員資格等)

那麼,在 Multiple Site 技術的使用上,是否違反 GPL 授權?

GPL 授權的限制是在「修改到原始檔案」還是在「有使用該檔案」的狀況下受限?
Ex. 修改 BackPress 後使用 (修改到原始檔案)
Ex. 引用 BackPress Library 開發後 (使用到該檔案)
則以上哪種情況會受限?
elct9620 (User)
Fresh Boarder
Posts: 3
graphgraph
User Offline Click here to see the profile of this user
Logged Logged  
 
The administrator has disabled public write access.  
#636
Re:關於 GPL v2 的開發與商業使用 2011/01/17 22:47  (8 Years, 10 Months ago) Karma: 1  
Hi elct9620,

我想先確認一下下面三個詞語,我的理解與您的意思是否一樣:

1. 發布:簡單地說,就是將程式碼採用自由軟體授權條款來散布,並且提供原始碼給他人,是嗎?
2. 受限:是指自己所撰寫的程式碼也必須採用GPL2來授權,是嗎?
3. 商業利用:是指收取程式授權金,並且不提供原始碼的一種利用方式,是嗎?

我先假設,以上三個詞語,我所描述的理解是跟您的意思一樣。那麼,我的初步判斷,您如此利用Multipule Site,是合於GPL2規定的。

依照GPL2嚴格的文義規定,只要一個程式包含了GPL2程式碼,這個程式就必須也採用GPL2來授權。而無論是修改原來GPL2檔案,或者是你在沒有修改的狀況下,將一個GPL2元件、模組、函式庫或者某些特定檔案直接拿到自己的程式中來使用時,由於這些行為都造成你的程式中包含有GPL2程式碼,因此你的程式也必須採用GPL2來授權。這時候你的程式就已經受限於GPL2授權條款了。

因此,您採用GPL2授權的BackPress函式庫,所製作出來的Multiple Site功能的程式碼,原則上也必須採用GPL2來作為授權條款。

雖然您的程式採用GPL2授權,不過只要您沒有散布這個程式,那麼GPL2條款的內容,就不會發揮效果。因為GPL2是一份「授權」條款,也就是規定他人拿到這個程式後、利用的時候有哪些權利與義務的條款,因此若是甲拿到Multiple Site這部份的程式的話,甲就可以實行GPL2所付與給的權利,其中包括了修改Multiple Site的權利,而為了可以修改Multiple Site功能,甲必須要取得原始碼,因此甲有權利向您索取Multiple Site部份的原始碼。不過若您並沒有散布Multiple Site這部份程式的話,那麼就沒有任何人可以依據GPL2有修改Multiple Site的權利,也因此沒有任何人有權利向您索取這部份原始碼。不過您是準備將Multiple Site的運用在網站上,若是我的理解沒有錯誤,這些未來Multiple Site的使用者(也就是您的客戶)透過網路只可以「利用Multiple Site的服務」,卻不會「取得Multiple Site的程式碼」,Multiple Site部份的程式碼還是在您的機器上面安裝與運作,並不是在客戶端的機器上,因此客戶:

沒有取得Multiple Site -> 沒有修改Multiple Site的權利 -> 沒有向您索取原始碼的權利

在這樣的推論之下,您是可以不需要向客戶提供Multiple Site這部份的原始碼,同時又向客戶收取服務費用,也仍然是合於GPL2的規定。

至於Multiple Site以外的程式採用GPL2來散布與提供原始碼,當然是可以的,不過就是請確認其中所包含的程式碼授權條款均是相容於GPL2的即可,若是有利用到CPL或GPL3等條款授權的程式碼,由於這些提款不相容於GPL2,因此就還必須要處理授權衝突的問題。

若是我對於一開頭三個詞語的理解,與您的意思不同,這有可能導致我上述的推論錯誤,因此還請說明一下,然後我會再調整推論與說明內容。

葛冬梅 Florence Ko
20110117 1447
tmk2005 (Admin)
Moderator
Posts: 38
graphgraph
User Offline Click here to see the profile of this user
Logged Logged  
 
The administrator has disabled public write access.  
#637
Re:關於 GPL v2 的開發與商業使用 2011/01/18 00:38  (8 Years, 10 Months ago) Karma: 0  
雖然商業利用和我的意思不同,不過解釋上就相同了……
(我的商業利用只是單純的利用Multiple Site去進行提供服務。)

在經過幾天的詢問之後,這邊有另一個選擇就是採用 Framework 開發。
我選用的是 Codeigniter 這款 Framework 來開發。

不過卻一直對 Codeigniter 的授權保有疑問(在我蒐集到的資料中,其條款似乎是自己撰寫的。)
這是 Codeigniter 的授權協議:
https://codeigniter.com/user_guide/license.html

利用範圍仍能像我原本期望的那種方式嗎?
Single Site - 開源
Multiple Site - 閉源(自行架設使用)

而其中套用 jQuery 時又會如何呢?
(我蒐集到的資料中 jQuery 為雙授權,雖然 Codeigniter 2.0 會加入 jQuery 支援)
不過在這之前的版本,使用 jQuery 時又會發生什麼?
elct9620 (User)
Fresh Boarder
Posts: 3
graphgraph
User Offline Click here to see the profile of this user
Logged Logged  
 
The administrator has disabled public write access.  
#651
Re:關於 GPL v2 的開發與商業使用 2011/01/22 04:34  (8 Years, 10 Months ago) Karma: 1  
CodeIgniter與jQuery都採用非常寬鬆的授權內容,因此若是改用這兩個自由軟體來開發的話,您可以安心地依照預定的構想來運用所開發出來的網頁程式。

【CodeIgniter】

所採用的授權條款是從BSD這類的條款修改而來的[1],所以俱備有BSD類條款的特性,而BSD類條款最主要的特性是:使用者只要遵守很少的義務,就可以自由運用程式碼,甚至不提供原始碼給他人也是可以的。而這些少量義務有:

(1) 由於這類條款注重「顯名」,因此請務必保留程式中的著作權標示,若是以目的碼形式來散布程式的話,就必須重建著作權標示的文字內容,讓他人可以看到著作權標示;
(2) 基於同樣的理由,產品的文件與各項相關說明資料中,必須要標明其中包含有CodeIgnitur這個程式;
(3) 隨著產品的散布,必須要附上CodeIgnitur的授權條款全文;
(4) 您所開發出來的產品名稱,不可以採用"CodeIgnitur"或可能引起混淆的名稱為名;
(5) 若是您要散布自己修改過的CodeIgnitur原始碼,除了上述的標示義務之外,還必須在每個修改過的原始碼檔案中標示:(a) 這個檔案經過什麼樣的修改,以及 (2) 修改者的名字。這項規定的目的在於,拿到這些原始碼的其他開發者,可以據此研究您團隊所做的修改,而在有問題的時候,可以知道向誰詢問 。

[1] codeigniter.com/user_guide/license.html

【jQuery】

jQuery採用GPL2與MIT雙重授權[2],也就是說,身為使用者的您,可以自行決定jQuery是用GPL2授權,還是用MIT來授權。依照您的產品的規劃,採用MIT應該比較適合,因為MIT也是屬於BSD類的授權條款,您據此所開發出來的網頁程式,即使不提供原始碼出來也是沒有問題的。

另外您的決定並不需要告知jQuery的著作權人或開發團隊,您只要自行遵守MIT的義務規定即可。而這些義務規定,跟上述CodeIgnitur授權條款義務的前3點一樣。

[2] jquery.org/license

【jQuery的授權條款可以相容於CodeIgnitur的條款】

仔細比較起來,jQuery的MIT條款比CodeIgnitur的授權條款寬鬆,因此jQuery可以被納入到CodeIgnitur當中。不過即使尚未納入jQuery的CodeIgnitur版本,如前所述,您一樣可以安心利用。


葛冬梅 Florence Ko
20110121 2034
tmk2005 (Admin)
Moderator
Posts: 38
graphgraph
User Offline Click here to see the profile of this user
Logged Logged  
 
The administrator has disabled public write access.  
#652
Re:關於 GPL v2 的開發與商業使用 2011/01/22 05:39  (8 Years, 10 Months ago) Karma: 0  
感謝大大解答。

簡單說在我 Open Source 時,標注上 Core by Codeigniter 之類的字樣即可。
其他的限制就沒有了?
(在我沒有改動原始碼的情況下)
elct9620 (User)
Fresh Boarder
Posts: 3
graphgraph
User Offline Click here to see the profile of this user
Logged Logged  
 
The administrator has disabled public write access.  
#653
Re:關於 GPL v2 的開發與商業使用 2011/01/26 18:11  (8 Years, 10 Months ago) Karma: 1  
Hihi elct9620,

除了標注您有使用到CodeIgnitur之外,還必須附上CodeIgnitur的授權條款全文,就是在下面這個連結頁面中的條款全文,並且告訴使用者可以如何看到授權條款全文:

https://codeigniter.com/user_guide/license.html

您的產品是網站程式,因此您讓使用者看到條款全文的方式可以有兩種:

(1) 讓使用者連到上述的頁面瀏覽授權全文,不過這個方式有個缺點,若是未來CodeIngitur在改版時更改授權內容的話,使用者連過去所看到的授權內容,將與您所利用版本的授權內容不同;

(2) 因此比較好的方式會是,將上述頁面授權條款全文內容抓下來,然後放在您自己另外建立的網頁中,並將使用者導到這個頁面來瀏覽授權內容,如此即使CodeIgnitur未來改版更改授權,您網頁上面的授權內容仍然是正確的、跟隨著您所利用的CodeIgnitur版本。

以上的標示與附上條款全文義務,是BSD類條款相當重要的義務,請務必遵守,因為這類條款的一大目的是廣為散布程式與廣布聲名,透過著作權聲明的標示與維持,使用者可以了解程式本身的名稱與著作權人(或者是開發者)是誰,而讓其他使用者閱讀到條款全文,可以讓這些其他使用者了解到自己也能夠大範圍的利用這個程式,再次刺激其他使用者利用與散布這個程式,這樣可以讓程式的散布儘可能達到最大的範圍,也助於廣布聲名。

希望以上的說明夠清楚,可以讓您正確、安心的來利用CodeIgnitur囉!

葛冬梅 Florece Ko
20110126 1012
tmk2005 (Admin)
Moderator
Posts: 38
graphgraph
User Offline Click here to see the profile of this user
Logged Logged  
 
The administrator has disabled public write access.  
Go to top