- CBYellowstone2026-07-2024393
众所周知,我们日常使用的很多软件、项目,都是基于一定的“开源协议”进行开源的。
这使得广大社区开发者可以共享项目的发展成果,同时也能让项目获得更多人的参与和贡献。
常见的开源协议有 MIT、GPLv2、GPLv3、LGPL、AGPLv3 等。
这些协议都规定了源码使用者被授予的权利,以及使用、修改、分发源码时需要履行的义务。
例如 MIT 协议相对宽松,通常只要求保留版权和许可证声明;而 GPL、AGPL 等协议则会要求修改或分发后的项目继续开源,其中 AGPLv3 还涉及通过网络提供服务时的源码开放义务。
然而,违反开源许可证的情况并不少见,一个著名的例子就是 FFmpeg 耻辱柱:
FFmpeg 被大量音视频软件使用,但过去有不少软件在使用 FFmpeg 后,没有按照 LGPL 或 GPL 的要求提供源码、保留许可证声明,或者公开说明使用了 FFmpeg。
因维权法律成本高昂,FFmpeg 项目只能通过设立一个 Hall of Shame 页面,公开列出被认为违反许可证的软件,以此来声讨。
其中出现过一些比较耳熟能详的软件,例如暴风影音、格式工厂、QQ 影音、PotPlayer、KMPlayer、GOM Player 等。另外对不熟悉开源协议的佬友们再补充一下:
Fork 一个项目后仅供自己使用,没有向他人分发,也没有通过网络向外提供修改后的服务的话,一般不会触发 GPL、AGPL 等许可证的源码公开义务。
大家Fork自己自用(真自己用)修改闭源一般是不违反的。
我想知道各位佬友怎么看待这种事情。
你们认为,违反开源许可证是否应该区分“善意违反”和“恶意违反”?
比如:
- 刚入门的小白因为不了解开源许可证而违规,和熟悉开源规则的老手仍然违规,是否应该区别看待?
- 同样是违反许可证,个人开发者、小团队
和商业公司、大型企业,是否应该采用不同的评价标准?
- 个人项目或非商业项目的违规 和 以商业获利为目的的违规 是否应该区别对待?
- 被指出问题后立即整改,和明知违规却拒绝整改,是否可以作为区分“善意违反”和“恶意违反”的标准?
- 在你看来,什么样的情况属于善意违反,什么样的情况又属于恶意违反?
希望各位佬友能谈谈自己的看法。
多选观点投票:
第三项是 小白不了解,不小心删了个字,不好意思
- 无论出于什么原因,违反开源许可都应该受到批评
- 违反开源许可要区分善意和恶意,也可能存在特殊情况
- 小白了解许可证而违规,可以适当宽容
- 老手或商业主体明知许可证要求仍然违规,性质更加严重
- 是否及时整改,比最初是否违规更重要
- 开源协议就是君子协议,违反了也很难维权,防不住小人
- 社区应对违反开源协议的行为大力批评,以正视听
- 应先私下提醒,拒不整改后再公开批评
- 我有不同看法(欢迎在下面一起讨论)
0
投票人主楼 - CBYellowstone2026-07-2024393
佬友们别光顾着投票呀,也说一下你们的看法 ^-^
- ВГТРК2026-07-2029679
用什么开源协议就应该遵守什么开源协议
- CBYellowstone2026-07-2024393
佬平时喜欢用什么协议?我个人的话喜欢用AGPLv3
- ВГТРК2026-07-2029679
常用的嘛就是MIT和BSD,感觉自己的代码质量不太配得上GPL)
- CBYellowstone2026-07-2024393
虽然我的代码质量也是依托 ^-^
但是我是觉得用AGPLv3能够更好地服务开源社区,防止被偷去闭源
我很喜欢GPL系列强传染性,尽管有人觉得这会让自己的代码失去被部分不接受APGL的商业公司使用的机会
- SpookerV52026-07-2029366
在大模型横行的当下,开源协议越来越像君子协议了
- Hifumi_Mizuhara2026-07-204790
- CBYellowstone2026-07-2024393
确实,我之前就见过有一个国外公司提供一键“Clean Room”服务,提交GPL协议依赖或者包的名称给他们,由该公司用LLM实现一个完全兼容的、没有“使用源代码”的包,这样就能中断传染性。
不好评价这类争议性内容。
但是最近我发现有些项目被大范围违反开源协议使用,却鲜有佬友对此感到疑惑,所以才发这贴想问问大家的看法。
- 哈雷彗星2026-07-204777
- CBYellowstone2026-07-2024393
- Hifumi_Mizuhara2026-07-204790
我记得好像是有的,我只选取了被维基百科收录的部分,以免有人说我是瞎编的,因为第一次看到这个协议的时候我也以为是谁瞎编的 ^-^
- CBYellowstone2026-07-2024393
- 哈雷彗星2026-07-204777
- 重度粉毛厨2026-07-2011469
如果是开发一些相对底层或者基础的工具,我更倾向于宽松开源,因为对于新手而言,宽松协议的上手门槛和合规压力显著低于GPL。
不过,宽松协议也好,Copyleft也罢,本身并没有绝对的优劣之分,它更多地取决于创建者的喜好,是实现战略目标的工具,而不是评价道德优劣的标尺。
违反开源协议,无论是有意的还是无意的,在开源社区中几乎总是不可避免。与其讨论“违反开源协议”这件事本身的善意与恶意,不如看一看侵权者被告知侵权以后采取了怎样的方式修正和弥补。



