
The big issue I see with GPL and Crypto software is that with the GPL you cannot add any redistribution restrictions. The problem is that due to the United States export rules, I cannot export Crypto software, That is true. which means I must legally put a restriction on any Crypto code I write. In general, the fact that action A is illegal does not mean you must include a requirement in your distribution terms not to do A. Such a requirement is superfluous, because A is illegal no matter what you say about it. For example, if you distribute email software, you don't need to state the requirements not to use it for fraud or harrassment. They are illegal anyway. It might be a good idea to include, in crypto software, a notice informing users that US law forbids export of the software, as a warning lest they do so unaware that export control covers it; but this need not have the form of a binding requirement. It could just be "for your information".