Testing the bleeding edge
[Posted March 1, 2006 by corbet]
There is nothing like the joy of running a development distribution.
Nowhere else can one find the same combination of huge updates (it's
amazing how often the X bitmap fonts seem to change), unstable software,
broken dependencies, and, for extra spice, the occasional blown-away
configuration file. Whether it's called sid, Dapper, Rawhide, Cooker, or
something else, a development distribution is a sure way to learn - usually
at inopportune times - about what is happening at the leading edge of the
development community.
Development distributions are also a good way to keep track of what
developers and packagers are doing. A development distribution is alive,
forever changing, forever interesting. It is a constant reminder that
Linux and free software are a process, not a product. When compared to the
vitality of a development distribution, stable releases seem flat and boring.
These distributions exist for a reason: having more people testing the
system will help the creation of more stable releases. So developers want
to have outsiders running the development version. But those developers
might, perhaps, prefer to do without users who don't know what they are
getting into. Consider, for example, this
note sent to the fedora-testers list:
I think somewhere along the way netizens appear to think that
Rawhide is stable (or at least for public consumption). I'd think
we need to discuss how we can provide more constructive information
for developers and send a clear message to non-testers that Rawhide
(a.k.a FC5 ) is not for general use.
Another participant responded with this
suggestion:
I can scream that the development tree will eat your children and
destroy not only your data but your neighbor's data until I'm blue
in the face... but for people who don't want to hear the
warning.. they will choose not to hear the warning... and the only
way for them to learn is to actually have rawhide eat their
data. So i say.. every week there should be a deliberate package
update in the development tree which destroys data. Thrown into the
package pool at random, with an appropriate changelog entry so
those of us who read the daily rawhide reports will know exactly
which package to exclude.
One can safely assume that this idea was offered in a tongue in cheek
mode. But the discussion as a whole does raise a question: who should be
running development distributions, and for what purposes?
Development releases routinely come with warnings about their explosive
nature and admonitions not to use them for any serious purpose. But the
fact is that the only way to find the problems with these distributions is
to use them for serious purposes. There is little to be learned by putting
the distribution on a test box, noting that the installer works, and
admiring the pretty desktop graphics. It's only through serious use that
one discovers, say, that the web server does not handle load as well as
before, that the compiler produces bogus code in certain situations, that
emacs feels pretty today, or
that the Wesnoth sound effects have stopped working. These are all things
which are best discovered before the release is shipped; having to put
together Wesnoth patches in a hurry to satisfy a service contract to a
large corporation is just a real pain.
So it is important to have "real users" working with development
distributions; those are the users who will come up with many of the
important bug reports. Discouraging them can be a counterproductive thing
to do. On the other hand, these users do need to know what they are
getting into. A development distribution will bite back, sooner or
later, and it's important to be able to put the pieces back together when
that happens. Testers who are not prepared when disaster strikes will not,
in the long run, be helpful to the development process.
This aspect of the free software development process is not often talked
about. But, without widespread testing in real-world environments,
software will not stabilize as well as it should. Proprietary companies
run closed beta programs to obtain this testing; the free software world,
for the most part, has moved away from that mode in favor of open
development repositories. Open development systems are a good thing, they
allow a wide variety of participants to try out the software. But these
development releases are not for everybody; finding the right way to
communicate that fact may be an ongoing challenge.
(
Log in to post comments)