我多年来一直在开发GPL软件,但现在我需要一个更严格的许可证.
这是一个商业应用程序,我想与全世界分享我的源代码,无论他们是否从我这里购买了应用程序.我也希望允许人们制作衍生作品,但我想禁止我原创作品和任何衍生作品的二元发行.
基本上,如果有人已经购买了原创作品,他/她可以编辑和使用原始源代码或任何衍生作品.否则,他们只能学习我的源代码或衍生作品的源代码.
有没有人知道符合我需要的许可证,还是我需要自己编写?
谢谢,
更新:
首先,感谢大家的答案.
让我澄清一些事情:
此应用程序尚未发布.所以我没有采用像XFree86这样的新许可证,我正在尝试为新应用程序选择许可证.
我通常使用术语"自由软件"而不是开源,这就是我在这里使用术语开源的原因.源确实是"开放的",而不是OSI定义它的方式.
我全都是GPL,我之前编写的几乎所有软件都是在GNU GPL v2下发布的.但这个必须是一个例外.
如果人们违反许可证,我真的不在乎.除非他们出售我的软件,否则我不会梦想起诉任何人.
现在我并不是说我写了一篇非常特别的软件,但我不想让人们通过窃取我的代码赚钱.但我也希望技术娴熟的用户能够修改他们认为合适的软件.
哦,最后,应用程序是用编译语言编写的(Objective-C,准确地说是*cough*iPhone*cough*).
这不是操作系统,它听起来像共享源.具体来说,它很像Ms-RSL.
来自WikiPedia:
Microsoft参考源许可证(Ms-RSL)
这是Microsoft Shared Source许可证中最严格的一项.源代码可供查看,仅供参考.[14] 开发人员不得出于商业或非商业目的分发或修改代码.
顺便说一下,完全不可能阻止人们维护你发布的最后一个GPL版本.如果有足够的人想要使用你的软件,你应该进入这个冒险,期望一个社区将在GPL版本背后构建,它的新维护者将匹配你的功能特性,你将被视为贱民在那些圈子里.
我并不是说这是一种威胁,而是我所看到的模式在过去围绕这些行为发展.XFree86采用了更严格的许可证,许多贡献者将其分配到X.org,而XFree86现在只不过是它的旧自我的影子.cdrecord生于cdrtools.SSH生成OpenSSH.基本上,自由软件转换为限制性许可证的记录充斥着死亡的商业项目.你确定这是你想要的吗?
替代方案:允许用户购买所请求的功能并在GPL下发布.提供安装和配置服务.出售支持合同.出售培训.任何这些都比你提出的更有可能取得成功.