作者HZYSoft (PCMan)
看板Soft_Job
标题Re: [请益] 使用LGPL但打算公开原始码
时间Fri Dec 17 01:54:09 2021
之前讲了一大串,觉得好像会有点混淆,最後给个简单结论
假设你的程式使用了别人的 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://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1639677253.A.2B3.html
※ 编辑: HZYSoft (59.115.97.45 台湾), 12/17/2021 01:54:51
1F:推 wulouise: 清楚明了 12/17 08:33
2F:推 ooooooo: 好文! 12/17 09:00
3F:推 s678131: 好文 12/17 09:12
4F:推 humanfly: 想请问一下若用了别人的mit,应该要附license?一般会 12/17 11:42
5F:→ humanfly: 怎附呢?还是free style有附就好 12/17 11:42
6F:→ HZYSoft: 如果是程式码,每个档案开头会标示该档案的 license 12/17 13:07
7F:→ HZYSoft: 所以开头都会有一段注解是 MIT 的 copyright notice. 12/17 13:07
8F:→ HZYSoft: GPL/LGPL 也都是要求要标示的,程式码每个档案都要标 12/17 13:08
9F:→ HZYSoft: 基本上拿别人的 code 来用 copyright notice 都要有 12/17 13:09
10F:→ JohnRoyer: 不晓得有没有人有留自由软体铸造场的开放原始码 12/17 13:34
11F:推 Aragorn: 赞 12/17 13:34
12F:→ JohnRoyer: 授权介绍文章 12/17 13:35
13F:推 viper9709: 推整理~超专业 12/17 15:46
14F:→ ssccg: 还有一大类型是Apache License,只是用的话跟MIT差不多 12/17 17:47
15F:→ ssccg: 但是去改就有差别 12/17 17:50
16F:推 swich45314: 请问这也适用於类似Arduino的韧体程式码吗 如果不知 12/17 20:53
17F:→ swich45314: 道是那种授权 要怎麽做比较好? 12/17 20:53
18F:→ HZYSoft: 是否适用,主要要看你使用的 library 本身授权如何规定 12/17 22:48
19F:→ HZYSoft: 不确定是哪种授权,打开程式码通常档头注解会写 12/17 22:49
20F:→ HZYSoft: 否则程式码目录内也会有些 LICENSE/COPYING/README 档案 12/17 22:49
21F:→ HZYSoft: 里面通常找得到相关资讯,建议还是要弄清楚比较好 12/17 22:49
22F:→ HZYSoft: 如果不确定授权,引用了别人的 library,结果授权不相容 12/17 22:50
23F:→ HZYSoft: 日後会满麻烦的。而且如果是商业产品会有法律问题 12/17 22:50
24F:→ HZYSoft: 如果文件都没写,建议直接问提供你 library 的作者 12/17 22:51
25F:推 mp19990920: 顶一个 12/19 10:58
26F:推 bztfir: 好文推推 12/19 22:52
27F:→ jobintan: As far as I know the BSD license is very similar to 12/20 10:58
28F:→ jobintan: MIT license, you can try to get alternatives under 12/20 11:00
29F:→ jobintan: both of BSD and MIT license. 12/20 11:00