我想把 GitHub 上看到的一个好用的、MIT 授权的、只有 CLI 的软件包装成一个完整的商业软件订阅制销售,以下做法违反 MIT 协议吗?

63 天前
 drymonfidelia
  1. 这个项目每个文件开头都有一份 MIT 协议,因为我的程序并不是 MIT 协议授权,如果保留原许可证我还要再放一份我的许可证,源代码开头一屏都是协议很难看,我想把它们全删了,单独建个 Third-Party Notices 文件夹,把他的这份协议放在里面。( MIT 协议只说 The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 我只放一份也是 included )
  2. 如果 1 不违反 MIT 协议,我可以不在这个协议里写明具体哪些文件是从原项目复制的吗?(我看微软的 Third-Party Notice 、Angular 自动生成的 Third-Party Notice 也都没有写明具体哪些文件来自原项目。)
  3. 我想允许用户修改代码来添加自己想要的功能,插件的形式比较局限,所以我想把我的项目开源。但是我接受不了别人不花钱用我花很多时间做出来的东西,所以我要修改协议,在里面加入:(a) 使用本产品开源代码的衍生产品必须包含本产品的未经修改的授权模块,包括不可以修改授权验证的逻辑、用于验证许可证签名的公钥 (b) 使用本产品开源代码的衍生产品的用户必须有本产品的有效许可证才可以使用本产品开源代码的衍生产品
  4. 在 3 的条件下,如果我想未来对项目的许可证进行修订,或者把项目卖给其它公司(这种情况下其它公司很可能想要有把产品转为闭源的权利),我是否还有必要要求所有贡献者签署 CLA ?如果贡献者没有签署 CLA ,我可以更改包含此贡献者代码的项目的许可证吗?
1512 次点击
所在节点    开源软件
4 条回复
imdong
63 天前
个人拙见。
1 、可以去掉
2 、有就行
3 、允许再发行、允许商用,自己选择合适的开源协议
4 、前者允许闭源,后者不清楚,选择合适的协议应该没问题
msg7086
62 天前
1 可以
2 无所谓,加上也行
3 开源的本质就是允许用户自由地修改和使用软件,如果你不希望用户有这个自由,就不要开源。
你可以选择公开源代码(公开源代码 != 开源),也可以选择只开放 SDK 让人可以对接,但程序主体保持闭源。本质上你在做的就是一款闭源产品,和开源没关系。
4 MIT 本身就允许衍生作品闭源,你自己 fork 自己就完事了。只有在扩大授权的时候才需要 CLA 。缩小授权不需要。
Leon6868
62 天前
这就是为什么不要用 MIT 许可证。楼主至少还尊重许可证呢,要是换做别人根本就不 care 这个问题。
nyxsonsleep
62 天前
这就是为什么根本不必选择许可证,这样我想怎么搞就怎么搞。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1082340

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX