谈谈主流开源技术证书

这里所谓的主流就是指github上面创建仓库时,提供的lic。当然也可以自行上传其他证书,也是可以生效的。

代价是开源的证书

GPL v3:对于具备这个证书的源码进行修改需要开源

AGPL v3:同上,修补了上面证书的SaaS部署漏洞(自行查阅)

非主流SSPL证书:关于该开源代码的提供服务的代码也需要开源,强化了AGPL,属于商业条例,所以不是主流开源证书

代价是引用的证书

MIT:通常是在软件的"关于"页面、文档或者一个LICENSE文件中,写明"本产品包含了XXX项目(遵循MIT许可证)"并附上其许可证原文

Apache 2.0:在MIT基础上额外要求 如果修改了文件,需要清晰地声明修改之处。

3-Clause BSD:在MIT基础上额外要求 不要宣传,比如"本软件是基于清华大学顶尖的开源程序制作的"

编译后的软件如何检测是否违反了开源条例

Strings:来自微软官方的Sysinternals套件。它可以提取二进制文件中的可读文本字符串。

Dependencies:一个现代化的开源工具,用来替代旧的Dependency Walker,可以查看一个.exe或.dll依赖哪些其他的.dll文件。

专利与开源 lic 的关系

带有专利条款的lic (如Apache 2.0, GPLv3,AGPL v3)

  • 你修改了代码 :当你向项目贡献你的修改时,许可证的专利授权条款 就被触发了。你已经自动地将与你修改相关的专利,免费授权给了社区里的每一个人。

  • 你再去申请专利:你可以去申请,甚至可能申请成功。

  • 你用专利告别人 :当你试图用这个专利去起诉社区里的任何一个使用者时,会发生两件事: a. 对方会拿出许可证 ,说:"根据Apache 2.0许可证,你已经给了我专利授权,所以你的起诉无效。" b. 许可证的"专利报复条款"会触发,你将立刻失去从这个项目获得的所有其他人的专利授权,让你自己也暴露在风险之下。

  • 结论:在这种情况下,许可证已经提前把你的"武器"给缴了。这就成为了一个所有人都可以免费使用的假专利。

具备专利条款BUG的lic

没有明确专利条款的旧许可证 (如MIT, BSD, GPLv2)

  • 这种情况就非常危险,也就是我们之前讨论的**"专利埋伏"**。

  • 你可以修改代码,贡献给社区,然后悄悄申请专利。等大家都在用的时候,你再跳出来起诉。

  • 结论:这在法律上是可行的,也是开源社区最大的噩梦之一。正因为如此,新项目现在普遍推荐使用Apache 2.0或GPLv3(or AGPL v3)。

法律的终极解决方案

法律后果的流程和严重性

开源社区(尤其是像自由软件基金会FSF和软件自由保护协会SFC这样的组织)处理违规通常遵循一个"合规优先,诉讼最后"的原则。

  1. 初始阶段:私下沟通与教育

    • 通常,版权所有者或其代表会先给违规公司发送一封友好的邮件或信函,指出他们发现的违规问题,并解释如何才能做到合规。

    • 目标:解决问题,而不是惩罚。很多公司(尤其是小公司)违规是出于无知,而非恶意。

    • 结果绝大多数(超过90%)的违规案件都在这个阶段得到解决。 公司会选择补救措施,比如:

      a. 完全合规 :按照GPL要求,公开其软件的完整源代码。

      b. 停止分发 :立即停止销售和分发该产品。

      c. 替换组件:从软件中移除GPL代码,用其他许可证兼容的或自研的代码替换,然后重新发布。

  2. 升级阶段:法律警告

    • 如果公司忽视初次沟通或拒绝合作,将会收到更正式的法律警告信,明确指出他们的行为构成版权侵犯,并设定一个最后期限来纠正。
  3. 最终阶段:法律诉讼(最后的手段)

    • 如果公司执意不遵守,版权所有者可以将其告上法庭。诉讼的法律依据不是"违反了GPL合同",而是"在没有有效许可的情况下,非法复制和分发了受版权保护的作品"。

法庭上的可能判决

  • 许可证自动终止 (Automatic License Termination) :这是GPL最厉害的一点。一旦你违反了GPL的任何条款,你使用该软件的许可证将自动、立即终止。 从那一刻起,你每一次分发该软件的行为,都是赤裸裸的版权侵犯。

  • 禁令 (Injunction) :法院可以发布禁令,强制该公司立即停止所有分发和销售行为。对于一个靠此软件盈利的公司来说,这是致命的打击。

  • 经济赔偿 (Monetary Damages):版权所有者可以要求经济赔偿,金额可能基于违规软件带来的利润,或者是法定赔偿金。

  • 强制合规:法院也可以判决公司必须履行GPL的义务,即公开其源代码。

本内容均来源于AI,作者对于前三节进行了总结,后两节几乎没有总结。以供中国的程序员novice参考!

相关推荐
zhengfei61110 小时前
人工智能驱动的暗网开源情报工具
人工智能·开源
说私域11 小时前
开源链动2+1模式商城小程序在深度分销数字化转型中的应用研究
人工智能·小程序·开源·流量运营·私域运营
万岳软件开发小城11 小时前
在线问诊系统源码实战:视频/图文问诊平台搭建步骤全解析
人工智能·开源·源码·在线问诊系统源码·问诊app开发·问诊软件开发·视频问诊小程序
没事儿写两篇11 小时前
Anaconda 的开源替代软件 Miniforge
开源·conda·miniconda·miniforge
冬奇Lab12 小时前
一天一个开源项目(第8篇):UI/UX Pro Max Skill - AI设计智能助手,让AI帮你构建专业UI/UX
ui·开源·ux
向哆哆12 小时前
高校四六级报名系统通知公告模块实战:基于 Flutter × OpenHarmony 跨端开发
flutter·开源·鸿蒙·openharmony·开源鸿蒙
飞乐鸟12 小时前
Github 16.8k Star!推荐一款开源的高性能分布式对象存储系统!
分布式·开源·github
lbb 小魔仙12 小时前
【Harmonyos】开源鸿蒙跨平台训练营DAY10: 获取特惠推荐数据
华为·开源·harmonyos
Yeats_Liao12 小时前
压力测试实战:基于Locust的高并发场景稳定性验证
人工智能·深度学习·机器学习·华为·开源·压力测试
说私域13 小时前
开源链动2+1模式商城小程序的营销技术与私域运营策略研究
人工智能·小程序·开源·流量运营·私域运营