Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's a different model of development, leading to different expectations.

BSD ties the kernel and the software on top of it together pretty heavily, creating the expectation that the documentation should cover all of it.

Linux is meanwhile kernel and software kept separated, meaning that the documentation usually winds up assembled from separate tools, each with their own standards.



Yes, BSD is a single coherent system but so are many Linux distros. It's just that we've come to accept bad documentation as the norm for Linux-based tools. In my experience there's several types of problems that are very common for Linux tools:

* Extremely short documentation. Everyone has seen these, a tool where the man page exists but provides almost no actual information.

* Unfriendly reference-type documentation. GNU programs are often guilty of this, coreutils certainly comes to mind. On the upside, it's usually comprehensive. But it's not good - it's a short description followed by a sequential list of every option, so the functionality is described in detail but there are no usage examples, no list of the most common options, or anything like that. Great reference, poor usage documentation.

* Too much info about ancient systems or historical details. Yes, it's great that many of these utilities are portable and can run on different systems or work with files from different systems. The man pages for zip/unzip mention MS-DOS, Minix and Atari systems, while defining the zip format as "commonly found on MS-DOS systems". The man page for less explains that it's a program "similar to more(1)" - completely useless info now - and mentions that it has some support for hardcopy terminals, again information that's not important enough for the first paragraph in 2025.

* Poor keywords in the description. There's the theoretically useful apropos command. My Xorg wouldn't start so I tried to remember how to start my wifi up. apropos 'wlan|wi-fi|wifi|wireless' doesn't mention nmcli, which I was thinking of, though it does at least provide the much more difficult iw command.

* Technical project-specific jargon that makes it easy to find the solution - if you already know it, that is. For example, Xorg documentation generally doesn't use the word "resolution". It's not in the xrandr or Xserver man page, and in the xorg.conf page it's only a reference to virtual screens. Because X uses the term screen size. That's fine, understandable and even accurate but most people would first search for 'resolution'.


I for one really enjoy the historical anecdotes you get in the "NOTES", "PORTABILITY" or even "BUGS" sections. But I do realise that my context is mostly recreational, work doesn't really require glueing POSIX commands together.


Yep. There is no "Linux Operating System." There's the Linux Kernel, and that kernel is used in tons of different OSes. It's sounds like a small nitpick but its a huge deal and a common misconception for those outside of the Linux world anytime a topic of unifying something in the Linux world comes up.

A shared or central wiki sounds nice, but could quickly end up too messy. Arch having its own makes sense, as in the case of Linux - the distro is the operating system. Arch is a different OS from Fedora, which is a different OS from Ubuntu, etc. Sure, there's a lot of overlap but they are each their own unique OS.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: