On Wed, Oct 2, 2013 at 3:22 AM, Mark David Dumlao <madum...@gmail.com> wrote:
> 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.

Sorry, again I pressed something and sent too early.

In the same way, the important parts of "purchase from the nearest
organic store" depends on the store. Since it's too vague a
requirement, different restaurants will end up with different results.
Because of that, you can't predict when a new recipe with different
ingredients will make the restaurant unprofitable.

Same with /usr. Different systems will end up with different
requirements of stuff in /usr. Because of that, you can't predict when
a new program with different requirements will be placed in an
inappropriate location.

/ and /usr being separated, without appropriate tools to handle
migration between the two, is bound to break stuff.
-- 
This email is:    [ ] actionable   [x] fyi        [x] social
Response needed:  [ ] yes          [x] up to you  [ ] no
Time-sensitive:   [ ] immediate    [ ] soon       [x] none

Reply via email to