What does it mean to double license? [closed]

南楼画角 提交于 2020-01-14 10:42:53

问题


What does it mean to double license code? I can't just put both licenses in the source files. That would mean that I mandate users to follow the rules of both of them, but the licenses will probably be contradictory (otherwise there'd be no reason to double license).

I guess this is something like in cryptographic chaining, cipher = crypt_2(crypt_1(clear)) (generally) means, that cipher is neither the output of crypt_2 on clear nor the output of crypt_1 on clear. It's the output of the composition.

Likewise, in double-licensing, in reality my code has one license, it's just that this new license says please follow all of the rules of license1, or all of the rules of license2, and you are hereby granted the right to redistribute this application under this "double" license, license1 or license2, or any license under which license1 or license2 allow you to redistribute this software, in which case you shall replace the relevant licensing information in this application with that of the new license.

(Does this mean that before someone may use the app under license1, he has to perform the operation of redistributing to self? How would he document the fact that he did that operation?)

Am I correct. What LICENSE file and what text to put in the source files would I need if I wanted to double license on, for the sake of example, Apachev2 and GPLv3 ?


回答1:


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.




回答2:


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.




回答3:


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

license['my-program-v1.0'] := GPLv3
license['my-program-v1.0'] := SomeOtherLicense

at the same time, in parallel and keeping both values assigned to license['my-program-v1.0'] intact.




回答4:


http://en.wikipedia.org/wiki/Dual-licensing



来源:https://stackoverflow.com/questions/1098608/what-does-it-mean-to-double-license

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!