Hacker News new | ask | show | jobs
by systemBuilder 2654 days ago
Operating systems reflect the cultures that created them. UNIX was a reaction to the enormous overcomplexity of Multics and other operating systems (OS/360) of its day. One file type, one record type ("THE BYTE"),one device driver model, NFA research (~1 pattern language vs zero in other operating systems) and a way to plug together pipeline programs on the command line not seen before.

UNIX succeeded precisely because it was powerful and yet so simple a person could read any part of it and change it.

However, the kernel of UNIX is now beyond ken for most developers precisely because the developers pursued complexity and marginal features for marginal benefits, something very common in European governments and a part of that culture.

The shell commands went from maybe 50kloc to millions of lines precisely because the Linux developers were desperate for contributions and let MIT bloatware people control that part of the source code, strangling Linux with MIT culture.

1 comments

Kernels do a lot now that they didn't used to. I'm not sure what marginal features you're talking about, can you share some with us? The ABI may look the same as it was in the 1990's but thing under the hood have gotten a lot smarter, and that smarts requires more code.

As for userland.. Even OpenBSD, my personal preference of operating system and one which is known for its 'lean'ness of base userland has 10x this kloc in /bin/ and /usr/bin:

  # find bin usr.bin | egrep '\.c$|\.h$' | xargs wc -l | tail -1
    689562 total
Coreutils, by comparison:

   coreutils$ find . | egrep '\.c$|\.h$' | xargs wc -l | tail -1
     91991 total
(The difference is because coreutils doesn't contain everything obsd's /bin and /usr/bin does I suppose, openssh, tmux etc)

Either way, that's not a mad amount of code imo... Which parts of this are 'MIT bloatware' ?