Licence to kill
Another significant difference between Linux and the BSDs is the licencing. The Linux kernel, GNU-based applications, and many pieces of software originating in the Linux world are licensed under the GNU General Public License, more commonly referred to as the GPL. This license is often described as a copyleft license as opposed to copyright. It means that the GPL allows the freedom to view, distribute, and modify the source code, while demanding that all derivative works maintain the same essentials of the license.
In essence, the GPL necessitates that Linux developers release the source code of their modifications. BSDs, in contrast use the BSD License which, in simple terms, permits modifications to be kept under wraps if the developer so desires. The BSD license is more permissive than the GPL in that it doesn’t require derivative work to maintain the licensing terms of the original code. So anyone can use, distribute, and even modify the code without being compelled to contribute the changes back or release the source of their derivative code.
If you look at them from a different angle, you could argue that the GPL is designed to protect the rights of the users, while the BSD looks favourably towards the interest of the developers. Interestingly, the OpenBSD project has put in considerably efforts to purge GPL’d code from the OpenBSD release. For historical reasons, the OpenBSD base system still includes a few GPL-licensed components, but is quite firm in its resolve to not accept additional software bound by the GPL terms into the base system.