[爆卦]gpl授權商用是什麼?優點缺點精華區懶人包

為什麼這篇gpl授權商用鄉民發文收入到精華區:因為在gpl授權商用這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者HZYSoft (PCMan)看板Soft_Job標題Re: [請益] 使用LGPL但打算公開原...


之前講了一大串,覺得好像會有點混淆,最後給個簡單結論
假設你的程式使用了別人的 library,這裡暫稱為 libA,有幾種情況

1. libA 是私有授權 (例如微軟 .NET)

一般來說,你的程式可以 open source,用任何你想要的 license
但是你能否提供 libA 的 dll 給使用者,則要看 libA 的授權合約是否允許再散佈
很多商用的版權軟體 dll 是不能複製散佈的,但像是 VC++ runtime redist 這種
微軟允許再散佈的套件就可以,否則使用者需要自行取得 libA dll

2. libA 是 LGPL 授權
a. 如果你動態連結 libA 的 dll,你的程式可以用任何授權,不受 libA 影響
甚至也可以不需要 open source

b. 如果你靜態連結 libA,你需要提供你程式的 object files 讓使用者如果修改
"libA" 之後,可以重新 link 你的程式產生新執行檔,但你的程式不一定
需要是 open source,也不一定要是 LGPL or GPL

c. 如果你修改了 libA 添加你要的功能,修改過的 "libA" 必須用 LGPL or GPL
釋出並且 open source,但你主程式剩餘部份如果是動態連結,則不受影響

詳細說明: https://www.gnu.org/licenses/gpl-faq.html#GPLStaticVsDynamic

3. libA 是 GPL 授權

不管你是靜態連結、動態連結 dll,還是複製他的部份或全部 code 過來用,
你的程式如果對外發布,一定只能用 GPL 授權且 open source,沒有其他選項
你的程式如果放在電腦裡自用,不對外發布,可以不用 open source
坊間有很多規避 GPL 的手段,但這些手段是不是有效都有爭議,至於是否真的合法
這需要各國法院認證,目前訴訟的判例並不多。

4. libA 是 MIT 授權

你的程式可以用任何授權,要不要 open source 都可,基本上沒什麼限制
複製一份 libA 到你自己的程式碼裡面,甚至修改他,也都是沒問題的

這樣應該會比較清楚了,希望幫助到想發 open source 程式的朋友
注意事項很多,但其實也沒這麼困難,歡迎大家來弄 open source.

--
Sent from PCMan on PCMan's PC

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.115.97.45 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1639677253.A.2B3.html
※ 編輯: HZYSoft (59.115.97.45 臺灣), 12/17/2021 01:54:51
wulouise: 清楚明瞭 12/17 08:33
ooooooo: 好文! 12/17 09:00
s678131: 好文 12/17 09:12
humanfly: 想請問一下若用了別人的mit,應該要附license?一般會 12/17 11:42
humanfly: 怎附呢?還是free style有附就好 12/17 11:42
HZYSoft: 如果是程式碼,每個檔案開頭會標示該檔案的 license 12/17 13:07
HZYSoft: 所以開頭都會有一段註解是 MIT 的 copyright notice. 12/17 13:07
HZYSoft: GPL/LGPL 也都是要求要標示的,程式碼每個檔案都要標 12/17 13:08
HZYSoft: 基本上拿別人的 code 來用 copyright notice 都要有 12/17 13:09
JohnRoyer: 不曉得有沒有人有留自由軟體鑄造場的開放原始碼 12/17 13:34
Aragorn: 讚 12/17 13:34
JohnRoyer: 授權介紹文章 12/17 13:35
viper9709: 推整理~超專業 12/17 15:46
ssccg: 還有一大類型是Apache License,只是用的話跟MIT差不多 12/17 17:47
ssccg: 但是去改就有差別 12/17 17:50
swich45314: 請問這也適用於類似Arduino的韌體程式碼嗎 如果不知 12/17 20:53
swich45314: 道是那種授權 要怎麼做比較好? 12/17 20:53
HZYSoft: 是否適用,主要要看你使用的 library 本身授權如何規定 12/17 22:48
HZYSoft: 不確定是哪種授權,打開程式碼通常檔頭註解會寫 12/17 22:49
HZYSoft: 否則程式碼目錄內也會有些 LICENSE/COPYING/README 檔案 12/17 22:49
HZYSoft: 裡面通常找得到相關資訊,建議還是要弄清楚比較好 12/17 22:49
HZYSoft: 如果不確定授權,引用了別人的 library,結果授權不相容 12/17 22:50
HZYSoft: 日後會滿麻煩的。而且如果是商業產品會有法律問題 12/17 22:50
HZYSoft: 如果文件都沒寫,建議直接問提供你 library 的作者 12/17 22:51
mp19990920: 頂一個 12/19 10:58
bztfir: 好文推推 12/19 22:52
jobintan: As far as I know the BSD license is very similar to 12/20 10:58
jobintan: MIT license, you can try to get alternatives under 12/20 11:00
jobintan: both of BSD and MIT license. 12/20 11:00

你可能也想看看

搜尋相關網站