使用非GPL代码分发GPL代码

我为R编写了一个包,其中包含一个程序的源代码ttf2pt1,它是在安装时编译的.该计划与之无关;我编写的代码使用一个名为system2()的函数调用该程序,该函数基本上就像从命令行调用它一样.这个程序的完整源代码在它自己的目录中,我根本没有修改它.

我想在一些版本的GPL下发布软件包,但我不清楚这是否可行.如果没有,我可以使用另一个免费软件许可证.

该程序有一个允许的LICENSE文件,但基本上要求包括:

>具体的免责声明
>特定版权声明
>具体的确认

这是文字:

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software
   must display the following acknowledgement:
     This product includes software developed by the TTF2PT1 Project
     and its contributors.

此外,子组件有此通知:

Copyright (c) 1992 by I. Lee Hetherington, all rights reserved.
Permission is hereby granted to use, modify, and distribute this program
for any purpose provided this copyright notice and the one below remain
intact.

我相信这个许可证与GPL兼容,但我不确定对整个软件包的许可有什么影响.

我的问题:

>我可以在GPL2或GPL3下分发整个软件包吗?
>如果是这样,ttf2pt1程序是否需要单独的许可证?
>如果无法在GPL2 / 3下分发整个软件包,我可以使用哪些许可证?
>我必须在LICENSE文件中输入哪些信息?

编辑:如果可以在一个许可下使用我的代码和另一个许可下的ttf2pt1释放包,我也会对此感到满意.之前的answer看似相关.

最佳答案 我不明白为什么你不能正确包装ttf2pt1的源代码 – 包括它的源代码,编写一个包装函数并从R调用该包装函数.如果你遵守其他条款(包括它的话),许可证明确允许这样做LICENSE文件等pp).

R本身包含来自其他项目的代码;你可以研究R(相当大)的来源,看看它是如何做到的.当然,许多CRAN包也是如此,所以我相信你能找到合适的例子.

点赞