A couple of months ago I was sitting in a north Sydney pub cradling
a beer with the ineluctable
jdub, the decidedly unparsimonious
rusty and (if I’m accurately remembering who’d left and who
hadn’t by this point) the irremediable
mrd. As you might imagine,
these sort of conditions are a perfect breeding ground for a particular
type of discussion, and with Jeff’s
departure from Canonical
not that long beforehand accompanied by the then ongoing DPL elections,
talk turned to the future of Debian, and in particular Jeff’s views on
that future.
Obviously more than a few weeks have passed since then, so please
imagine this as a dream sequence with a stylish TV fade-in accompanied
by appropriate fine print caveats about paraphrasing and the perfidy
of memory.
I think it’s fair to sum Jeff’s main point about the future of distros
as one of “disintermediation” – that is removing, or at least minimising,
the barriers between the authors and users of a piece of software, and
in general getting closer and quicker collaboration between everyone
involved and interested in developing and maintaining that software.
Which means things like trying to remove the line between the Debian bug
tracker and upstream bug trackers entirely, so that Debian users end
up talking directly with the upstream maintainers, rather than having
a Debian maintainer relaying information between the two. It also means
making the path for updated packages to get to users quicker and smoother
– so that as soon as a developer commits a new version of the software
to version control, the next time users of that software “apt-get update”
they see it, download it, and start using it. Or at least, they do if
they’ve chosen to follow the bleeding edge.
Jeff had a bunch more ideas in that vein – like not bothering with a
central archive, but having users collect the packages they’re interested
in from upstream sites all over the place, standardising, reducing
or removing the “control” information for packages so that creating
the correct packages for 80% of free software (that uses ./configure
in the usual way, eg) was a complete no-brainer, and perhaps viewing
distributions not so much as the gatekeepers and central players of the
open source world, but perhaps more as systems of providing resources,
assistance and opportunities to software authors who deal with their
users directly – and in so doing have more of an opportunity for their
users to actively participate in the project’s development, and have
more feedback (and control) of how their project is perceived by its users.
I’m not sure if I’m doing it justice – it’s a pretty radical notion,
and as an upstream-type hacker, Rusty was pretty enthralled by it. As
a distro-type hacker, on the other hand, I’d have to say I was daunted:
getting rid of the middleman here means getting rid of Debian, which I
must admit I have something of an attachment for… and yet, in principle
at least, I can’t see anything but good sense in the idea – getting
users and developers interacting more closely is important to improving
the free software community, and while distros have historically been a
force for making free software more accessible to people, it’s entirely
possible we can now make it even more accessible now by, in some sense,
doing away with distros. And if that’s the case, then we definitely
should, because it’ll benefit both users and developers of free software,
which is what we’re all about.
On the other hand, distributions (at least currently) aren’t just
about collecting and compiling software which could be automated; it’s
also about integrating it, standardising interactions between software,
and in some cases acting as a buffer between users who want to use a bit
of software and developers who for one reason or another don’t actually
want to deal with those users (perhaps due to lack of a shared language
or political or philosophical disagreements).
I think it’s also pretty interesting to view Gentoo through this light;
that is, not so much as a distro that makes you compile everything from
source, but rather as a distro that gives its users a system based
on exactly what the developers produce, with the addition of only a
comparably tiny amount of Gentoo-derived content. Maybe it’s just me,
but Gentoo sounds a lot more interesting to me in that light.
So is that a foretaste of the future of binary free software
distributions too? There’s a lot of things that would stand in the way of
Debian managing that, but so far all I can think of is a thousand problems
that should probably be solved anyway, and not even one that can’t.
I think, btw, that jdub had been reading
Accelerando
(also available as a
Creative Commons licensed ebook) somewhat
concurrently with thinking about this stuff, so perhaps it should be
called “Distributions 2.0” or something. Accelerando’s a crazy-awesome
near-future/singularity book by Charles Stross, who happens to live in
the city that will host the forthcoming DebConf 7…