数学软件计算机交易协会 (ACM TOMS)杂志发表了许多关于数值算法的文章,其中包括软件实现。根据他们的编辑政策,算法论文的提交包括该论文中描述的算法实现的源代码。此源代码受ACM 软件版权和许可协议的约束。
由于我对发布自己工作的软件实现感兴趣,因此我担心此许可证的法律含义。具体来说,该软件许可证如何与常见的开源许可证(例如 GPLv3、BSD、MIT/X11 和 Apache 许可证)交互?
数学软件计算机交易协会 (ACM TOMS)杂志发表了许多关于数值算法的文章,其中包括软件实现。根据他们的编辑政策,算法论文的提交包括该论文中描述的算法实现的源代码。此源代码受ACM 软件版权和许可协议的约束。
由于我对发布自己工作的软件实现感兴趣,因此我担心此许可证的法律含义。具体来说,该软件许可证如何与常见的开源许可证(例如 GPLv3、BSD、MIT/X11 和 Apache 许可证)交互?
通常,作品的作者可以根据您提到的多个开源许可(所谓的双重许可)对其进行许可。但是,在引用的 ACM 编辑政策下这样做似乎存在问题,该政策规定您有义务转让已发布“算法”的版权所有权:
受版权保护的算法的作者(或其雇主)必须根据 ACM 政策在接受算法发布后将版权转让给 ACM,以拥有 ACM 已发布材料的版权。
该政策(以及 ACM 软件和版权和许可协议)继续声明它“授予作者重用其材料的权利,并授予为非商业目的重用相关软件的自由许可。” 这种对非商业目的的限制将阻止作者(恕我直言,IANAL)根据您问题中提到的开源许可证重新授权,因为这些许可证不允许区分商业和非商业用途。
在ACM 版权政策的详细讨论中可以找到可能的解决方案:
在作者或作者的雇主必须保留版权的特殊情况下,或者当 ACM 不希望对特定作品给予认可时,ACM 可以接受所有者的授权,授予 ACM 发布作品所需的许可。
我不知道这样的例外多久会被授予出版。如果我试图寻求这样的例外,我可能会争辩说我已经根据其中一个开源许可证授权了该软件,并且 ACM 可以在文章发布时创建的衍生作品中拥有版权。
我确实提到了 IANAL(我不是律师)?