tags:

views:

303

answers:

3

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 ?

+2  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.

Ian Elliott
You can include both, but as I stated it could make recombining the code impossible in some instances.
Ian Elliott
IANAL, but including them should suffice. The recipient can choose to agree to either license in full. I might license a song I wrote to different people without having to write some "master license" that includes all of them.
Eli
But does including the licenses suffice or do I have to make a composite license pointing at that two? Then the new developments would simply be licensed under the composite-license.
Adrian Panasiuk
I could have many git repositories with same contents each under a different license :)))
Adrian Panasiuk
+3  A: 

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.

Fh