Re: Upgrading without central packaging

[prev] [thread] [next] [lurker] [Date index for 2005/04/23]

From: peter (Peter da Silva)
Subject: Re: Upgrading without central packaging
Date: 15:50 on 23 Apr 2005
> I think you miss the point.  I share Juerd's hate for the Mac because I, too,
> am I Debian user.  I see it even clearer because I use fink which gives me
> apt for *some* of my Mac software.  Another perfect example is the CPAN
> shell for Perl modules vs, say, keeping your Java libraries up to date.

Keeping MY java libraries up to date involves clicking on "Software Update"
once in a while.

CPAN is another example of a very powerful solution to a problem that should
be avoided. I have a lot of hate for the way CPAN works: it's aggressive, and
assumes it's the whole world. It forces you to stay up to date by taking
over. Whenever I've used it it's pulled down layers and layers and layers
of Perl scripts that depend on Perl scripts that depend on Perl scripts, most
of which dependencies aren't really necessary.

Dependencies are bad. Tools to resolve dependencies are only good when the
dependencies are necessary. Tools to MANAGE dependencies and let you see
what they are so you can avoid them when you don't need them are rare. Hell,
it's often hard to even SEE what the dependencies are, particularly in open
source software.

So what I see is a perl script to do something useful, the guy who used it
wanted to do something and there was a CPAN module that did a lot of other
stuff but also seemed to be a bit easier way of doing whatever he wanted than
writing a couple dozen lines of code himself. So he uses it. He never sees
that that module pulls in 20 others, and then it says "SillyJokes::Unicorns
needs Perl5.0003.34 and you're using perl5.0003.16" and the next thing I
know it's pulled down perl5.0004.12, and built that...

HATE

So I go in to the original program, and find that it's using some XML parser
to grep a fixed format web page for a chunk of text that doesn't even include
any HTML, and I replace it with a regexp, and the resulting code is 20 times
faster.

HATE

CPAN is a snare for the programmer. It's hiding great nests of evil that should
not exist.

> Its not about making a single piece of software easy to install, that's
> been done, its about making the entire system easy to keep up-to-date.
> Once you can easily check what's up-to-date you no longer have people using
> ancient, buggy versions of software just because they don't want/care about
> doing the periodic chore of manually checking all their software.

That's a good thing, but it's not the only thing.

Most commercial operating systems and many applications have mechanisms to
automatically update themselves. I ALWAYS turn these off sooner or later,
because all too often I have had the "new, improved" version break things.

Developers do stupid things, sometimes. They remove functionality. They break
functionality they don't care about. They change configuration files. They
don't necessarily want the same thing out of their software that I do.

Would you want to be automatically updated to something like Netscape 6?
What if you want to keep the functionality that was dropped in later versions
of Gnomeapps, and you're not a geek who can edit the config files?

> "Update all the software on my machine" should be one command.

It is on FreeBSD. I never use it.

> No complex packaging system or registry is required because Apple already 
> has such a system, the .app bundle.  It could have been something as simple 
> as an extra file in the .app directory describing where to check for and 
> download the latest version.

The version number is already there in every .app directory. There's already
third party tools that promise to take care of you, using their own databases
or the ones at MacUpdate or Versiontracker. I think Macupdate sells one.

Apple has made a painful task trivial, without forcing people like me to work
like people like you, AND there's software for people like you. It's a MUCH
less hateful solution than Debian or CPAN or even FreeBSD Ports.

There's stuff above here

Generated at 02:00 on 03 May 2005 by mariachi 0.52