Gentoo Archives: gentoo-user

From: Mark David Dumlao <madumlao@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: Flexibility and robustness in the Linux organisim
Date: Tue, 01 Oct 2013 19:28:28
Message-Id: CAG2nJkNy=fRTz5GRKjBzasPGJ4psQMHuH6x1drg3wqtATq7+CQ@mail.gmail.com
In Reply to: Re: [gentoo-user] Re: Flexibility and robustness in the Linux organisim by Mark David Dumlao
1 On Wed, Oct 2, 2013 at 3:22 AM, Mark David Dumlao <madumlao@×××××.com> wrote:
2 > On Mon, Sep 30, 2013 at 2:31 PM, pk <peterk2@××××××××.se> wrote:
3 >> On 2013-09-30 00:04, Alan McKinnon wrote:
4 >>
5 >>> It's the general idea that you can leave /usr unmounted until some
6 >>> random arb time later in the startup sequence and just expect things to
7 >>> work out fine that is broken.
8 >>>
9 >>> It just happened to work OK for years because nothing happened to use
10 >>> the code in /usr at that point in the sequence. More and more we are
11 >>> seeing that this is no longer the case.
12 >>
13 >> So basically it wasn't broke before stuff started to use the code in
14 >> /usr. How isn't that breaking?
15 >>
16 >>> So no-one broke it with a specific commit. It has always been broken by
17 >>> design becuase it's a damn stupid idea that just happened to work by
18 >>> fluke. IT and computing is rife with this kind of error.
19 >>
20 >> If what you are saying is true then *everything* is broken "by design"
21 >> if something isn't available at boot time (may be /usr, may be /var or
22 >> whatever).
23 >
24 > Let me make an analogy between programs and recipes.
25 >
26 > You see, a program is a lot like a recipe. It's a set of instructions
27 > for a computer to follow. And if you have a recipe where if you follow
28 > it, and anyone that eats the food says it tastes good, then you have a
29 > good recipe.
30 >
31 > Let me make an analogy between a restaurant franchise and a
32 > distribution. You see, a franchise is a set of instructions for a
33 > restaurateur to follow. A lot of those instructions are recipes. They
34 > tell the restaurateur how to cook foods. But not all of those
35 > instructions are. Some of them are instructions on the ideal
36 > conditions to cook. Or some of them are instructions on how to get
37 > materials, or how to talk to customers, or how to keep employees
38 > happy. Now if you follow those instructions, and have the right
39 > resources, you get to create a restaurant. In the same way, a
40 > distribution can be thought of as a set of instructions. If you follow
41 > those instructions, and have the right resources, you get to install a
42 > lot of programs on a computer.
43 >
44 > If everybody that follows the instructions on a recipe creates a food
45 > that a lot of people think tastes great, then you have a great recipe.
46 > And if everybody that follows the instuctions on a franchise creates a
47 > restaurant that a lot of customers buy from and think the food is
48 > great, then you have a great franchise.
49 >
50 > Now let's say you have a franchise with very specific instructions to
51 > buy ingredients from the nearest organic store. Now for many
52 > restaurants that follow these instructions, they end up with great
53 > food that makes an okay amount of money. But in some cities the
54 > organic store doesn't have very good lettuce. Or the carrots are too
55 > expensive. Or there isn't any organic store at all, so the restaurant
56 > owner has to go to the next city and waste a lot of time and money to
57 > get eggs. So those restaurants fail. But for many restaurants the
58 > instructions work.
59 >
60 > Now the restaurant owners get together and complain that their
61 > restaurant isn't working. Why? they ask. It's because the head
62 > franchise added pizza to the menu! The menu was working fine without
63 > the pizza, but when they added pizza it became to expensive or
64 > impractical to turn a profit. They might say that the franchise was
65 > broken by the pizza. But many restaurant owners do fine by pizza. In
66 > fact for many of them it's their hottest and most profitable product.
67 >
68 > You see, the problem isn't the inclusion of a specific recipe. The
69 > addition of pizza didn't break the restaurant. Nor did the addition of
70 > burgers, or coke, or fries or whatever. The problem was with
71 > instructions on how to manage the recipe ingredients. In short, while
72 > they were practical for a lot of restaurant owners, they weren't
73 > practical _in general_. The instructions could be better improved by
74 > saying something like "buy ingredients from stores that give you this
75 > much return," or "buy ingredients from our approved suppliers since
76 > they give the best return on your money". If those instructions were
77 > given instead of just vaguely saying to purchase from an organic
78 > store, they'd have better control over the quality and profitability
79 > of the restaurants.
80 >
81 > And this is something like what is wrong with /usr. The individual
82 > programs may be good. Many parts of the system taken together may be
83 > good. But the instructions on how to manage programs going to /usr or
84 > to / is too vague. There is no definitive quality control behind it.
85 > Even if you follow the instructions, as best as you can, you will end
86 > up making stupid decisions for the distribution.
87 >
88 > Likewise with the franchise restaurants. The individual foods may be
89 > good. Many of the instructions on managing people, foods, customers,
90 > may be good. But the whole concept of "purchase from some a supplier
91 > with undefined levels of cost and quality" is NOT a good instruction.
92 > Maybe that works for a lot of restaurants, but as a general rule it
93 > doesn't work for all of them. If you follow it to the letter, you will
94 > end up making stupid decisions for the restaurant.
95 >
96 > And here's your problem. The franchise instructions aren't supposed to
97 > just "work for a lot of restaurants". They're supposed to work for all
98 > of them. Likewise with the distribution. the distribution packages,
99 > rules, settings, etc, aren't supposed to be tailored for your own
100 > personal setup. They're supposed to work for anybody for whom the
101 > distribution is a target.
102 >
103 > You might want to say that maybe udev, or maybe this driver, or maybe
104 > this service, or that hardware breaks FHS and therefore Gentoo. But
105 > that's the wrong way of looking at it. when the important parts of
106 > something being boot critical depends on the system.
107
108 Sorry, again I pressed something and sent too early.
109
110 In the same way, the important parts of "purchase from the nearest
111 organic store" depends on the store. Since it's too vague a
112 requirement, different restaurants will end up with different results.
113 Because of that, you can't predict when a new recipe with different
114 ingredients will make the restaurant unprofitable.
115
116 Same with /usr. Different systems will end up with different
117 requirements of stuff in /usr. Because of that, you can't predict when
118 a new program with different requirements will be placed in an
119 inappropriate location.
120
121 / and /usr being separated, without appropriate tools to handle
122 migration between the two, is bound to break stuff.
123 --
124 This email is: [ ] actionable [x] fyi [x] social
125 Response needed: [ ] yes [x] up to you [ ] no
126 Time-sensitive: [ ] immediate [ ] soon [x] none