由于您正在制作GPL许可的软件的衍生作品,因此您的合并作品将需要整体获得GPL的许可。但是,如果您不想分发您的工作,则绝不会强迫您共享所做的更改。
GPL FAQ 在保留您的修改不公开的意义上说:
GPL是否要求将修改版本的源代码公开发布?
GPL不需要您发布修改后的版本或其任何部分。您可以自由进行修改并私下使用它们,而无需发布它们...
但是,如果您以某种方式向公众发布修改后的版本,则GPL要求您根据GPL向程序的用户提供修改后的源代码。
因此,GPL允许以某些方式而不是其他方式释放修改后的程序;但是否发布决定取决于您。
因此,您不必公开公开修改过的程序,但是如果这样做,则必须根据GPL进行共享。
也许您还担心共享输出日历会迫使您共享修改后的代码。FAQ解释说,除非GPL许可的作品所产生的输出数据实际包含GPL许可的材料(例如,如果程序的输出中包含GPL许可程序的一部分本身),则该GPL 不涵盖该数据:
有什么方法可以使人们从使用我的程序中获得GPL?例如,如果我的程序用于开发硬件设计,是否可以要求这些设计必须免费?
一般来说,从法律上讲这是不可能的。版权法在使用人们使用您的程序从其数据中获得的输出方面没有任何发言权。如果用户使用您的程序输入或转换自己的数据,则输出的版权归他所有,而不是您所有。更一般而言,当程序将其输入转换为其他形式时,输出的版权状态将继承其生成的输入的版权状态。
因此,使用输出的唯一方法是是否从程序中的文本复制(或多或少)输出的实质部分。例如,如果我们在此特定情况下没有例外,则Bison的部分输出(参见上文)将由GNU GPL涵盖。
在什么情况下,GPL也会覆盖GPL程序的输出?
仅当程序将自身的一部分复制到输出中时。
因此,您的输出可能未获得GPL许可。请注意,即使在某些不寻常的情况下,以某种方式对输出进行 GPL许可(例如Bison语法),该输出也是与创建它的程序分开的工作。您需要遵守输出的GPL限制,但是共享GPL许可的输出并不意味着您必须共享创建该输出的GPL许可程序的更改。程序上的GPL仅在程序本身分发时才生效,而在其输出分发时才生效。