【Linux移除与俄罗斯关联的内核驱动维护者】
b1lz
liudidi 好吧,比你我的解释有一点用。但也没有用到让他不在GPLv3里加上不可撤销的条款。用这个协议的人是不是知道存在这些个后加的、不知道改过几遍的解释都成问题。
你搞反了,需要证明的是不可撤销。著作权人没有放弃权利的话,凭什么不让他撤销。
这段话只说了你违反协议授权终止,没说不违反就不可以撤销对你的授权。最后一句是防止你的授权终止影响到下家。
liudidi
b1lz 那按你的理解就是这样,你可以撤销授权(在下家不违反协议的情况下),但是你撤销授权只会影响你的下家,而你的下家的下家却不受影响,你想想这合理吗?
b1lz
liudidi 他自己就是这样写的,我每个字都是复制过来的。
我又看了你贴的那个copyleft.org的网页,顶上有一行红字
WARNING: This document is made public for archival and historical purposes only. Not all of the information is current, and accuracy cannot be guaranteed.
我看他们自己都圆不上了,这才在GPLv3加上了
liudidi
b1lz 因为这个文档很早就有了,所以有这行提示,但是关于GPLv2的解释显然是一直有效的。毕竟GPLv2已经发布很长时间了。你复制的这段,这个文档里的解释你再仔细看一下吧。
b1lz
liudidi 请问一个只有单一贡献者、没有用到其他开源代码的软件,他从GPL改成了闭源,是否违反GPL协议?
如果你认为不违反,那就等于承认这个文档就是错误的。这个文档和GPLv2协议本身以及和现实情况有矛盾。
GPLv2§§ 0 的最后一句是“Each licensee is addressed as "you".” 所以GPLv2里的这个you是指被授权人,不是著作权人。而这个文档的试图把贡献者(著作权人)也算到这个you里去:“A contributor by definition is modifying the code and therefore has agreed to all the terms in the GPLv2, which includes the web of mechanisms in the GPLv2 that ensure the code can be used by all.”。
你还去各种问答网站上搜是不是可以relicensing一个GPL授权的软件,所有靠上的回答都会说只要你是唯一贡献者或者得到所有贡献者同意,你怎么干都行。现实中也有不少软件从GPL协议改成闭源的。如果GPL能适用于贡献者的话,那改成闭源明显是违反协议的。
所以这个文档他就不对。
liudidi
b1lz 即使是多个贡献者,从GPL协议改闭源协议也不违反GPL啊。GPL协议从来没有说过你不能改你的协议,只是你改只影响你改以后的,比如QT有多个授权协议,中间还改过几回,并不违反GPL。XFree86 4.4以后改许可证(虽然仍然是开源许可证,但不兼容GPLv2),也不违反GPL,但是基于改许可证之前的XFree86 4.4 RC2派生了Xorg,也不违反GPL。
b1lz
liudidi 我上面已经提到了“只要你是唯一贡献者或者得到所有贡献者同意,你怎么干都行”。那你就是同意可以改了。
但这就和那个copyleft.org文档有冲突了。我再贴一遍这个文档7.4.1第一段最后一句:
“A contributor by definition is modifying the code and therefore has agreed to all the terms in the GPLv2, which includes the web of mechanisms in the GPLv2 that ensure the code can be used by all.”
他认为contributor同意了all the terms in the GPLv2。如果贡献者受到GPLv2的约束,那他就没办法改成闭源协议,GPLv2要求再分发时不得限制复制、分发、修改的权力:
6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
你从GPLv2改成闭源协议限制了这些就违反了协议。
所以合理的解释就是这个copyleft.org文档说得不对,贡献者不受GPLv2约束。
b1lz
我说的改闭源协议是改后续版本的协议,不考虑回溯修改之前版本的。注意改协议和撤销授权不是一个东西,我提改协议只是为了说明那个copyleft.org文档是错的,最终目的是证明GPLv2授权不是不可撤销的。
通过GPL获得授权的人要受GPL约束,如果把别人用GPL协议的软件改成闭源协议再分发是违反GPL的。著作权人对自己那部分的权利不是通过GPL获得的,不受GPL约束,所以也就无从违反GPL协议了。
QT公司能随便改授权协议,因为他是唯一著作权人,别人贡献的代码都通过Contribution Agreement把著作权转移给他了。他的著作权都不是通过GPL获得的,GPL管不了他。
XFree86改协议有争议,不过大家都用Xorg去了也就没人较真了。
这两个例子其实无所谓,我想澄清一下而已,扯远了。
我在上一贴说了,那个copyleft.org文档说得不对,贡献者(著作权人)并不受GPLv2约束。而那个文档认为GPLv2授权不可撤销是建立在贡献者(著作权人)受GPLv2约束的前提上的。这个前提不成立,那不可撤销这种观点也就是错误的了。注意撤销授权撤销的是使用已经贡献的代码的权利,而不是你之前在这里https://bbs.loongarch.org/d/485-linux/18说的“你如果撤销授权,只是你撤销授权以后发布的东西别人不能用了,撤销授权之前的东西你限制不了别人使用”,那不叫撤销,只是禁止使用。
liudidi
b1lz 什么叫撤销已经贡献代码的权利,举个例子,现在我以GPLv2协议发布了qsopcast(假如我是唯一贡献者,即使我不是唯一贡献者,最初的代码是我的,效果也一样),然后从今天起我撤销了授权,qsopcast当前版本别人就不能用了吗?这当然不行,这会给人随时终止他人使用软件的权利,和GPL协议的内涵是完全冲突的。
b1lz
liudidi 我来整理下 https://bbs.loongarch.org/d/485-linux/18 里不对的地方:
“GPL就是为了避免这种情况才存在的”:“这种情况”指贡献者撤销授权。这一路下来已经说得很多了,不可撤销条款不是GPL独有,也不是所有版本的GPL都有这个条款。那个copyleft.org文档的对GPLv2后加的不可撤销的解释也不对,因为它建立在了错误的前提下(贡献者要受到GPL约束)。所以GPLv2制订之初就没有考虑到不可撤销。
“你如果撤销授权,只是你撤销授权以后发布的东西别人不能用了,撤销授权之前的东西你限制不了别人使用”:撤销(revocation)不是这么定义的,在到期之前取消授予你的权利叫撤销。之前给你用的,现在不给你用了。
“不然X11/mariadb/QT都不会存在了”:关于QT我写点。QT还能继续开源不是因为他用的授权许可,而是因为QT公司和KDE e.V.之间的协议(参考 https://kde.org/community/whatiskde/kdefreeqtfoundation/)。不过QT公司已经做了些不地道但不违反协议的事,比如LTS版本发布一年后(和KDE之间的协议规定的最长期限)再开源,还曾考虑过所有版本都一年后再开源
b1lz
liudidi 你是唯一著作权人,你的权利不是GPLv2授予你的,你用其他随便什么协议著作权都是你的。受到GPLv2条款约束是用你软件的人,不是你
liudidi
b1lz 对啊,根据GPLv2协议,我发布出去的qsopcast其它人有权利改,只要仍然遵守GPLv2,如果我在这一时刻把qsopcast改成了商业授权(假如我有这个权利),那么只影响这一时刻以后的qsopcast,这之前已经发布的GPLv2的qsopcast,别人仍然可以用可以改,否则就是变成了我可以终止qsopcast的授权,甚至别人改的代码虽然是大部分,但是仍然不能再发布的情况,这当然和实践不一样。
实际上你就举一个哪个美国法院判了GPLv2可撤销的案例就行。
b1lz
liudidi 我说过了,不要把改协议和撤销授权混为一谈。撤销授权后把涉及的贡献删了你可以继续用原来的协议发布。
撤销授权是著作权人的权利,需要证明的是不可撤销,这我也说过了。
b1lz
liudidi 一个人一直无偿给你用一样东西,现在他不想让你用了,这是他当然的权利吧。如果你想要继续这么用下去,需要举证的是你。
liudidi
b1lz 这并不是当然的权利,反而GPL协议的不可撤销性才是当然的,如果GPL协议不能保证不可撤销性,GPL协议就失去意义了。为啥FSF的文档一定要强调这个,因为这是保证自由软件中自由的基础。如果按你说的,我可以撤销以前的授权,就会导致qsopcast无法再发布,因为基础是我的,即使其它人也有贡献,但基础不在了,没办法继续发布了,其它人只能重写一个。
b1lz
liudidi 著作权人不受GPL约束,GPL管不了他,我说过很多次了,不想再浪费时间了。你想要阻止著作权人撤销授权,只能从GPL之外的地方找根据,不能用GPL当理由。
https://www.gnu.org/licenses/gpl-faq.en.html#DeveloperViolate
Strictly speaking, the GPL is a license from the developer for others to use, distribute and change the program. The developer itself is not bound by it, so no matter what the developer does, this is not a “violation” of the GPL.
liudidi
b1lz
liudidi 不只是更改授权,他要撤回授权也不归GPL管。