In a project that I am working on, I would like to use the GNU GPL software license, but I also don't want to have any possible problems distributing my software.
For instance, there were some reports that GNU GPL apps were removed from the Apple App Store because the GNU GPL is not consistent with their terms of distribution.
In order to preempt such a possibility, I am planning to dual-license my code under two licenses
- GNU GPL v2, or later at your discretion
- CC-BY-ND 4.0
The thought process is, if some platform decides "for some obscure legal reason, GPL software is not allowed", I can say "fine, I will distribute this release of the code to you under CC-BY-ND".
But this also doesn't weaken my commitment to free-software, because if someone wants to fork the project, they have to use either GNU GPL, or retain the dual licensing. If they retain only CC-BY-ND, then they can no longer make modifications.
Does this make sense? Will this work the way I think it does? Is there a simpler or better way? Note that if this "works", then I would prefer it to using MIT / BSD license.
Do any other projects pursue a similar strategy? I don't know of one, and I'm not a lawyer.
Clarification based on comment discussion below
So, it's quite possible that I misunderstand what the issue was with Apple and GPL. But I thought the issue was that, Apple imposes terms like "When you buy the app, you can only install it on one device", and this is considered to run afoul of GPL which says "No downstream restriction". IIUC, GPL software can be sold -- they can decide to sell or not sell, and then they distribute or they don't. But when they decide to distribute, they can't put further restrictions on use of the software. IIUC, CC-BY-ND allows any downstream restrictions, its just no one can make modifications.
Basically what I think that I want is, an escape hatch that allows people to impose downstream restrictions when they distribute, provided they give up the right to make further modifications. Since I think that's basically still consistent with free software. It's possible that I shouldn't want that, I don't really know. But that's what makes sense to me at the moment.