修改了基于GPL的软件代码,如何“state changes”?

根据choosealicense.com/上对GPL协议的描述,“changes made to the code must be documented”。
那么,按照协议要求,当fork了一份基于GPL协议开源的代码,并根据自己的需要进行修改后,在公开源代码时如何满足“state changes”的要求呢?

最佳答案

GPL 原文第 5 节开头写的是:

You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
The work must carry prominent notices stating that you modified it, and giving a relevant date.

大致意思就是如果你修改了一个 GPL 协议开源的项目源码,你就必须也开源,并且要在醒目位置标上修改声明(也就是所谓的 state changes)及日期。

但协议本身并没有规定什么算“醒目”、“修改声明”又有什么格式要求,一般都是开发者自行发挥。比如在 README 里写啊,或者在代码文件开头的注释里写之类的。

最著名的 GPL 项目应该算 linux-kernel 了,但这玩意儿本身的 fork 项目里写的修改声明也都没有一个统一规范。