My two cents about the GPL
If I release a code part for TEmpire (under the special license aswell, dual licensed), someone improves the GPL version, I can't use the improvements or I have to specific ask the Author of the improvments to dual license it aswell. (Yes you can always change the license of your work and even make it non-free, if the old/other release stays intact.)
Resulting sometimes in the need of such constructs:http://www.fltk.org/COPYING.php
One other aspect I really dislike a about GPL code is it can use any software it likes (even commercial non-free, non-public accessable code). While for API and OS calls it is ok, I sometimes see software that haveily depend on non-free software but it's GPL...
If it depends on it so heavily then it's probably a breach of the GPL.
GPL can't use any code it likes. There's a list of licenses that are compatible with the GPL and those that aren't here
. The use of unlicensed code is a breach of copyright law and carries civil and criminal penalties depending on how severe it is.
Ohh and if you go open source you can't surpress modifications that you don't like.
Isn't that rather the point of open source? It's about freedom, after all...
One thing the license needs to really state that it isn't allowed to use code from sources that can create problems (sample TTDPatch, OTTD, SimCity files (copying the lua concepts, graphics) or code that violates patents.
Well, disregarding software patents, which are only really enforced against other big companies, I think you've missed the point of the entire license with this. These things don't need to be spelled out in your hypothetical license because all of the above is already covered by copyright law and, to a lesser extent, patent law. The use of a work or portion thereof without a suitable license is a breach of copyright; you don't need to write that down in order to refuse the use of such things, and anyone trying to incorporate work in to TE without a suitable license would be breaking the law. It's that simple. So there's no need for it to be spelled out in any license whatsoever.
Also, another more general point I'd like to make. A couple of eople have expressed worries about whether they can use their own code in othe projects after submitting it to TE, whatever license it might have. I wouldn't see any problem with it. Remmeber, you wrote it, so that means you can license it however you like, whenever you like. You can license it under the GPL, and again as BSD, and again under the Super Deluxe I Want Your Money Now license that microsoft likes to use without any conflict, because it's your code. You own it, you can do what you want with it, and any license you've put on it only applies to other
people. Of course their modifications to yoru code, if you allow such things, are another matter entirely...