关于GPL的问题

“一般的做法是在每个源代码文件开始位置添加一段声明(头文件和源代码相关脚本一般不用,详细要求见GPL协议末尾),”
可是我用了他的代码但改动很大,有些类名和结构都改了,这要怎么办呢?

看GPL协议(http://www.gnu.org/licenses/gpl.html,这是第三版,如果你用的是第二版,可以看http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)。需要添加的声明为协议末尾的一个缩进段:
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
其中开始位置的<>内需要自己修改。

自己感觉一下改动大不大(只是改一点类名、结构,那不能算新软件,或许可以算移植,这时尽量不要修改软件名称,作者方面可以把自己加进去,但不要删除原作者信息)。举个例子,写一个软件,其中用到base64编解码,有现成的开源软件可以拿来用,不需要自己重写这个功能了,这时只要声明一下软件中使用了coreutils软件的代码就可以了,不用通知coreutils的作者,但把Linux移植到ARM上,就不能自行修改软件名称、作者(需要征求原作者的同意)。

你是引用了别的软件中的一部分(别是一大部分),就可以标上自己的名字,自己给软件命名(我说的是软件名,不是代码中各个对象的名称)。如果是在别的软件基础上作的修改,一般不要重新命名了。最保险但最不可靠的方法:将你的软件代码发给被引用软件的作者,让他判断该怎么做(不可靠是因为对方不一定理你)。

上面一段是针对可不可以删除被引用软件的作者信息等内容的一点说明,下面答你的问题。简单一点,把你的软件放到GPL下,如果被引用软件的作者没有GPL以外的规定,那就没有问题了;如果有其他规定,照具体规定作一下调整;如果你不愿意用GPL开源但又想用GPL代码,这不是不可以,只要将引用了开源代码的部分(不一定是完整的软件,但必须具有完整的功能)放到GPL下就可以。

总结:关键在于你是引用别人的代码还是修改别人的软件,看你的意思像是引用了别人的一段代码,但又对这段代码作了修改,这里我只问一句:“还有没有别人的代码留下”?来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜