On Mon, Sep 30, 2013 at 2:31 PM, pk <pete...@coolmail.se> wrote:
> On 2013-09-30 00:04, Alan McKinnon wrote:
>
>> It's the general idea that you can leave /usr unmounted until some
>> random arb time later in the startup sequence and just expect things to
>> work out fine that is broken.
>>
>> It just happened to work OK for years because nothing happened to use
>> the code in /usr at that point in the sequence. More and more we are
>> seeing that this is no longer the case.
>
> So basically it wasn't broke before stuff started to use the code in
> /usr. How isn't that breaking?
>
>> So no-one broke it with a specific commit. It has always been broken by
>> design becuase it's a damn stupid idea that just happened to work by
>> fluke. IT and computing is rife with this kind of error.
>
> If what you are saying is true then *everything* is broken "by design"
> if something isn't available at boot time (may be /usr, may be /var or
> whatever).

Let me make an analogy between programs and recipes.

You see, a program is a lot like a recipe. It's a set of instructions
for a computer to follow. And if you have a recipe where if you follow
it, and anyone that eats the food says it tastes good, then you have a
good recipe.

Let me make an analogy between a restaurant franchise and a
distribution. You see, a franchise is a set of instructions for a
restaurateur to follow. A lot of those instructions are recipes. They
tell the restaurateur how to cook foods. But not all of those
instructions are. Some of them are instructions on the ideal
conditions to cook. Or some of them are instructions on how to get
materials, or how to talk to customers, or how to keep employees
happy. Now if you follow those instructions, and have the right
resources, you get to create a restaurant. In the same way, a
distribution can be thought of as a set of instructions. If you follow
those instructions, and have the right resources, you get to install a
lot of programs on a computer.

If everybody that follows the instructions on a recipe creates a food
that a lot of people think tastes great, then you have a great recipe.
And if everybody that follows the instuctions on a franchise creates a
restaurant that a lot of customers buy from and think the food is
great, then you have a great franchise.

Now let's say you have a franchise with very specific instructions to
buy ingredients from the nearest organic store. Now for many
restaurants that follow these instructions, they end up with great
food that makes an okay amount of money. But in some cities the
organic store doesn't have very good lettuce. Or the carrots are too
expensive. Or there isn't any organic store at all, so the restaurant
owner has to go to the next city and waste a lot of time and money to
get eggs. So those restaurants fail. But for many restaurants the
instructions work.

Now the restaurant owners get together and complain that their
restaurant isn't working. Why? they ask. It's because the head
franchise added pizza to the menu! The menu was working fine without
the pizza, but when they added pizza it became to expensive or
impractical to turn a profit. They might say that the franchise was
broken by the pizza. But many restaurant owners do fine by pizza. In
fact for many of them it's their hottest and most profitable product.

You see, the problem isn't the inclusion of a specific recipe. The
addition of pizza didn't break the restaurant. Nor did the addition of
burgers, or coke, or fries or whatever. The problem was with
instructions on how to manage the recipe ingredients. In short, while
they were practical for a lot of restaurant owners, they weren't
practical _in general_. The instructions could be better improved by
saying something like "buy ingredients from stores that give you this
much return," or "buy ingredients from our approved suppliers since
they give the best return on your money". If those instructions were
given instead of just vaguely saying to purchase from an organic
store, they'd have better control over the quality and profitability
of the restaurants.

And this is something like what is wrong with /usr. The individual
programs may be good. Many parts of the system taken together may be
good. But the instructions on how to manage programs going to /usr or
to / is too vague. There is no definitive quality control behind it.
Even if you follow the instructions, as best as you can, you will end
up making stupid decisions for the distribution.

Likewise with the franchise restaurants. The individual foods may be
good. Many of the instructions on managing people, foods, customers,
may be good.  But the whole concept of "purchase from some a supplier
with undefined levels of cost and quality" is NOT a good instruction.
Maybe that works for a lot of restaurants, but as a general rule it
doesn't work for all of them. If you follow it to the letter, you will
end up making stupid decisions for the restaurant.

And here's your problem. The franchise instructions aren't supposed to
just "work for a lot of restaurants". They're supposed to work for all
of them. Likewise with the distribution. the distribution packages,
rules, settings, etc, aren't supposed to be tailored for your own
personal setup. They're supposed to work for anybody for whom the
distribution is a target.

You might want to say that maybe udev, or maybe this driver, or maybe
this service, or that hardware breaks FHS and therefore Gentoo. But
that's the wrong way of looking at it. when the important parts of
something being boot critical depends on the system.
-- 
This email is:    [ ] actionable   [ ] fyi        [ ] social
Response needed:  [ ] yes          [ ] up to you  [ ] no
Time-sensitive:   [ ] immediate    [ ] soon       [ ] none

Reply via email to