V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
drymonfidelia
V2EX  ›  开源软件

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

  •  
  •   drymonfidelia · 64 天前 · 1518 次点击
    这是一个创建于 64 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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 ,我可以更改包含此贡献者代码的项目的许可证吗?
    4 条回复    2024-10-22 11:06:20 +08:00
    imdong
        1
    imdong  
       64 天前 via iPhone
    个人拙见。
    1 、可以去掉
    2 、有就行
    3 、允许再发行、允许商用,自己选择合适的开源协议
    4 、前者允许闭源,后者不清楚,选择合适的协议应该没问题
    msg7086
        2
    msg7086  
       64 天前   ❤️ 1
    1 可以
    2 无所谓,加上也行
    3 开源的本质就是允许用户自由地修改和使用软件,如果你不希望用户有这个自由,就不要开源。
    你可以选择公开源代码(公开源代码 != 开源),也可以选择只开放 SDK 让人可以对接,但程序主体保持闭源。本质上你在做的就是一款闭源产品,和开源没关系。
    4 MIT 本身就允许衍生作品闭源,你自己 fork 自己就完事了。只有在扩大授权的时候才需要 CLA 。缩小授权不需要。
    Leon6868
        3
    Leon6868  
       64 天前
    这就是为什么不要用 MIT 许可证。楼主至少还尊重许可证呢,要是换做别人根本就不 care 这个问题。
    nyxsonsleep
        4
    nyxsonsleep  
       64 天前
    这就是为什么根本不必选择许可证,这样我想怎么搞就怎么搞。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5344 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 07:52 · PVG 15:52 · LAX 23:52 · JFK 02:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.