Why not?

Bart Silverstrim bsilver at chrononomicon.com
Sun Mar 13 13:53:54 PST 2005


On Mar 13, 2005, at 4:34 PM, Loren M. Lang wrote:

> On Sun, Mar 13, 2005 at 01:24:42PM -0500, Bart Silverstrim wrote:
>>
>> On Mar 12, 2005, at 2:45 PM, Chris wrote:
>>
>>> Aperez wrote:
>>>> Hello everybdody
>>>>
>>>> I read an interview of Linus Torvald made by Linux Magazine. In that
>>>> interview Linus mentioned the following:
>>>>
>>>> "On the other hand, no, Linux does not have that stupid notion of
>>>> having totally separate kernel development for different issues. If
>>>> you want a secure BSD, you get OpenBSD; if you want a usable BSD, 
>>>> you
>>>> get FreeBSD; and if you want BSD on other architectures, you get
>>>> NetBSD. That___s just idiotic, to have different teams worry about
>>>> different things."
>>>
>>> Here's irony posed as a question:
>>>
>>> ... and how many distros of Linux are there?
>>
>> I think the difference is that Linus is working on the Linux kernel.
>> The distros, numerous as they are, all run the same kernel.  Those
>> separate distros package the other applications and userland apps and
>> default configs.  The kernel itself isn't under separate forks, 
>> whereas
>> from what I understand the kernels for FBSD/NetBSD/OBSD are very
>> similar, share a lot of crossed-over code, but are not identical and
>> have separate "management" teams behind them.
>
> While each distros kernel is probably less different than a NetBSD vs.
> FreeBSD kernel, there still each different and a lot more of them.  I
> had to download and install a very specific kernel from redhat to use 
> on
> my debian system so I could use my wireless card.
>
> Also, some features can very wildly like IPSEC, some distros patch in
> FreeSWAN's stack, others the KAME stack.

Some vendors may be directly patching certain features, for the most 
part you shouldn't have to download a specific kernel for a feature to 
work in Linux unless you wanted it pre-packaged.  You should be able to 
update it by downloading the latest features, running the config to 
enable/disable what features you want compiled into the kernel (or as 
modules), then compile it.

When everything else breaks because the kernel version changed and 
something specific is linked to something that depends on something 
from the previous kernel's config, then you get to delve into some real 
fun.  But still, there is one source kernel, and unless the vendors did 
something proprietary (which I don't believe they're supposed to be 
allowed to do), you can compile your own kernel with your own set of 
enabled and disabled features from the Linux kernel source tree whether 
you're running Red Hat or Debian; it may break if that particular 
distro is depending on certain features as you have it configured and 
you fubar the new kernel's config, but it is still a matter of tweaking 
that configuration to get it working again.

I can't download the sources for NetBSD's kernel, compile it on my 
FreeBSD box, and have it work no matter how much tweaking I do to the 
configuration...if I'm wrong, please someone correct me.

I *think* (and I'm not following the story closely) what Linus was 
saying is that it's stupid to have so many people working in parallel 
on such similar cousins...NetBSD, OpenBSD, and FreeBSD.  They share 
code, they share info, but optimize for certain goals and have a lot of 
redundancy.  Linux's kernel is Linux's kernel, modified by individuals 
but still one big bulky source tree to work from.  Is one way less 
intelligent than others?  I don't know.  I never studied it :-)  All I 
know  is that in general, for most end users, it doesn't matter...if 
they stick with a particular distro and their sources and packages, 
then things tend to work.  Linux has fragmented so much that it's 
difficult to get a package aimed at distro A and have it work on distro 
B despite them both being Linux.  For the BSD's, it's pretty much 
always worked as if it's in the port tree, you have the package in 
question work.  Otherwise, work from sources.  And instructions to get 
a package working on *BSD pretty much always work whereas for Linux you 
may run Debian but find instructions for what you're trying to do 
written for an audience running Red Hat, so you need to translate 
things as you go along.



More information about the freebsd-questions mailing list