by distributing his program's source code with a LICENSE file, the developer effectively makes a promise that he will grant any interested party a license to his program.
So when somebody starts downloading the source code, it is understood that at that moment the developer grants him a license to his program.
The developer may "release the software under a double license", which actually means that his promise is to grant the interested party a license she chooses, to his program.
This interpretation eliminates the factitious problem I had with performing a
Your assumption about double licensing is correct. If you include two license's people are simply bound to follow whichever license fits their needs the best.
Example, License 1: You may not redistribute, You may use for personal or corporate use.
License 2: You may redistribute, You may not modify the code.
I can now pick from either of the two, but can't mash-up things from both.
This also raises the question, do you really need to double license? Why not forge your own license using the rules most desirable to you from the two combined.
Distributing with two licenses can also create forks in the code, since the user is restricted to follow one license agreement they may no longer be able to distribute under both agreements that you specified. Example, if two teams of developers each work on a different license there is a chance that they cannot combine their codes because doing such would violate a rule from one or both.
发布评论
评论(4)
好吧,我想我明白了。
我认为事情是这样的:
通过使用
LICENSE
文件分发其程序的源代码,开发人员有效地做出了承诺,即他将向任何感兴趣的各方授予其程序的许可证。因此,当有人开始下载源代码时,就可以理解,此时开发人员授予了他程序的许可证。
开发者可以“在双重许可下发布软件”,这实际上意味着他的承诺是向感兴趣的一方授予她选择的对其程序的许可。
并行执行 a 并保持分配给
license['my-program-v1.0']
的两个值完好无损时遇到的人为问题。这种解释消除了我在同时
Ok, I think I got it.
I think it is like this:
by distributing his program's source code with a
LICENSE
file, the developer effectively makes a promise that he will grant any interested party a license to his program.So when somebody starts downloading the source code, it is understood that at that moment the developer grants him a license to his program.
The developer may "release the software under a double license", which actually means that his promise is to grant the interested party a license she chooses, to his program.
This interpretation eliminates the factitious problem I had with performing a
at the same time, in parallel and keeping both values assigned to
license['my-program-v1.0']
intact.http://en.wikipedia.org/wiki/Dual-licensing
http://en.wikipedia.org/wiki/Dual-licensing
双许可证允许用户选择使用哪个许可证。
比如说,如果您根据 GPL 和 BSD 许可证发布您的软件,我可以选择在任何这些许可证下使用和扩展您的软件。
您还可以选择为您的项目提供三重或多重许可,然后您的用户可以选择任何许可证。
The double license allows users to choose which license to use.
Say, if you release your software under a GPL and a BSD license, I can choose to use and extend your software under any of those licenses.
You can also choose to triple or multiple license your project, and then your users can pick any license.
您关于双重许可的假设是正确的。 如果您包含两个许可证,人们就必须遵循最适合他们需求的许可证。
我现在可以从两者中选择一个,但不能将两者混搭在一起。
这也提出了一个问题,您真的需要双重许可吗? 为什么不使用两者组合中最适合您的规则来伪造您自己的许可证。
使用两个许可证进行分发还可能会在代码中创建分支,因为用户仅限于遵循一个许可协议,他们可能无法再根据您指定的两个协议进行分发。 例如,如果两个开发团队各自使用不同的许可证,则他们有可能无法合并其代码,因为这样做会违反一方或双方的规则。
Your assumption about double licensing is correct. If you include two license's people are simply bound to follow whichever license fits their needs the best.
I can now pick from either of the two, but can't mash-up things from both.
This also raises the question, do you really need to double license? Why not forge your own license using the rules most desirable to you from the two combined.
Distributing with two licenses can also create forks in the code, since the user is restricted to follow one license agreement they may no longer be able to distribute under both agreements that you specified. Example, if two teams of developers each work on a different license there is a chance that they cannot combine their codes because doing such would violate a rule from one or both.