我正在开发一款服务器软件,该软件是在AGPL下授权的。我想要求它的所有客户端在一个免费的许可下发布(GPL更好,但我对其他许可证开放)。
有办法这样做吗?有什么标准的方法吗?
发布于 2016-09-29 17:25:53
简单地说,答案是否定的,尤其是当你期望别人建立客户端的时候。
如果您构建此服务器软件的意图是其他构建客户端,则它们之间的通信距离很长,因此是独立的工作,因此AGPL的要求不适用于客户端。
实际上,您也不能通过服务条款来施加限制。虽然可以强制设置一个ToS来限制与特定服务器的连接,但您将无法限制用户获取源代码、启动自己的服务器,并且不需要对连接的客户端进行任何此类限制。
您最好的选择是同时构建服务器和客户端,使客户端获得GPL许可,然后使客户端变得非常好--没有人会费心用不同的许可证来制作不同的服务器。
发布于 2016-09-29 17:22:50
根据问题评论中的讨论,我认为唯一的办法是在服务条款中提出访问服务器的要求。
服务器的许可证不能对客户端施加额外的限制,因为它们是另一个独立的软件。即使有可能,AGPL也提供了一种消除这些限制的方法。
所有其他不允许的附加条款都被认为是第10节意义上的“进一步限制”。如果您收到的程序或其中的任何部分包含了一个通知,说明它受本许可证的管辖,以及一个进一步限制的术语,您可以删除该术语。
如果没有保留上述条款的动机,执行起来就会相当困难。
把它作为服务条款中的一项要求是有它自己的包袱的。您不能阻止某人创建一个专有的自定义客户端并在他们自己的服务器上使用它。
不过,到最后,这一切很可能不会有什么关系。考虑到这是一款免费授权的游戏,拥有免费许可的“官方”客户端,有人不愿意在免费许可下提供代码的可能性很小。
https://softwareengineering.stackexchange.com/questions/332365
复制相似问题