0

我正在考虑一个应该包含这些信息的外部 dll,并且应该在服务器启动时将它们打印为控制台输出,但老实说,我认为这是不可能的(调用一些方法,在这种情况下是来自召唤者的控制台类被调用的对象)......但如果它是可能的,你们中的任何人都知道怎么做吗?也许,你们中的一些人知道在开源项目中执行我上面所说的其他方法(防止重命名项目)?感谢您的阅读和您的回答 你们中的一些人知道在开源项目中执行我上面所说的其他方法(防止重命名项目)吗?感谢您的阅读和您的回答 你们中的一些人知道在开源项目中执行我上面所说的其他方法(防止重命名项目)吗?感谢您的阅读和您的回答

4

4 回答 4

2

你不能“保护你的代码”。通过使用 GPL,您可以拥有起诉任何侵犯版权许可的人的法律地位,但您无能为力。

也许如果您的产品足够好,人们会使用您的版本高于其他版本。我认为您不太了解,在真正的开源中,您的原创作品被破坏了,并且产生了更好的东西。如果您无法处理此问题,请根本不要发布您的源代码。

于 2010-09-30T17:17:23.993 回答
2

我不认为你可以做到这一点并且仍然是真正的开源。

开源定义表明

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

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

因此,您正在寻找非开源许可证。如果您的主要兴趣要归功于,也许看看知识共享署名?

于 2010-09-30T17:17:36.363 回答
1

为什么不只是根据防止这种情况的许可证提供项目呢?

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

于 2010-09-30T17:14:23.877 回答
0

GNU 自由文档许可证 可能能够满足的要求。至少,它需要对重新分发者进行更彻底的更改日志记录。您甚至可以将标题声明为“不变部分”,尽管您可能需要与律师讨论这一点,因为 GFDL 的许多语言都是专门关于更改标题的。他们当然不打算让标题页成为一个不变的部分。

问题的很大一部分是,通常开源许可证要求人们在分叉代码时更改标题——所以他们的更改似乎不是你的。我从来没有听说过有人希望要求分叉保持相同的标题。我无法想象你为什么想要这个。甚至比改进你的程序更容易,他们可以做出改变,让它变得非常糟糕,而且他们仍然需要保持相同的名称。(如果他们只想重复使用其中的一部分会发生什么?需要多少原始程序才能保持相同的名称?我认为这个兔子洞没有尽头......)

即使你能幸免于难,GFDL 也不是为源代码设计的。它不兼容 GNU GPL。它可能不符合 OSI 定义,当然也不符合 DFSG。您可能会激怒更多的潜在贡献者,而不是通过阻止重命名获得的收益。我想不出在这样的许可下发布源代码有什么好处。这些限制是如此奇怪,以至于程序员不会费心去弄清楚它。

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

这与以原始名称出售它有什么不同?将某些东西作为开源发布就是邀请人们尝试出售它。如果他们从 AUTHORS 文件中删除您的姓名或假装是他们写的,请以侵犯版权为由追究他们,就像任何其他作品一样。

于 2010-09-30T18:00:30.677 回答