首先,答案是否定的(翻译),您不能合法地重新许可它,也不能做任何超出原始许可合法性的事情。您可能已经完成了原始作者十倍的工作,但这并不重要,它具有病毒性。不仅是因为它是GPL,还因为它不是干净的设计或重写。
在1992年,我对旧的MUD代码库进行了大规模重写时,我为此作了短暂的挣扎。我们有一款成功的游戏,但想做自己的事,人们愿意为此付费,但DikuMUD许可严格禁止我们赚钱。当时,竞争对手也基于相同的代码库,因此他们选择公然忽略版权,剥夺所有版权,基本上对所有人(包括他们自己)说谎。他们的逻辑是“没有原始代码存在”和“我们进行了大量重写和改进”,并且通常忽略了以20,000行代码开头的事实。他们为游戏中的物品收费,并且赚了太多钱而无法停止。
我很羡慕。但是我研究了版权法,咨询了我的良心,并决定甚至不能使用自己编写的代码,因为老实说我不是从头开始构建游戏服务器。
因此,我决定把钱花在嘴里,用W的副本从零开始写。我一直都在和Richard Richard的UNIX Network Programming一起工作。从头开始写作,比起重写DikuMUD时,我学到的东西要多得多,它还告诉我,我真的不明白站在别人的肩膀上意味着什么。在六个月内,我有了50,000行可称为我的操作代码。我将其命名为MUD ++,并在BSD下发布。我用早期风格的C ++编写得不好,但它仍然是我所知道的第一个免费的开源C ++ MUD。直到今天,没有人能把它从我身边夺走。当时我拥有最好的TCP服务器,没有其他人可以在不删除播放器的情况下进行“热重启”,很快每个人都在窃取该功能(而且我注意到许多GPL MUD都有我的BSD代码的片段-总是很有趣,GPL如何劫持BSD软件,反之则不行)。最终,我继续前进,所以这并不意味着决定是我的财富成败,但尽管其他人赚了很多钱,但最后我看上去在图形游戏的世界里他们已经减少了不再有大量的文本需求。
故事还没有结束……几年后,我在IBM工作,迪斯尼雇用我们为Epcot中心编写了实时3D多人游戏,并且我能够使用MUD ++的TCP内核作为基础游戏服务器!如果我不拥有自己的代码,就不会被允许使用它,并且它确实为我节省了数周的编码时间。最后,我为自己所做的选择感到自豪,并且我有一个故事要告诉我的孩子们。
人们轻描淡写并低估了从别人的框架开始建立的好处。
如果您认为自己“拥有”它,请测试一下自己。重新开始,旁边还有一本Python书。看看感觉如何。不要作弊,也不要看旧的代码库。查看输出。强迫自己独立思考各个方面,进行诚实的研究。您会为此而更好,并且可能会有更好的产品。
但是,在执行此操作之前,请尝试与原始作者联系。询问他们是否愿意重新许可。如果您打算出售二进制文件,请提供使用费。许多在90年代和2000年代发布GPL东西的作者现在已经分别在30年代,40年代和50年代,并且了解以软件为生的意义。我已经看到不止一个人将他们的东西从GPL许可给MIT,Apache,Boost或BSD。
最后,许可证不会覆盖您可能拥有的代码的先前权利。或者,如果您独立编写了一个全新的附件,例如,如果您编写了一个TCP引擎作为单人Tetris游戏的附件,并且它可以独立存在(特别是如果您以前是根据其他许可证发行的),那么您可以在其他项目中重用您的代码。您也拥有著作权。
我的信念是免费的。如果您要附加字符串,请不要随意打电话。几年后,有人邮寄给我,说他们在商业引擎中使用了我的游戏,主要是TCP,可能还有字节码解释器。他们在赚钱。我一点也不介意。作为一个骄傲的父亲,我现在仍然很幸福。