Unlike Linux, with has a viral license which essentially forces people to work on the same code base - BSD doesn't, which from a technical standpoint causes way more forking and less contributions back to a main tree.
Unlike Linux, with has a viral license which essentially forces people to work on the same code base - BSD doesn't, which from a technical standpoint causes way more forking and less contributions back to a main tree.
The BSDs have a different philosophy where the kernel and userland go together as one package. Linux distros reuse the same kernel and rely on GNU for many tools, but are otherwise free to do their own thing, just like the BSDs.
I doubt the GPL is what really keeps Linux together. Rather, since the Linux kernel is developed separately from everything else, and is such a huge thing, there's little incentive to fork the kernel along with userland. You develop a new userland (as with Android) and keep the kernel.
Now it's not exactly accurate to call this a fork either b/c they do eventually catch up... but still, lots of non-standard kernels out there.
If this were so, my life would be so much easier. Maybe things are like this on higher-end servers, in DevOps and so on, but the other side of Linux deployment -- in embedded systems, consumer hardware, various gizmos, phones and so on -- it's very much not true.
Virtually no device that's actually being sold somewhere runs a vanilla Linux kernel when you take it off the shelf. Companies comply with GPL technically -- they publish their changes and they'll even mail you the CD if you ask nicely -- but there's no community work of any kind, really. Sometimes you'll have manufacturers working with funky hardware from obscure companies that never bothered to update their drivers past 2.6.32 (or, best case scenario, 3.2) and the forward-porting dance begins -- that is, if you're lucky and the driver isn't a binary blob. Sometimes the opposite happens -- you're working with shiny new stuff but a Really Smart Manager heard that older kernels are more stable and now the backporting from 4.10 to 3.16 dance begins. The "same codebase" thing is pretty much just a distant dream now -- and you don't want to see most of the codebases out there.
Granted, there is a common(-ish) core -- the differences are not on the magnitude of FreeBSD vs. OpenBSD (different vmm systems etc.), but IRL, there's rarely a "single" Linux.
Edit: oh, and don't even get me started on all the innuvashon that happens in the layers above the kernel.
Also, Linux have longstanding forks, the Android kernel and the real-time tree to take two prominent examples.
I really don't get it: Companies are routinely shown to be ignoring GPL and other licensing with zero consequence and your average computer user probably doesn't even understand the concept of a source code license.
Does anyone really think that if OpenBSD had some GPL'ed code in there, and $company was taking that code and distributing it closed-source, that there would be any consequences whatsoever? If so, why does this never make the news? If not, then why do these people bother?