计算化学公社

标题: 问个开源协议的问题 [打印本页]

作者
Author:
beefly    时间: 2017-12-27 13:47
标题: 问个开源协议的问题
鄙人是遵纪守法的,最近为一法律问题犯愁。我写了个开源程序M,采用开源协议MIT;又写了个开源程序G,用开源协议GPL。
某一天问题来了,我想把G的部分代码g加到M里去。这就产生问题:按照GPL协议的传染原则,M就要从MIT协议改成GPL协议,但是由于某些原因我不想这么干。而作为强迫症晚期患者,如果我看到自己违反版权协议,也一定会告自己的。

自己写的代码,自己却不能用,真着急呀!

作者
Author:
greatzdk    时间: 2017-12-27 15:28
g代码重写
作者
Author:
winterzen    时间: 2017-12-27 15:53
本帖最后由 winterzen 于 2017-12-28 18:09 编辑

把G程序的g代码功能写个API,编译成library。M使用g功能时调用G的library。这样应该不受协议限制。
这条方案作废,见楼下

作者
Author:
kyuu    时间: 2017-12-28 17:27
本帖最后由 kyuu 于 2017-12-28 17:31 编辑
winterzen 发表于 2017-12-27 15:53
把G程序的g代码功能写个API,编译成library。M使用g功能时调用G的library。这样应该不受协议限制。

不可,GPL要求一旦开源一切开源,在引入MIT之初就M已经彻底与GPL划清了界限。就是个框架设计问题,没有预见性。安好。具体需要自行查阅GPL相应版本中的exception项是否有提到可与MIT兼容,若感觉自行拿捏不稳,请向研究机构内的IP Office和legal service求助,相关人员会给予专业协助

作者
Author:
winterzen    时间: 2017-12-28 18:06
kyuu 发表于 2017-12-28 17:27
不可,GPL要求一旦开源一切开源,在引入MIT之初就M已经彻底与GPL划清了界限。就是个框架设计问题,没有预 ...

查了一下,你说的对。调用了GPL授权的library的代码也需要使用GPL许可。
作者
Author:
qwoop    时间: 2018-1-16 18:23
貌似只有重写了。。。另外,B大神开源项目在github吗?想去学习一下(顺便点星星~)
作者
Author:
beefly    时间: 2018-1-16 19:43
qwoop 发表于 2018-1-16 18:23
貌似只有重写了。。。另外,B大神开源项目在github吗?想去学习一下(顺便点星星~)

老巢
https://github.com/zorkzou
作者
Author:
ulosggs    时间: 2018-1-16 19:48
想太多。作者完全可以发布一份GPL的G和一份MIT的G。

作者
Author:
kyuu    时间: 2018-1-16 20:48
ulosggs 发表于 2018-1-16 19:48
想太多。作者完全可以发布一份GPL的G和一份MIT的G。

你敢把GPL加个MIT协议打包重新发布?你会被G(GPL)告的连裤衩都穿不起
作者
Author:
kyuu    时间: 2018-1-16 23:56
看了几个案例,但是问题还是很复杂
案例: jQuery开发团队移除了GNU General Public License (GPL)许可证,只保留了MIT许可证,但JQuery之前是双许可。官方的说法是,对于用户来说协议变更后没有任何区别,但如果用户是著作权律师除外!
案例:react.js从开源转为阿帕奇的许可争议
问题:虽然协议是由著作权所有者发放给使用者的,原作者也有权力更改许可类型,矛盾在于之前发放的协议从用户同意下载时刻生效,这些用户的权力是原作者没权力变更的(合作作者的情形更复杂,作者之一的变更协议权力仅限于其缩写的那些行)。但问题来了,原来的用户有权力继续修改发布代码,但现作者又要保留著作权,冲突就出现了。需要在新协议里加附加条款,停止老版本及协议发放,重写代码发布新版本并变更协议。各国的著作权保护法有差异,细节上又是另外一回事了。
作者
Author:
beefly    时间: 2018-1-17 07:50
开源协议太复杂了。这里有个现成的例子,广泛使用的lapack库是BSD license,但lapack也包含在很多使用其他开源协议的代码里
作者
Author:
Warm_Cloud    时间: 2018-1-17 11:17
我的不到两万行的一个程序,直接从头写了,去他娘的GPL,哈哈哈哈
作者
Author:
kyuu    时间: 2018-1-17 11:25
本帖最后由 kyuu 于 2018-1-17 11:34 编辑
beefly 发表于 2018-1-17 07:50
开源协议太复杂了。这里有个现成的例子,广泛使用的lapack库是BSD license,但lapack也包含在很多使用其他 ...


BSD跟MIT差不多,基本属于可以为所欲为的协议,用户用了代码以后愿意闭源开源随意,想从二叉树右侧跳到左侧就算给你八辈子轮回,那三生石上也不会有你的名字,GPL就是量化界的韩红,你不捐也得捐



作者
Author:
greatzdk    时间: 2018-1-18 19:26
kyuu 发表于 2018-1-17 11:25
BSD跟MIT差不多,基本属于可以为所欲为的协议,用户用了代码以后愿意闭源开源随意,想从二叉树右侧跳到 ...

这个见过




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3