我对开源免费软件的事情都很陌生,但无论如何我都会很好(我猜!!)。
现在的问题是:在分发我的程序的过程中,我将不得不分发我的源代码,所以它将是一个带有安装程序的(.gz),或者是(.deb)。< / p>
我的问题是:
(我知道这是一个愚蠢的,但我是新来的)我怎样才能确保没有人会把我的源代码用作他们的源代码,我的意思是该程序是免费的,但是我需要某种证据证明这件事是我写的吗?
我应该为该计划提供什么样的开源许可? (考虑到我使用的是Debian,Ruby,Cron,Partimage,Qt4)
答案 0 :(得分:6)
有许多不同的开源许可证,其中许多都有细微差别。您需要确定对您的代码如何被其他人使用和分发的重要性。
对Wikipedia上的一些可用许可进行了很好的比较。
从该列表中,您还应该查看每个许可证上的wikipeida页面,了解其详细信息。
你应该看看的主要是GPL,LGPL,麻省理工学院,BSD,Apache和Mozilla。
同样值得看看各种creative commons许可证。它们提供了一些易于配置的选项,可以构建适合您的许可证。
请注意,某些许可证(如GPL)要求如果有人想使用您的代码,则必须使用相同(或兼容)的许可证进行发布。这可能会限制商业公司或专有软件使用的代码,因此有些人更喜欢限制较少的许可。这当然完全取决于您,以及您希望如何使用代码。
答案 1 :(得分:2)
您的代码表明您要分发ruby软件。您可以通过gemcutter将其作为宝石分发。
并且不可能保证没有人会将您的代码重新用作自己的代码,因为并非所有人都遵守许可条款。
答案 2 :(得分:2)
我如何确保没有人会将我的源代码用作他们的源代码,我的意思是该程序是免费的
也许你根本不想开源它。即使没有来源,您仍然可以免费使用它。
如果你开源它没有办法(也没有意义)阻止其他人使用和更改你的源代码也使它成为他们的源代码。所以当时它不再是“你的”了。至少不是唯一的。
答案 3 :(得分:1)
您可以使用MyFreeCopyright来表明您已对其进行了版权保护。这可能是最简单的方法。
你应该获得什么许可取决于你允许他人做什么。
答案 4 :(得分:1)
您选择的许可证在很大程度上取决于您使用的组件的许可证。据我所知,partimage是GPL,其他可能是麻省理工学院或BSD和LGPL。您需要使用与所有组件兼容的许可证。因此,如果您的项目(例如)主要是partimage的扩展,那么您必须选择GPL。
如果你想要符合“Debian精神”的话,GPL也是一个很自然的选择。
1) - 然而不可能。这就是DRM和沉重的加密内容。你唯一能做的就是申请许可证并期望人们尊重它。或者,当然,只要你发现任何人违反许可证,就会把事情告上法庭 - 昂贵且烦人。
答案 5 :(得分:1)
只有一种方法可以确保知道一个人使用您的源代码作为他们的源代码。不要公开您的源代码。但是从你写问题的方式来判断,这对你来说不是一个选择。
天啊。没有免费软件许可,禁止任何人对源代码做任何他们想做的事情,只要他们不发布它。
您项目的正确许可取决于您的分享意图:
GPL的几种变体有不同的限制:
因此,如果您使用GPL软件并且partimage是GPL软件,则必须使用GPL作为软件的许可。我一直不喜欢AGPL。
请注意:GPL只说你必须给那些源代码,你给了程序。因此,如果有人出售他的衍生品,他只需要给你源代码,如果你购买该程序。
答案 6 :(得分:1)
1)一旦您分发软件,您就会自动开始留下所有权证据。开源软件档案是镜像的,一些组织维护公共邮件列表和其他Internet部分的档案。分布式版本控制意味着项目的整个历史记录可以由很多人持有。
Linus Torvalds开玩笑说,真正的男人不会备份,他们只是上传他们的东西,让世界反映它。
在实践中,很可能很少有人会使用某个软件,而不是任何人都会关心自己的软件。
2)您必须使用符合您重复使用的软件许可条款的许可。这就是GPL被称为病毒的原因 - 如果您编写的软件直接链接到任何GPL软件,您必须使用GPL代码,或者获得版权所有者的豁免。
如果您有自由选择,我建议使用MIT许可证,因为这是Ruby代码的标准许可证。它非常简短易读。
答案 7 :(得分:0)
使用GPL - http://www.gnu.org/licenses/gpl.html
包含您的源代码。
以下是如何使用它的指南 - http://www.gnu.org/licenses/gpl-howto.html
答案 8 :(得分:0)
您可以使用源代码混淆器来使反编译代码难以阅读。这在您不希望公开源代码并且希望人们难以对代码进行反向工程的情况下非常有用。
使用开源许可证的关键是您使用程序分发源代码,因此这两个要求难以协调。