保护项目不被重命名

时间:2010-09-30 17:11:41

标签: c# open-source protection data-protection

我目前正在开发一个新项目,我想将其发布为开源... 该项目包括一个服务器和一个客户端,用于模拟着名的2D游戏...... 已经有2到3个此类型的其他项目(开源),但是你们都知道在这些日子里人们有重新命名其他人的工作并以他们的名字等发布它的习惯,所以现在有数百个重命名的SAME项目版本!... 我已经考虑了GPL,还有其他项目,其他人刚刚将其重命名为已发布而没有任何问题...... 所以,我目前正在寻找一种方法来在源代码中插入一些关于项目名称,作者等的“默认”字符串,以便窃取者/破解者等不能只重命名项目并且可能将其出售等等......所以,我正在考虑应该包含这些信息的外部DLL,并且应该在服务器启动时将它们打印为控制台输出,但是真诚地,我认为不可能(调用某些方法,在这种情况下,召唤器的控制台类来自被调用的对象)... 但如果可能的话,你们中的任何一个人都知道怎么做? 也许,你们中的一些人知道在开源项目中做我上面所说的其他方法(防止重命名项目)? 感谢您的阅读和答案

4 个答案:

答案 0 :(得分:2)

您无法“保护您的代码”。通过GPL,您可以拥有法律地位起诉任何侵犯版权许可的人,但您不能做太多其他事情。

也许如果您的产品足够好,人们会将您的版本用于其他版本。我不认为你理解在真正的开源中,你的原创作品被毁掉了,并且产生了更好的东西。如果您无法解决此问题,请不要发布您的来源。

答案 1 :(得分:1)

为什么不在许可证下提供阻止此项目的项目?

话虽如此,项目分叉是许多开源许可提供的核心基本自由之一。使用许可证或机制来试图避免这种情况可能会影响您对社区的接受。

答案 2 :(得分:1)

我认为你不能做到这一点,仍然是真正的开源。

open source definition指示

  

许可证必须允许修改   和派生的作品,并且必须允许它们   以相同的条款分发   作为原件的许可证   软件

我看不出如何限制代码的任何方面的修改(例如代码中的字符串,如名称)并遵守。

因此,您正在寻找非开源许可证。如果您要考虑您的主要兴趣,可以查看Creative Commons归因?

答案 3 :(得分:0)

GNU Free Documentation License 至少,它需要对再分销商进行更彻底的变更记录。您甚至可以将标题声明为“不变部分”,尽管您可能需要与律师讨论这个问题,因为GFDL的许多语言都是关于更改标题。他们当然不打算将标题页作为一个不变的部分。

很大一部分问题是,通常开源许可要求人们在分叉代码时更改标题 - 因此他们的更改不会出现是你的。我从来没有听说过任何人要求叉子保持相同的标题。我无法想象你为什么要这样。比改进你的程序更容易,他们可以做出改变,使它绝对可怕,他们仍然需要保持相同的名称。 (如果他们想重新使用其中的一部分会发生什么?为了保持相同的名称,需要多少原始程序?我认为这个兔子洞没有结束......)

即使你完全存活下来,GFDL也不是为源代码而设计的。它不是GNU GPL兼容的。它可能不符合OSI定义,并且它肯定不符合DFSG。你可能会通过防止重命名来惹恼更多的潜在贡献者。我想不出在这种许可下发布源代码有什么好处。限制是如此奇怪,程序员不会费心去解决它。

  

所以,我正在寻找一种方法在源代码中插入一些关于项目名称,作者等的“默认”字符串,以便窃取者/破解者等不能只重命名项目并且可能会出售等等

与以原名出售它有何不同?发布一些开源的东西是邀请人们尝试出售它。如果他们从AUTHORS文件中删除您的名字或假装他们写了这个名字,请追查他们的版权违规行为,与任何其他作品一样。