There’s been plenty of debate over open source licenses. The GPL forces freedom (and therefore isn’t freedom at all,) the BSD license arguably doesn’t provide “enough” freedom… so how about a compromise?
Start with a GPL-like license. Specifically make it GPL compatible, so that forks of the code can be made under the GPL, if the fork’s author so desires. However, only the fork’s author’s modifications will be GPLed, the rest of the code will be under this original license.
With this idea, the GPL-like license would have a “timebomb” in it. The length of the timebomb isn’t important, but IMO, it should be 5 years at the very maximum. (Then again, I think copyright should be at 5 years at the very maximum, as well as patents.)
Upon the timebomb triggering, code released 5 years (or whatever the length was) before the timebomb was set reverts to a BSD-like license. If someone is distributing code that they began using under the terms of the GPL-like license, they still need to abide by the GPL-like license (as that’s what they agreed to when they began distributing it,) but any derivative works originally released after the code they used expired could be completely under the BSD-like license, and anyone using the code from them would be under the BSD-like license.
That way, the GPL types get to force “freedom” for a limited time, before a certain piece of code reverts to actually being free. On the flip side, the BSD types get to allow true freedom (which includes allowing non-freedom) afterwards.