登入  |  English
感謝您對「自由軟體鑄造場」的支持與愛護,十多年來「自由軟體鑄造場」受中央研究院支持,並在資訊科學研究所以及資訊科技創新研究中心執行,現已完成階段性的任務。 原網站預計持續維運至 2021年底,網站內容基本上不會再更動。本網站由 Denny Huang 備份封存。
也紀念我們永遠的朋友 李士傑先生(Shih-Chieh Ilya Li)。
討論區
商業程式使用 Apache License 2.0 函式庫疑問 (1 位瀏覽者) (1) Guest
Go to bottom Favoured: 1
TOPIC: 商業程式使用 Apache License 2.0 函式庫疑問
#824
商業程式使用 Apache License 2.0 函式庫疑問 2013/03/19 15:40  (6 Years, 8 Months ago) Karma: 0  
你好。
我是一名 Android 軟體開發者,最近接手一個專案,需要開發一套配合硬體出售的軟體,
而我在該軟體中是否可合法使用由 Apache License 2.0 授權的函式庫(Library)?
有何需要特別注意的地方呢?

另外,由於這套軟體是商業化的軟體,根據您先前的回覆中所提到的
2.可以不公開原始碼,改採商業授權。
(www.openfoundry.org/tw/forum?func=view&catid=8&id=295)

是否意味著,我需要重新對我開發的軟體發佈一份授權聲明?這部份我該如何處理?

另外您也提到
3.採商業授權後,其實你沒有義務須在產品中說明你採用Android上的哪些 Source Code,
但還是建議你可以在產品的說明手冊或以文字檔說明所使用的Source Code 以示尊重。

4.原來Android上檔案檔頭制式的著作權聲明你必須保留。至於你所寫的衍生程式也建議你就在
原制式的著作權聲明的下一行加上你的著作權聲明。譬如:This file is modified
by ΧΧΧ(姓名) on 2009.


但我所使用的是已經編譯過的函式庫,我並沒有其原始碼,那我還有必要做那些聲明的動作呢?

最後我的問題是,即然理論上我沒有公開原始碼的義務,原始碼上的著作權聲明保留與否是該如何認定?
當然,由於我使用的是函式序,而其實我並沒有其原始碼,這個部份單純是我個人的疑問而以。

感謝您的協助。
By Lak
Lak (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.  
#825
Re:商業程式使用 Apache License 2.0 函式庫疑問 2013/03/19 17:37  (6 Years, 8 Months ago) Karma: 10  
Hi Lak,

Apache License Version 2.0是較寬鬆(permissive)的自由開源軟體授權條款,也就是說,當你使用或是改作以其為授權的程式碼之後,只要依足它在授權條款預設的「義務性條件(condition)」,那就可以改用自己選用的其他方式來授權之後的衍生作品。

那麼,關於Apache-2.0,較詳盡的參考文件可參閱林懿萱小姐所撰寫的專文,化簡為繁的 Apache-2.0 授權條款:https://www.openfoundry.org/tw/legal-column-list/8581-the-elaborate-license-apache-20 ;以及右列我曾經向來自北京的朋友,回覆過的論壇討論串:https://www.openfoundry.org/tw/forum?func=view&catid=8&id=458

以下簡要回覆你提出來的各項問題。

1、使用Apache-2.0授權的函式庫(library)來開發軟體元件,有沒有什麼特別需要注意的地方?

有,後續散布這個軟體元件時,如果你打算繼續以Apache-2.0來散布這個函式庫,或這個函式庫的衍生作品,那以下幾個重要的義務性條件必須要去遵守(規定在Apache-2.0授權條款的第4條):

A、散布產品時說明該函式庫是依照Apache-2.0授權釋出,並一併提供一份Apache-2.0授權條款全文;

B、如果你對這個函式庫進行過更動或修改,必須要具體說明哪些檔案是被修改過的;

C、保留原來Apache-2.0函式庫的各項聲明,如果是以源碼格式提供函式庫,那可以將這個NOTICE.txt的純文字檔放在該函式庫檔案的根目錄下;如果是以非源碼格式提供此函式庫,那如果也可以透過該程式運作本來有的呈現介面來呈現這些聲明,例如,該程式操作介面上如果有ABOUT可以看,也許就可以把這些前手的聲明資訊寫進ABOUT裡面。

上面這些要求不論散布的是SOURCE FORM格式的library,或是BINARY FORM的library,都被Apache-2.0一併這樣要求;較多數的Apache-2.0元件使用者與改作者是採用這個方式,因為這樣可以直接指定該函式庫是以Apache-2.0授權,然後一併說明「其他互動元件」並非Apache-2.0授權,而是以其他另行規劃的授權方式運作。

2、但!如果我想依Apache-2.0第4條第4款的規定,以自訂的授權方式來提供衍生作品,這部份該如何處理?

這部份會複雜一點,Apache-2.0第4條第4款允許使用者以自訂的授權方式(You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.)來提供衍生作品,不過、所有本來Apache-2.0有的義務性要求一項都不能被刪去,也就是說、此時在產品散布時還是需要提供一份條款,但此條款已經不被稱為Apache License Version 2.0,而是另外的授權方式名稱,並且此份授權文件必須包含Apache-2.0所有的授權義務性要求(conditions),也就是說,必須要經過一個將授權文件全盤改寫的工,故一般來說較少使用者與改作者會採取這個方式。

如果要採用這個模式的話,依照Apache Software Foundation的說明(https://www.apache.org/licenses/GPL-compatibility.html),可以參考美國軟體自由法律中心(Software Freedom Law Center)右列這個轉換指南:https://www.softwarefreedom.org/resources/2007/gpl-non-gpl-collaboration.html,不過此處提供的,指的是將原Apache-2.0元件改作為以GPL-3.0授權的態樣。若是你主要是想將Apache-2.0授權函式庫,改以自訂的商業授權方式向外散布的話,一樣就是類同上述,有幾項重要原則要去遵守。

A、散布產品時說明該函式庫是依照新的商業授權方式釋出,簡要說明該商業授權方式調整自Apache-2.0,並一併提供一份基於Apache-2.0改作後之商業授權條款全文;

B、如果你對這個函式庫進行過更動或修改,必須要具體說明哪些檔案是被修改過的;

C、保留原來Apache-2.0函式庫的各項聲明,如果是以源碼格式提供函式庫,那可以將這個NOTICE.txt的純文字檔放在該函式庫檔案的根目錄下;如果是以非源碼格式提供此函式庫,那如果也可以透過該程式運作本來有的呈現介面來呈現這些聲明,例如,該程式操作介面上如果有ABOUT可以看,也許就可以把這些前手的聲明資訊寫進ABOUT裡面。

所以簡單來說,讓函式庫延用Apache-2.0或是改用商業授權,就是要多加一個「改寫授權條款內容」的工。

3、那麼基於這個例子,有沒有聲明方面的建議或是範本?

如果是採用第一個方式:讓Apache-2.0授權的函式庫保留Apache-2.0授權,自行加寫或是另行開發的部份採用商業授權的方式,那程式元件的著作權聲明部份,大要可以用下列的方式呈現:

2013 (c) BBB PROJECT, redistributed by MR. B under {TTT PROPRIETARY LICENSE}, Some files besides BBB PROJECT are cited from AAA LIBRARY developed by MR. A on SourceForge under Apache-2.0 (sourceforge.net/AAA/), and released together as separate part.

而如果是採用第二個方式:將Apache-2.0授權的函式庫改用改寫自Apache-2.0授權條款的 TTT PROPRIETARY LICENSE 來授權,則程式元件的著作權聲明,大要可以用下列的方式呈現:

2013 (c) BBB PROJECT, redistributed by MR. B under {TTT PROPRIETARY LICENSE}, Some files of BBB PROJECT are derived from AAA LIBRARY developed by MR. A on SourceForge under Apache-2.0 (sourceforge.net/AAA/).

大致是這樣的關係,希望這些資訊對你有所幫助,如後續有其他想法或疑問,歡迎接續討論。



20130319 17:35 LUCIEN C.H. LIN
lucien (Admin)
Moderator
Posts: 157
graph
User Offline Click here to see the profile of this user
Logged Logged  
 
The administrator has disabled public write access.  
#826
Re:商業程式使用 Apache License 2.0 函式庫疑問 2013/03/20 01:22  (6 Years, 8 Months ago) Karma: 0  
感謝您詳細的回覆,由於小弟對於授權中許多名詞還不是很能理解,所以請原諒我還是產生了以下的問題。

如上列我的問題,其實最主要的重點在於,我今天需要開發一套需要付費取得的商用軟體,而我在軟體內的某一項功能中,使用了採 Apache License 2.0 的 Library A。

我不會對其行進「修改」,我只會使用該函式庫建構程式中的某個功能。
而由於是商業軟體,我也不計劃開放原始碼。

所以,依據您的解釋,我還是需要在軟體的 About 中,宣告該軟體使用了採 Apache License 2.0 授權的 Library A。

但,除了必要授權的聲明之外,我擁有該軟體的發佈及販售的權利,並且我不需要公開我的原始碼。
請問我這部份的認知是正確的嗎?

另外,我怕我誤解了所謂的商業授權,也在此向您請教。
所以,假設我依據您的建議,在 About 中使用了以下的授權聲明:
2013 (c) BBB PROJECT, redistributed by MR. B under {TTT PROPRIETARY LICENSE}, Some files besides BBB PROJECT are cited from A LIBRARY developed by MR. A on SourceForge under Apache-2.0 (sourceforge.net/AAA/), and released together as separate part.

若我希望販售這個軟體,是不是代表著我「一定」需要如上文般,指定一個 TTT license 呢?
又或者我可以保留 Apache license 但選擇「不公開原始碼」及「販售」該程式呢?

感謝您耐心的解答。
Lak (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.  
#827
Re:商業程式使用 Apache License 2.0 函式庫疑問 2013/03/20 10:56  (6 Years, 8 Months ago) Karma: 10  
Hi Lak,

沒問題,如同我上一次回文說的,有疑點我們就繼續接續討論,這也是當初OSSF辦公室法政同仁成立這個論壇最主要的用意。

一、如果在軟體專案的ABOUT或是其他適宜的地方,宣告該專案採用了Apache-2.0授權函式庫,並顯示此函式庫前手已加註的各項聲明,則整個軟體專案是可以採用商業授權的模式來散布與販售,並且也不需要提供該軟體專案的程式源碼,這一點認知是無誤的!

這邊我直接給一個範例,那就是WIN7的著作權聲明!










請見附加圖檔01至04,顯示的就是Windows 7在安裝時,使用者點擊「安裝Windows之前要知道的事項」,之後就可以看到Windows 7各個程式的著作權聲明,附加圖檔03與04,顯示Windows 7內含MIT與BSD授權的程式,其將這些MIT、BSD程式的聲明與授權條款載明在顯示框裡,就算是完成了MIT與BSD授權條款責付的義務性要件(conditions);而Microsoft也並沒有直接提供這些MIT、BSD程式元件的程式源碼,此處就是依其條款的要求做一個公示的動作。

所以說,只要你可以在軟體專案的ABOUT或其他適宜的地方,宣告該專案確實採用了Apache-2.0授權的函式庫,並沒有修改、所以從簡也毋需標示更動了哪些函式庫的檔案,並顯示此函式庫前手所加註的各項聲明,這些動作已經充足了Apache-2.0要求的義務性要件;之後你整個軟體專案是可以採用自訂的授權方式來利用的,並且也沒有義務一定要提供該軟體專案的程式源碼。

採行這個作法的話,必要的義務性要求就是:

1、在著作權聲明處:

2013 (c) BBB PROJECT, developed by MR. B, ALL RIGHTS RESERVED.

The AAA LIBRARY is downloaded from sourceforge.net/AAA-Library under Apache-2.0, and implemented without modification in BBB PROJECT as a separate part, for its licensing rule and related notices, please find AAA-LIBRARY-infos.txt file in root directory of the Installation CD.

這個寫法指的是,如果該產品會有安裝光碟的話,你可以建立一個名為AAA-LIBRARY-infos.txt的檔案,放置在該產品安裝光碟的根目錄下,或者,如果該產品不會有安裝光碟或實體媒介(medium),你也可以將授權條款的內容顯示在程式的ABOUT表單或是其他互動介面上。

2013 (c) BBB PROJECT, developed by MR. B, ALL RIGHTS RESERVED.

The AAA LIBRARY is downloaded from sourceforge.net/AAA-Library under Apache-2.0, and implemented without modification in BBB PROJECT as a separate part, for its licensing rule and related notices, please see the ABOUT page showed from the software control panel.

2、提供該函式庫前手所有相關聲明,以及一份Apache-2.0授權條款全文。

如果你採用的是前面第一個方式,那就是將函式庫前手所有的相關聲明,以及Apache-2.0授權條款全文登錄到AAA-LIBRARY-infos.txt這個檔案裡面;如果你採用的是前面第二個方式,就是類同Microsoft在Windows 7的作法,將這些資訊嵌入到軟體ABOUT表單或是其他互動介面裡。

二、若是之後整個專案採商業授權的方式散布,一定要指定一個「TTT LICENSE」嗎?

不用耶,這個「TTT LICENSE」只是呈現在這裡,表示你與客戶之間就是一個全新的商業授權關係,你也可以類同前例直接標上「ALL RIGHTS RESERVED」,然後再與客戶個別磋商之後的商業條件如何進行,並沒有說一定要將一個商業版的「TTT LICENSE」明定在那裡。

其實,依你的狀況,最簡便的方式就是:1、讓原來Apache-2.0授權的函式庫保持以Apache-2.0來授權、其他的部份採用你自訂的商業授權,2、透過聲明明白指示哪一部份的程式是採Apache-2.0授權的,3、將Apache-2.0授權條款及其相關聲明羅列在一個檔案,或是整體軟體聲明的一個區塊裡,讓使用者能了解這些條款與聲明是適用到該Apache-2.0授權的函式庫,而不及於整個軟體專案。

這樣就可以了。之後整個軟體專案是可以採不提供源碼的方式販售,而不會有授權方面的爭議和衝突。

如果後續還有其他問題,歡迎你再隨時提出來討論。

敬祝 順心健康



20130320 10:55 LUCIEN C.H. LIN
lucien (Admin)
Moderator
Posts: 157
graph
User Offline Click here to see the profile of this user
Logged Logged  
 
Last Edit: 2013/03/20 11:04 By lucien.
 
The administrator has disabled public write access.  
#828
Re:商業程式使用 Apache License 2.0 函式庫疑問 2013/03/20 20:33  (6 Years, 8 Months ago) Karma: 0  
你好。
實在太感謝您詳盡的說明了。

在這裡就我對您提供的資訊,我用我理解的方試陳述一次,希望能再佔用一些您的時間。
===============
由於我提供的是 Android 軟體,並沒有光碟安裝檔,所以我可以在 About 頁面中,加入以下授權聲明
2013 (c) BBB PROJECT, developed by MR. B, ALL RIGHTS RESERVED.

The AAA LIBRARY is downloaded from AAA-Library under Apache-2.0, and implemented without modification in BBB PROJECT as a separate part, for its licensing rule and related notices, please see the ABOUT page showed from the software control panel.

並且提供一個 Button 用以開啟完整的 Apache-2.0 授權條款。
===============

以上是我對於目前狀況的理解,請問還有所誤解嗎?
再次感謝您完整且詳細的說明。
Lak (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.  
#829
Re:商業程式使用 Apache License 2.0 函式庫疑問 2013/03/21 17:30  (6 Years, 8 Months ago) Karma: 10  
Hi Lak,

你的理解無誤。

但如果該Apache-2.0函式庫並沒有公開的下載網址,而是內含在某一版本的Android開發工具組裡面的話,也可以將ABOUT裡面的聲明改為:

----

2013 (c) {BBB PROJECT}, developed by {MR. B}, ALL RIGHTS RESERVED.

The {AAA LIBRARY} is included without modification from {Android-SDK-version-x.y} under Apache-2.0, and interacted with {BBB PROJECT} as a separate part, for its licensing rule and related notices, please see the NOTICE PAGE showed {here}.


----

然後讓{here}的地方有連結或是啟動Button的功能,用以開啟完整的Apache-2.0授權條款,以及該函式庫前手所留的各項聲明內容(Notice),即可。

大致是這樣。



20130321 17:30 LUCIEN C.H. LIN
lucien (Admin)
Moderator
Posts: 157
graph
User Offline Click here to see the profile of this user
Logged Logged  
 
The administrator has disabled public write access.  
Go to top