| This, like most intersections of law and software, is tricky. Let's say you, zakki, release v1 of a program as the sole author. The code is yours, and you release it under 2-BSD. v1 will remain under 2-BSD forever; however, you are free to: * sell the same code under a different license (including a closed-source commercial license) * change the license of v2 to a completely different license – in this case, v1 will remain under 2-BSD in perpetuity but future releases are not. This would be true for 2-BSD, GPL, whatever license you like. --- This gets interesting when you are not the sole author. In that case, you either: + were fastidious about requiring your contributors to assign copyright to you, in which case the above holds - accepted all comers, in which case you have to go on a crusade to chase down those people to assign copyright OR to agree to your license change – Mozilla did this (painful) exercise in its past[1]. --- Now, if you were not the sole author but you actually reused or forked code, like OpnSense (based on FreeBSD), your options are different. In that case, the underlying license cannot just "go away": FreeBSD's license carries through. However, as it is a very permissive 2-BSD, there's nothing to say OpnSense couldn't relicense to a proprietary license per the above. --- Hypothetically, if OpnSense were based on Linux instead, the underlying GPLv2 would be attached. In that case, you could not relicense to a closed-source model because > You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. (emphasis mine). Clear as mud? :) [1]: https://www-archive.mozilla.org/mpl/relicensing-faq |
Keep in mind, though, that Linux is only a kernel, so if someone's careful with their components they could build a Linux-based system where Linux was the only component under the GPL, in which case they'd only be obligated to share the kernel source to any user who asks. It would have a slightly unusual-looking userspace in order to avoid GPL components; musl libc, toybox instead of GNU coreutils, no BASH, etc., but this is basically what happened with Android.
(IANAL, of course)