Kind request: fix your packages

Sean Middleditch elanthis at awesomeplay.com
Mon Oct 6 14:36:23 UTC 2003


On Mon, 2003-10-06 at 01:47, Jef Spaleta wrote:
>  Sean Middleditch wrote:
> > I tend to find them useful when explaining things, at least when talking
> > to people who can think abstractly
> 
> Then you need to do a better job of picking the illustrative educational
> tool for the audience at hand. Continuing to use analogy, when several
> people are having trouble following you, just shows you aren't really
> interested in communicating with the people responding to you..you're
> just here to poke fun at those with diminished mental capacity. So far
> it seems you have not done so well getting people on this list to
> understand your abstract explanations...if agreement is the measure you
> use for understanding. I think you should consider using interpretive
> dance from now when trying to deal in the abstract on this list.

In response, there's been less than 3 people to have trouble.  That
doesn't sound like a majority of people in the least.

The topic of people's language ability is about as far as we can get
from RPM packaging tho, so its probably best to drop the topic.  I'll
*try* to avoid metaphors when I can manage to find a different
expressive method.  Like, say, interpretive dance.  The list won't mind
mpeg attachments, will it.  ;-)

> 
> > Good point.  The difference is, a car comes with everything you expect a
> > car to have.  I don't buy a car without wheels and then go to add them. 
> > A computer, on the other hand, never comes with everything you want,
> 
> Everything you WANT in a computer....and everything that is EXPECTED to
> come with a computer are very different...and I'm amazed you mixed the
> two concepts up. Are you honestly saying that cars and planes and boats

Point.  Rather stretching the analogy a bit beyond my intent, tho.  A
car with its basic components does everything a car does.  A computer
with its basic components doesn't do anything useful at all, except let
you use software - which is the purpose of the OS.  A car has everything
needed to transport, a computer has everything to run software.  If you
went to Dell and bought a computer with no OS (somewhat equivalent to
car without an engine), you'd rather expect to be an expert to fix that
shortcoming, or hire an expert to fix it for you.  Your average user
doesn't do that, tho, she buys a computer with an OS (hopefully Fedora
or a derivative ;-) pre-installed - just like her car is ready to drive,
her computer is ready to run software.

> and trains and dump trucks and dragsters..and whatever other complex
> transportation machine you want to try to draw an analogy with, come 
> with everything that everyone could possibly want in such a machine.
> What is EXPECTED to come with a computer and what people WANT to come
> with a computer are different concepts. If you are going to continue to

True enough.

> use the analogy of cars and trucks that people buy...then the analogy
> leads to the idea that computers that people are buying should be coming
> equipped with the things most people want, and not the conclusion you
> are trying to beat us over the head with, that adding functionality to
> computers after the initial purchase should be end-user easy. If

Sort of - you're drawing too much similarity between the purpose of the
two tools.  The computer/OS only exists to run applications.  Just like
your car doesn't come pre-installed with friends to drive around with,
your computer may not have everything installed you expect to do *with*
the computer.  You have to get those in there yourself, first.  If
Fedora were to try to do that, the install set would be around 3,000 CDs
and the Free Software only rule would need to be chucked out the window.

> everyone who wanted cd players for their cars got them when they bought
> their car..there would be no after market for cd players or other car
> electronics. But yet there is, people buy these things for their cars
> and want them installed, but few people actually install things like cd
> players and electronic alarm systems themselves..and there is no real

These are usually functionality upgrades, not addons.  Upgrades should
also be about as effortless as they are already, tho, so its not too
much of problem.  Except when ugprades break compatibility (which would
be fixed by the same packaging/dev methods one would need for easy
installation).

> expectation that installing car electronics is end-user easy. Where DID
> the expectation that installing new software is an end-user easy task?

Generally from the "other OS" where the same users have been doing it
for years.  Maybe not an expectation you like them to have, but its one
they do have.  And its one they should have, imo - we try to make
everything else easy, why religiously avoid software management.

There's also again the problem that, unlike a car, a computer generally
*can't* come with everything they want.  A car is fairly simple in needs
- engine, wheels, necessary interior components, a couple frills like
media system, etc.  A car generally does one thing, driving, and just
tries to make that comfortable and safe.

A computer is not a single purpose tool, but a multi-tool.  It not only
does web browsing, but also does office work, and gaming, and media
creation, and communication, and personal information management, etc. 
And that's just some of the non-uber-geek things a computer can do.

In some cases, an "OS" can ship with those (when the OS is bloated and
over-stuffed with rarely used specialty software, like most Linux
distros including Fedora are), but in other cases, it can't - usually
because the necessary software wasn't in existence at the time of the OS
release, or the software can't legally be part of the OS.  If
Neverwinter Nights was Free Software and out when RH9 was released, I
wouldn't have been over at my friend's apartment last evening trying to
get the thing installed, since RH would probably have shipped the 3
extra CDs it needs.  (*that* software is a prime example of poor
installation/packaging engineering...)

In cases like the above, the user doesn't EXPECT the computer to have
it, since it didn't exist when they got the computer.  But they do WANT
it.  It can't come with the OS, so they have to install it afterwards. 
No amount of waiting for OS upgrades will fix that, either.

There are tons of other end-user oriented software that is in the same
boat - high-end music composition software, for example, media-gallery
software, interactive encyclopedias, etc.  Fedora would be insane to put
the multi-gigabyte large packages in its repository, and expect to carry
8 different versions for each minor revision of the core OS, due to poor
packaging habits and policies.

> 
> If the goal that you want is to have a computer be as easy to "use" as
> it is to "use" a car..well thats quite easy to accomplish.  It would be
> quite easy to create a computer that just ran like a car...by building a
> computer that was not easily upgradable with new software unless it was
> brought in to be serviced by an expert. Installing software is not using

Again, the "expert" can be the upgrading utility.  You're stretching the
metaphor beyond sanity at this point, tho.  The user isn't manually
replacing files and hand-editing config files, they're just clicking
update or install; i.e., saying, "hey installation/ugprade expert
thingy, could you take care of putting this software in?  thanks!"  That
utility has to actually be able to do that, tho, or its not much of an
expert.  It irritates me when I take something in for repair, and they
end up having to ship it out to the "real" experts, and I have to wait 2
weeks for it to get back.  Likewise, the user wants the "real" expert to
be there already, and not need to wait - the installer needs to be able
to do its job.  Which means it needs help in the form of well made
packages.

> a computer. Installing a cd player in your car is not using your car.
> But that's clearly not a solution to the problem you are prepared to
> accept. Because really, you aren't interested in just something that is
> easy to "use", you want something that is also easy to fix and to extend
> with new functionality. Your basic analogy doesn't speak to the real

Fix usually isn't that easy - if something breaks, the user generally
needs help, usually with a service department or a geek friend.  But
then, "fixing" broken software is an indication that you've gone
*against* what I'm arguing for by making broken packages and/or broken
applications.  The current case of trying to install one piece of
software and it invalidating half the system due to some silly little
dependency issue, which could've been corrected in a far less severe
fashion (i.e., properly updating a soversion in a library), is what I
want to avoid, not foster.  But, in the event something *does* break,
which is life, then expert repair will be needed, yes - that's
completely outside the scope of this discussion, tho.

When they want to install, say, some family tree software, which (back
to the analogy you're obsessing over) is more the equivalent of putting
a beagle with a bobbing head on the dashboard, there shouldn't be any
complexity involved.  Get it, put it in, use it, rejoice.

> nature of the problem you want solved. So stop trying to be cute by
> talking around the problem...talk about the problem instead.

I've rather gone over the problem itself in this thread already.  Most
applications, and most libraries, have absolutely no reason to be
different on each release of Fedora (or any distro, perhaps once some
more standardization sets in, be it thru LSB or an unofficial RPM
packaging policy).  Core system stuff, the "engine" in the car, is
another story - that's why we *have* OS upgrades, just like we buy new
cars.  The fluff on top, the little system-independent apps that just
work on their own, don't need the same engineer-complexity that the core
OS does.  Dependencies stay compatible or become co-installable, and
this will generally Just Work(tm) as is, save the (hopefully rare)
exceptional packages.

> 
> -jef"describing a computer as a tool box..and new software as a new
> wrench you just throw in...is insulting to the subtle complexity of the
> awe inspiring effort it takes to get the intricate layers of software
> that builds up a computer system to pretend to work together. A wrench,
> even if poorly made doesn't stand a good chance of interfering with how
> the other tools in the toolbox work...no matter how cute the toolbox
> analogy seems"spaleta

And if my word processor interferes with my email client, one might
(going back to analogy) assume I tossed in the wrench with an attached
monkey.  Apps are tools, the OS the toolbox itself; or perhaps the
workshop.  The OS exists to let me use the tools.  If either the tools
or the OS get in the way of each other, there is something inherently
wrong in the design of one or the other.  Either the OS is over-stepping
its bounds (breaking the UNIX philosophy, by trying to be more than just
the OS) or the app is poorly designed (trying to stick its fingers too
deeply in the OS, versus just working on its own).  In either case,
something needs to be fixed at the design level; /sbin/rmmod
wordprocessor or whatever other insanity would cause actual unavoidable
interference.  ;-)

-- 
Sean Middleditch <elanthis at awesomeplay.com>
AwesomePlay Productions, Inc.





More information about the fedora-devel-list mailing list