Note: this is a somewhat opinionated writing, but I can back up all my statements with evidence (and I will). I also want to point out that my post isn't necessarily meant to talk down on Linux (hence not mentioning it in the topic), but after seeing all this I did feel like outing a critical comment. The reason I do so here... well, why not?
SO yeah... I got into an interesting discussion about operating systems and the topic diverted a little bit from Windows and shifted to Linux and FreeBSD. Where I eventually also pointed out that you can't really compare those because as we all know Linux is mostly a kernel with a userland build around it.
But then we got into a topic which has always fascinated me: documentation. In my opinion documentation is the key asset which makes professionals stand out from the rest. This opinion is also what fuels my drive and admiration for the so called modeling languages but that's an entirely different subject (wanted to mention this because it also got into the discussion I had).
So documentation...
As we know Linux is mostly a kernel which 'starts' at kernel.org. So I went to the website to look for documentation. In specific I'm looking for instructions which explain how to compile the kernel. If you follow their FAQ you'll eventually be pointed to 2 websites: Kernel newbies and the well established Linux Documentation Project (tldp.org).
When you look at kernel newbies (what a name...) then you'll quickly notice that most information evolves around kernel hacking / developing. I started looking at the 'Kernel documentation' section where I found what I was looking for: WorkstationKernel, I quote: "how to set up a workstation kernel". Yeah... See for yourself => an empty page (all it has is an advertisement) containing not much more but "[TBD]". How exactly does this help me build a kernel?
Then I found this link, for people "who want to write and understand the kernel". Unfortunately no link in that list points you to the instructions to actually configure and build the kernel. "The Linux kernel" (hosted on tldp.org) comes close and it's said to also target beginners. It does address some specific issues such as the kernel directory structure and general hierarchy, but no where does it tell you how to actually configure and build it. Mind boggling.
And then I started noticing the main concern which I'm trying to address here.
I scrolled down in the previous list of kernel documentation ("who want to write and understand the kernel") and found the book section which also mentions dates. The most recent book (aka online article) in there dates from 2004. What. the. heck.?
But first... Going back to kernel newbies I scrolled down and finally found what I was looking for: "* Compiling the Linux kernel or OS News Article". Finally I'm getting some results. Well, that is to say... the first link gives me this:
Onto the second link.. Expecting to see some kind of OS news article (Linux review) I finally discovered what I was looking for. Just too bad that the article dates from 2001, discusses kernel 2.4.17 (current is 4.13 / 4.14). The reason I mention this is because this article fails to mention that you always have a directory called /usr/src/linux which is used by specific device drivers. Unfortunately this article pre-dates that current standard.
Surely this had to be a fluke right? Just 2 silly examples which gave me a completely wrong impression of the current state of Linux documentation.
Unfortunately (and I really mean that!) not so much.
I started to dig around tldp.org some more and I'm honestly shocked to see the current state of the official Linux documentation. It's a ruin, outdated, obsolete, inaccurate and seemingly totally unmaintained pile of bogus.
Here is a link to "recent TLDP updates" which has 1 entry: the "Unix-and-Internet-Fundamentals-HOWTO" dated from the 5th of January, 2015.
Or how about a nice list of Linux guides, where some articles even go back to the last century. To add insult to injury: The "Linux administrators security guide" was removed from this list at the request of its author because "book is now more "dynamic"". Here is the link. It may be "more dynamic" but would you trust a security guide from 2001 which predates pretty much every new commonly accepted security standard there is today?
Now... sure: sometimes it really isn't much of a problem to have dated sources of information. I'm definitely not trying to claim otherwise. But how the heck can anyone in their right mind call this even remotely professional? Wasn't Linux a professional operating system / environment? This is its official documentation project, the de-facto source for Linux information.
So yeah....
Next time you're having a discussion with someone about the differences between Linux and FreeBSD and the topic happens to shift towards professionalism then don't bother yourself with trying to raise arguments. Just point out the abominable state of the official Linux Documentation Project and I think you've made a point which - at the time of writing - cannot be rebutted in any way, shape, or form.
After all... This is the collection of FreeBSD documentation and you'll notice that it does get its maintenance. The newbie documentation does not contain missing links, outdated documentation and non-existing information (though accidents can always happen).
And for the record: I'm not gloating here, I'm merely shaking my head in disbelief. This isn't a story about how "superior" or "inferior" either one is. This is a sad story about a certain group of people who claim to be IT professionals, yet when you take the effort to look a little further beyond the flashy websites you'll see the ugly truth showing up.
If you claim to be a professional, then you should also pay attention to the 'after math'. And like it or not but documentation is a big part of that.
SO yeah... I got into an interesting discussion about operating systems and the topic diverted a little bit from Windows and shifted to Linux and FreeBSD. Where I eventually also pointed out that you can't really compare those because as we all know Linux is mostly a kernel with a userland build around it.
But then we got into a topic which has always fascinated me: documentation. In my opinion documentation is the key asset which makes professionals stand out from the rest. This opinion is also what fuels my drive and admiration for the so called modeling languages but that's an entirely different subject (wanted to mention this because it also got into the discussion I had).
So documentation...
As we know Linux is mostly a kernel which 'starts' at kernel.org. So I went to the website to look for documentation. In specific I'm looking for instructions which explain how to compile the kernel. If you follow their FAQ you'll eventually be pointed to 2 websites: Kernel newbies and the well established Linux Documentation Project (tldp.org).
When you look at kernel newbies (what a name...) then you'll quickly notice that most information evolves around kernel hacking / developing. I started looking at the 'Kernel documentation' section where I found what I was looking for: WorkstationKernel, I quote: "how to set up a workstation kernel". Yeah... See for yourself => an empty page (all it has is an advertisement) containing not much more but "[TBD]". How exactly does this help me build a kernel?
Then I found this link, for people "who want to write and understand the kernel". Unfortunately no link in that list points you to the instructions to actually configure and build the kernel. "The Linux kernel" (hosted on tldp.org) comes close and it's said to also target beginners. It does address some specific issues such as the kernel directory structure and general hierarchy, but no where does it tell you how to actually configure and build it. Mind boggling.
And then I started noticing the main concern which I'm trying to address here.
I scrolled down in the previous list of kernel documentation ("who want to write and understand the kernel") and found the book section which also mentions dates. The most recent book (aka online article) in there dates from 2004. What. the. heck.?
But first... Going back to kernel newbies I scrolled down and finally found what I was looking for: "* Compiling the Linux kernel or OS News Article". Finally I'm getting some results. Well, that is to say... the first link gives me this:
Note: this is on tldp.org, the official Linux documentation projectThe Kernel-HOWTO has been removed because it don't fitted the LDP standard.
If you qualify for writing a replacement, please contact us, we need you
Onto the second link.. Expecting to see some kind of OS news article (Linux review) I finally discovered what I was looking for. Just too bad that the article dates from 2001, discusses kernel 2.4.17 (current is 4.13 / 4.14). The reason I mention this is because this article fails to mention that you always have a directory called /usr/src/linux which is used by specific device drivers. Unfortunately this article pre-dates that current standard.
Surely this had to be a fluke right? Just 2 silly examples which gave me a completely wrong impression of the current state of Linux documentation.
Unfortunately (and I really mean that!) not so much.
I started to dig around tldp.org some more and I'm honestly shocked to see the current state of the official Linux documentation. It's a ruin, outdated, obsolete, inaccurate and seemingly totally unmaintained pile of bogus.
Here is a link to "recent TLDP updates" which has 1 entry: the "Unix-and-Internet-Fundamentals-HOWTO" dated from the 5th of January, 2015.
Or how about a nice list of Linux guides, where some articles even go back to the last century. To add insult to injury: The "Linux administrators security guide" was removed from this list at the request of its author because "book is now more "dynamic"". Here is the link. It may be "more dynamic" but would you trust a security guide from 2001 which predates pretty much every new commonly accepted security standard there is today?
Now... sure: sometimes it really isn't much of a problem to have dated sources of information. I'm definitely not trying to claim otherwise. But how the heck can anyone in their right mind call this even remotely professional? Wasn't Linux a professional operating system / environment? This is its official documentation project, the de-facto source for Linux information.
So yeah....
Next time you're having a discussion with someone about the differences between Linux and FreeBSD and the topic happens to shift towards professionalism then don't bother yourself with trying to raise arguments. Just point out the abominable state of the official Linux Documentation Project and I think you've made a point which - at the time of writing - cannot be rebutted in any way, shape, or form.
After all... This is the collection of FreeBSD documentation and you'll notice that it does get its maintenance. The newbie documentation does not contain missing links, outdated documentation and non-existing information (though accidents can always happen).
And for the record: I'm not gloating here, I'm merely shaking my head in disbelief. This isn't a story about how "superior" or "inferior" either one is. This is a sad story about a certain group of people who claim to be IT professionals, yet when you take the effort to look a little further beyond the flashy websites you'll see the ugly truth showing up.
If you claim to be a professional, then you should also pay attention to the 'after math'. And like it or not but documentation is a big part of that.