PTT推薦

Re: [請益] 使用LGPL但打算公開原始碼

看板Soft_Job標題Re: [請益] 使用LGPL但打算公開原始碼作者
HZYSoft
(PCMan)
時間推噓 9 推:9 噓:0 →:20

之前講了一大串,覺得好像會有點混淆,最後給個簡單結論
假設你的程式使用了別人的 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留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.115.97.45 (臺灣)
PTT 網址
※ 編輯: HZYSoft (59.115.97.45 臺灣), 12/17/2021 01:54:51

wulouise12/17 08:33清楚明瞭

ooooooo12/17 09:00好文!

s67813112/17 09:12好文

humanfly12/17 11:42想請問一下若用了別人的mit,應該要附license?一般會

humanfly12/17 11:42怎附呢?還是free style有附就好

HZYSoft12/17 13:07如果是程式碼,每個檔案開頭會標示該檔案的 license

HZYSoft12/17 13:07所以開頭都會有一段註解是 MIT 的 copyright notice.

HZYSoft12/17 13:08GPL/LGPL 也都是要求要標示的,程式碼每個檔案都要標

HZYSoft12/17 13:09基本上拿別人的 code 來用 copyright notice 都要有

JohnRoyer12/17 13:34不曉得有沒有人有留自由軟體鑄造場的開放原始碼

Aragorn12/17 13:34

JohnRoyer12/17 13:35授權介紹文章

viper970912/17 15:46推整理~超專業

ssccg12/17 17:47還有一大類型是Apache License,只是用的話跟MIT差不多

ssccg12/17 17:50但是去改就有差別

swich4531412/17 20:53請問這也適用於類似Arduino的韌體程式碼嗎 如果不知

swich4531412/17 20:53道是那種授權 要怎麼做比較好?

HZYSoft12/17 22:48是否適用,主要要看你使用的 library 本身授權如何規定

HZYSoft12/17 22:49不確定是哪種授權,打開程式碼通常檔頭註解會寫

HZYSoft12/17 22:49否則程式碼目錄內也會有些 LICENSE/COPYING/README 檔案

HZYSoft12/17 22:49裡面通常找得到相關資訊,建議還是要弄清楚比較好

HZYSoft12/17 22:50如果不確定授權,引用了別人的 library,結果授權不相容

HZYSoft12/17 22:50日後會滿麻煩的。而且如果是商業產品會有法律問題

HZYSoft12/17 22:51如果文件都沒寫,建議直接問提供你 library 的作者

mp1999092012/19 10:58頂一個

bztfir12/19 22:52好文推推

jobintan12/20 10:58As far as I know the BSD license is very similar to

jobintan12/20 11:00MIT license, you can try to get alternatives under

jobintan12/20 11:00both of BSD and MIT license.