Hi Elic Lee,
這問題已經有一陣子,不知道是否已經解決了?下面是我的看法,若您有什麼不同意見或針對我的看法有疑問,歡迎回應!
7-Zip 是採用 LGPL-2.1+ 授權(註),因此當另外一個獨立的程式單純直接呼叫 7za.exe 來進行檔案壓縮與還原時,這個呼叫程式並不會受到 LGPL-2.1 所拘束,即使呼叫程式是商業軟體也是一樣的。針對這種利用狀況,您可以在 7-Zip 官網上的 FAQ 看到清楚的說明,以下節錄中文官網 FAQ 的內容:
問:我可否在商業應用程式中使用 7-Zip 的 EXE 或 DLL 檔案?
答:可以,但您必須在程式文件中註明 (1) 您使用了 7-Zip 程式的部件,(2) 7-Zip 採用 GNU LGPL 許可證,及 (3) 您必須鏈接到 www.7-zip.org,亦即可找到原始碼的地方。
URL:www.developershome.com/7-zip/faq.asp#developer_faq
不過如同這題 FAQ 所說明的,您有三項標示義務必須做到,若您沒有標示這三項資訊的話,那就是違反了的授權義務。而針對第2項的授權資訊,我建議也將「第二版及其後版本 (2.1 or any later version)」的授權版本資訊標示出來,可以讓客戶更清楚了解軟體中的 7-Zip 是採用哪一個版本的 LGPL。
不過,這題 FAQ 有個很特殊的地方我必須額外再說明:依照 LGPL-2.1 原本的規定,使用者在散布 7-Zip 時必須附上 LGPL-2.1 全文,並且提供程式源碼,不過 7-Zip 社群卻在 FAQ 中明示地將這兩項義務放寬了,讓使用者只需要單純地標示資訊就可以了,這是非常有趣的狀況!所以這同時也代表著,您可以選擇依照 LGPL-2.1 原本的規定,將 LGPL-2.1 全文以及 7-Zip 的程式源碼都提供給商業軟體的客戶,這樣的優點在於,您的客戶可以在離線的狀況下就直接閱讀到 LGPL-2.1 內容,並且得到完整的程式源碼,而不需要另外上網去尋找。而若是您最後選擇依照 FAQ 的內容單純標示資訊的話,建議您將這題 FAQ 的中、英文內容都print screen(最好連同網址、整個瀏覽器框都一起完整截圖)、存檔起來,以備未來有需要時可作為佐證之用。
而在問題 (2) 的狀況,若是由您幫使用者下載與安裝 7-Zip 到客戶電腦中的話,這樣的行為實質上也如同是由您將 7-Zip 散布給客戶,因此也請您遵守上面所說明的義務,或者至少請將相關的資訊交付給客戶,讓客戶可以根據資訊自行尋找到 7-Zip 的授權內容,與下載到所使用版本的程式源碼。但若 7-Zip 完全是由客戶端的技術人員自行上網去下載與安裝的話,這時候所有的過程都是客戶端人員自行完成,您並沒有散布 7-Zip 的行為,也因此不需要負擔 LGPL-2.1 的義務。
希望以上我的看法仍然可以對您有所幫助。
註:LGPL-2.1+ 表示 7-Zip 採用「LGPL 第 2.1 及其後版本」來授權。當您下載 7-Zip 執行檔的整包壓縮檔案時,可以在其中的 README 或 LICENSE 純文字檔中看到下列的英文:"... you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. ..." 這段就是在說明 7-Zip 採用 LGPL 的第 2.1 及其後版本來授權。