The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Rob Pike <>
To: Dave Horsfall <>
Cc: The Eunuchs Hysterical Society <>
Subject: [TUHS] Re: Porting the SysIII kernel: boot, config & device drivers
Date: Sun, 1 Jan 2023 12:02:12 +1100	[thread overview]
Message-ID: <> (raw)
In-Reply-To: <>

[-- Attachment #1: Type: text/plain, Size: 2939 bytes --]

A theory about organizations, inspired by OpenBoot.

As a company grows, which capitalism says it must, jobs change from
something someone needs to do from time to time, to something a person is
hired to do, to something a whole organization does. There are countless
examples, but OpenBoot serves as an illustration. Like some others on this
list, I'm sure, I've written a number of boot ROMs over the years, in the
service of a project for which a bootable system was a prerequisite. Not
hard, a day or two's work followed by some maintenance. So when I first saw
a major software project in the form of a boot ROM, which may well have
been my first taste of OpenBoot (it was a Sun thing, I'm pretty sure) I was

But over time I've come to understand. As Sun grew (if I have the wrong
company, I apologize, but it's endemic in any industry, and if I have the
details of OpenBoot wrong, ditto), for various reasons the maintenance of
the boot ROM became more time consuming, until eventually it became
someone's full job, and then the boot ROM department's job. But allocating
people's time to tasks is an inexact process, plus once one's full focus
becomes boot ROMs, one's head fills with ideas. If one works on boot ROMs,
every problem one thinks about becomes one the boot ROM can solve or at
least help. (This particular disease is a major infection for compiler
teams.) And so the boot ROM grows and grows and grows, accumulating
features that are fun for the team to work on, but in the high-altitude
view not really worth it. As I said, though, it's really about allocating
people's time. "I have nothing to do at the moment, why don't I put a FORTH
interpreter into the boot ROM? And then I'll make it an industry standard.
Anyway it's my job to do boot ROMs so what else should I do now?" But you
wouldn't have done that if the boot ROM stayed at the level of the stack it
should have, doing the minimum necessary to get the operating system up and
running to let it do the heavy lifting. I never needed a FORTH interpreter
in my boot ROM. Maybe some thought they did but did they really? And was it
the right use of resources to put it there?

This is what happens in organizations. Employee performance evaluation at
Google followed this same arc until the need to keep the organization
responsible busy generated a process that placed a staggeringly expensive
tax on the rest of the company, to the point that a secondary tax was paid
in trying to figure out how to deal with the primary tax.

This then is my theory of capitalism: Things grow until they break into
pieces that must each be fed individually, triggering more growth that
eventually become tumors that sap the strength of the organization. Small
companies can do well because they haven't grown big enough yet to face
this problem. Not an original observation, but perhaps no one has used
OpenBoot as its exemplar before.

Happy New Year.



[-- Attachment #2: Type: text/html, Size: 4203 bytes --]

  reply	other threads:[~2023-01-01  1:03 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-30 18:25 [TUHS] " Paul Ruizendaal
2022-12-30 18:56 ` [TUHS] " Steve Nickolas
2022-12-31 14:59 ` Dan Cross
2022-12-31 19:08   ` Clem Cole
2022-12-31 21:10     ` Dan Cross
2022-12-31 21:39       ` Clem Cole
2022-12-31 21:52         ` Dan Cross
2022-12-31 23:25         ` Dave Horsfall
2023-01-01  1:02           ` Rob Pike [this message]
2023-01-01  1:16             ` George Michaelson
2023-01-01  1:40               ` Larry McVoy
2023-01-01  2:29                 ` Warner Losh
2023-01-01  1:24             ` Larry McVoy
2022-12-31 22:38       ` Theodore Ts'o
2022-12-31 22:55         ` Marc Donner
2023-01-01  3:55         ` Dan Cross
2023-01-01 20:29         ` Paul Ruizendaal
2023-01-01 21:26           ` G. Branden Robinson
2023-01-01 21:31             ` Rob Pike
2022-12-31 21:11     ` Paul Ruizendaal
2022-12-31 20:02   ` Paul Ruizendaal
2022-12-31 21:04     ` Warner Losh
2022-12-31 21:41     ` Dan Cross
2023-01-01  3:08     ` Warner Losh
2023-01-01  4:40       ` Dan Cross
2023-01-01  8:05     ` Jonathan Gray

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).