GPL的传染性不是体现在源代码包, 而是体现在二进制代码包
讨论: Bepf对 内核GPL的传染性的影响
姜宁
TODO 添加讲师相关的内容
FreeSoftware
OpenSourceSoftware
FOSS,FLOSS 自由软件与开源软件
公共领域
著佐权 CopyLeft
宽松型许可证
私有/商业/闭源
自由地分发
提供源代码
允许衍生工作
保证作者代码的完整性
不针对个人和团体进行歧视
不针对应用领域进行歧视
许可协议附属权利的分发
许可证不能针对某个产品
许可协议不能限制其他软件
许可协议必须是技术中立的
Give me credit: MIT, BSD,AL
Give me fix: MPL, EPL
Give me everything: GPL, LGPL
与私有许可证的兼容性
与其他类型的开源许可证的兼容性
权力予以认可
商标保护
专利回弹
源代码包开源许可
最常见的开源许可证
通过Binding形式来生成开源许可证
开源代码编译成二进制包许可证
需要考虑打包的软件发组合方式,静态或者动态链接
对于Java,Python,JavaScript 的打包方式有不同的理解
GPL的软件在二进制发布的特殊要求
GPL的传染性不是体现在源代码包, 而是体现在二进制代码包
讨论: Bepf对 内核GPL的传染性的影响
绝大部分开源软件许可证义务是在分发阶段触发
AL 分发包含软件声明
MPL/EPL 要求如果修改了软件代码,需要提供修改后的代码
GPL 要求提供分发二进制文件相关的源代码
GNU许可证常见问题列举了很多场景
核心是用户程序是否与GPL软件在同一进程运行并一同发布
软件可执行代码受GPL的影响
可执行程序装配会涉及多种场景
提供了一个例外情况避免 Java 字节码,Python,JavaScript代码受到GPL的影响
比GPL宽松,主要适用于 GlibC库
当用户采用静态链接库的方式使用LGPL软件,用户代码不用开源
如果修改了LGPL软件的代码,修改部分需要开源
当LGPL软件调用用户代码时,用户代码不需要开源
使用AGPL的远程服务代码虽然没有分发但是需要开源
AGPL 并没有解决云服务厂商服务开源的问题
罗盒案例,涉及GPL侵权诉讼主体,相关知识产权保护
GPL 成为抗诉的关键
贡献者协议CLA
原创声明
贡献者授予版权许可
有个人和公司两个版本
开发者原创声明 DCO
原创声明
依赖项目的原生开源许可证
一些公司提供了带有私有再许可方案的开源代码
开源版本按照开源条款获得, 而私有版本需要付费获得
通常是GPL或者AGPL
下游用户需要获得例外的许可协议
允许不执行著佐许可证的再分发的承诺
私有版本再许可(Open Core情况)
自由软件的代码可以自由使用,但是商标不行
Mozilla 的 Firefox
Debian打包不能使用Firefoxshangb
Iceweasel
软件专利在自由软件中富有争议
专利是针对实施某个特定想法的全面禁令
防御性专利收集,纯粹出于辩护目的收集专利
专利流氓
OIN 开放创新网络联盟