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