Make Ubuntu a simple “Gateway” Distribution, make switching to something else easy
Sorry for having to post this here but Brainstorm wouldn\‘t let me
enter the whole text :(
This is not an idea to be implemented
now, or for Intrepid, so please don\’t vote for it as such, instead
think of it as a goal which will hopefully be achievable at some point
(most likely with some clever hacks).
My idea is simple,
literally.
Some background:
There are many, many
balancing acts to perform as a distribution. The number of included
applications versus the space needed for them. New and interesting
software versus potential instability. The problem with these kinds of
decisions is that they have to be made, but different people want
different things.
Ubuntu is descended from Debian. Before
Ubuntu, Debian was a huge collection of packages on
CDs/DVDs/line/whatever in which the only distinction given was
“neccessary” or “unneccessary”. Neccessary packages are those packages
which are needed to have a working package manager. Once their
installation was fulfilled, Debian\’s installation was finished, leaving
the user with a shell prompt from which they can apt-get anything else
they might like. Ultimate flexibility, but ultimately unapproachable
(well, except when compared to Gentoo maybe).
Ubuntu\’s
installation, on the other hand, specifically installed many packages
deemed unneccessary, such as a graphics server, desktop environment,
office tools, web browser, music player, etc. These choices took away
flexibility but they made the system a lot more approachable: after
installation the user is presented with a largely approachable and
intuitive interface (a GUI is subdivided and organised and can thus be
explored, whilst a CLI has no depth as everything is the same distance
away (a command) and can arguably only be used by someone who knows the
commands they want, or else be overwhelmed by everything at once). They
gave Debian a face. Not only did these decisions force unneccessary
packages onto the system, they also forced certain choices of those
unneccessary packages (Gnome over
KDE/Fluxbox/GNUStep/Enlightenment/etc., Firefox over
Epiphany/Konqueror/Galeon/Dillo/etc.)
This could be done
since Ubuntu had no user base and could therefore install anything and
be judged on the merits of that decision, rather than having a
protracted argument with current users over those choices and ending up
with a system that some of their users didn\’t like
anymore.
Taking the step of making these decisions for the
user made Ubuntu phenomenally popular. Distributions which had already
been installing graphical desktops by default such as RedHat, Mandriva,
etc. were overtaken by a Debian installation, which had existed in
exactly the same form for a decade with the only difference being the
replacement of Debian\’s “Take what you want” with Ubuntu\’s “Try
these”. Ubuntu has become extremely popular amongst the Free Software
community. It is used by the newcomers who don\’t know anything else,
there are huge numbers of people who are using Free Software around the
world only because of Ubuntu, and it is used by the professional kernel
hackers who want their computer up and running so they can get to work
reprogramming it.
The problem:
The combination of
Ubuntu\’s ease of use, the open and transparent nature of its
development, the huge number of users and the
nationalism/patriotism/etc. and resistance to change inherent in most
people form a problem for Ubuntu. That problem is that Ubuntu is now on
the other extreme of the can\’t-change-due-to-user-complaints scales.
Ubuntu is one of the, if not the, most widely used Free Software
computer systems in the world. The current users obviously like how it
works or else they wouldn\’t be using it in a world of constant pressure
to give up and use Microsoft Windows.
This means any kind of
change is going to upset some current users. However, change must happen
or else momentum is lost, and \’bitrot\’ makes even the latest and
greatest unusable after a period of years (for example try running the
very best floppy-based system from 1994 now where floppy disks are hard
to come by, or try using a more common USB drive on it and end up
manually installing so many dependencies that the system essentially
becomes a modern distro).
There are three things which
change: the type of users running the system, which was originally “For
Human Beings” as opposed to geeky hacker-types, but is now run by a
large proportion of said geeky hacker-types (including me); the users
already running the system, who tend to become more experienced and
knowledgeable of the system over time; the system
itself.
Based on the tendency of the users to become on
average more and more proficient with Ubuntu there is pressure to make
the system\‘s entry-level proficiency higher so that current users can
enjoy more flexibility. However, this is contrary to Ubuntu\’s original
success and is akin to accepting a few more people into the fold and
becoming entrenched again, as opposed to pushing for everyone\’s
involvement.
My idea:
Turn Ubuntu into a “gateway”
distro. This doesn\’t mean sacrificing any flexibility in a system,
since an installed Ubuntu can be turned into anything the user wants, it
merely means simplify finding out about, getting and subsequently
installing Ubuntu. Such concerns should take precedence over power or
control. For example, many people would like the option for what gets
installed. This is a \’power-user\’ convenience feature, and a hindrance
to new users. Freeing up space by not installing programs means
absolutely nothing to a huge proportion of people. There is a reason why
handheld music players are everywhere whilst handheld computers which
can play music are not, it is the same reason Ubuntu exploded whilst
Debian merely expanded. There is a reason why such music players are
advertised based on an inaccurate metric of the number of songs it can
store instead of the exact metric of drive size, it is because scoffing
geeks are in a minority whilst people who do not know what a megabyte is
are in the majority, and it is how Apple, Microsoft and others routinely
wring them of their cash, strip them of their rights, monitor what they
do, etc. whilst we try explaining why we are different in terms they do
not understand.
If you install Ubuntu, or any computer system
for that matter, for someone try asking them everything the installer
does. What timezone would you like? Would you like to import web browser
bookmarks? What keyboard layout is this? I guarantee they will give an
answer along the lines of “whatever you think”. This is because people
who care about such questions are more than capable of using the
installer on their own and know this, whilst those who cannot use the
installer (for either real “I don\’t know what this is asking of me” or
imagined “I don\‘t know computers” reasons), and thus need someone to
help, do not care. Such people\’s inability or unwillingness to use the
installer is a very, very important bug. However, it is incredibly
underappreciated since it takes someone else to report it on their
behalf.
I\’m focusing on installing since that is the major
hurdle to overcome. In the proposed gateway distribution everything that
can possibly be made automatic or preselected is done so. Questions are
avoided unless absolutely needed, with user direction being preferred
eg. the “Choose your language” options could be replaced with a
scrolling list of “Click the language you can read best” written in
various languages, the keyboard layout could ask the user to press
certain differentiating button combinations to discern the layout from
(out of a shortened list, since Dvorak keyboards, out of production
keyboards, etc. can be removed as niche). Clueless people preferr
concrete, doable instructions rather than the stress of a question (even
if it seems superfluous to those not ignorant of the
program).
The ideal installation program would be one that
doesn\’t exist and thus has absolutely no options at all. This can be
seen in preinstalled systems, which are without doubt the easiest to set
up. This fact is also why Microsoft and Apple enjoy such widespread
adoption of their systems; only a tiny fraction of their users have ever
installed it. This method is proven to work and thus should be strived
for, and a step in that direction is removing as much as possible from
the installer. The next step from preinstallation would be a big button
on ubuntu.com which says “Give me Ubuntu” which, when clicked, results
in a default Ubuntu desktop appearing on the machine ready for use. The
user may never touch some of the software installed by default, but they
don\’t care and they are the ones wo matter. Those who do care should
not complain, since they\’re using a gateway distro and if they want
more control they should use something else, which they are more than
capable of doing since they understand things like installing and
removing software.
This brings me to the second major issue
after ripping as much as possible from the installer: Changing distros
should be painless. This could receive a lot of criticism since
distro-nationalism is widespread, but the “not ready for granny” users
and the “let me choose GNOME or KDE” users should not be using the same
distribution, plain and simple.
In the Free Software world
distributions are their packages. Changing the options presented to
granny and desktop chooser means changing the software they use (having
an “Advanced Mode” only goes so far, especially when some users want a
QT-based installer and some want GTK, some want LVM set up by default,
others want a single partition by default, the sort answer is that
defaults can\’t be different), which means using different packages
which, from the Kubuntu/Xubuntu/etc. take on the definition of
distribution (which is the sense I\’m using here), means using a
different distribution. The difference may be as small as Ubuntu/Kubuntu
or it may be as large as Ubuntu/OpenSolaris, it doesn\’t matter. Ubuntu
should exist as a conduit, facilitating the flow of people from the
non-free world to the Free World. After that decisions are pragmatic,
ie. what does the user want to use?
Once users are asking
themselves this question they should be able to move around with as
little hassle as possible. That means not only from distro A to distro B
but also from distro-with-desktop A to distro-with-desktop B,
distro-with-package-system-A to distro-with-package-system-B,
disto-with-kernel A to distro-with-kernel B and any mixture of those and
everything in between. This doesn\’t mean with no effort of course, but
it means that no data is lost, documents are still openable, etc. This
is obviously a large undertaking, but it is completely possible with a
combined effort, perhaps enforced by upstreams if distros are incapable
of doing it themselves, and isn\’t as hard as the installation issue
from a technical point of view since it could be implemented as another
option of the ditros\’ installers as it is assumed only advanced users
would stray from Ubuntu, and those incapable of doing so wouldn\’t know
or care about which system they use anyway and thus wouldn\’t understand
what switching distros would mean.
With such a system
implemented there can obviously still be the distro wars of old which we
all love, yet they should only take place separate from the conduit
layer. Users should strive to introduce people to gateway distributions
(there doesn\’t just have to be one) rather than to the
GreatOnceYouKnowItButItTakesAWhileToLearn Linux 8.4.12 beta 3 which they
just so happen to use, and fighting between gateway distros would be
severely frowned upon (their job is to get users from Windows Land, Mac
Land and Never Used A Computer Land, not from each other or any other
distro, once people choose Free Software no marketing from their peers
should push and pull them around anymore. Even if their distro really
does suck). Adding extra complexity to a gateway distro would need very
careful consideration, with the caveat that if it doesn\’t make life
simpler for someone completely new to the system then it should be done
in a different distro away from the gateways. Non-gateway ideas would
include things like”allow me to choose packages that get installed”,
“option to disable Tracker”, “add tabs/split screen/yet another
right-click option to Nautilus”, etc. whilst gateways should welcome
ideas like “put all printing options in one place”, “mount USB drives
synchronously so unplugging doesn\’t lose data”, etc. since such things
would make life simpler, even if there are those who would oppose them
for some other reason.{$,page hint: no_wysiwyg}