Installing a compiler by default

Matt Zimmerman mdz at ubuntu.com
Thu Jun 8 20:02:56 BST 2006


On Thu, Jun 08, 2006 at 03:26:56PM -0300, Derek Broughton wrote:
> Matt Zimmerman wrote:
> > My reasoning is based on the following points:
> > 
> >  * Linux systems have traditionally shipped with gcc
> 
> The worst of reasons.

One of the primary goals of Ubuntu is usability, and one of the keys to
usability is meeting the expectations of the user.  In this case, it is a
particular type of user (primarily a Linux enthusiast), but meeting this
expectation costs almost nothing and stands to benefit a great deal.

> >  * The most common way to obtain a new driver for a Linux system is
> >    to compile it from C source code
> 
> _My_ most common way to do anything is to find a binary.

It is rare to find drivers built for distribution kernels, and rarer for the
exact version of the kernel needed.  Even over the lifetime of a release,
the kernel ABI regularly changes incompatibly (with security fixes).

> >  * A common reason to install a new driver on a Linux system is to gain
> >    access to the Internet, so support can be difficult to obtain in such a
> >    scenario
> 
> It's not _that_ common.  Especially if you purchase hardware based on known
> support in Linux.

This may seem simple from your perspective, but it requires a great deal of
thought and research to do so, and even then, it's often not obvious whether
a particular piece of hardware is "safe".  Also, the simple truth is that
most users don't think about this before purchasing hardware, and we want to
welcome those users to migrate to Ubuntu later if they like.

> >  * Users who are new to Ubuntu have no idea how to install the necessary
> >    packages for building a kernel module
> 
> Users new to Ubuntu have no idea how to compile a kernel module.  Installing
> gcc only gets them marginally closer.

This isn't so; users are accustomed to this process from other
distributions, and users who are trying Ubuntu as their first distribution
sometimes receive help from users familiar with other distributions.  It may
seem like a small step, but it makes the difference between being stopped in
one's tracks, or being able to follow a how-to or personal instructions to
get up and running.

> >  * An excessive amount of RAM is needed to install build-essential and
> >    linux-headers in the live CD environment, and we only have enough space
> >    for them either in preinstalled form (for the live session) OR packaged
> >    form (for the installed system), not both
> 
> I don't quite understand why gcc makes any difference, there.

The problem is exacerbated by the live CD environment, where packages can
only be installed into memory, and shipping the necessary packages in the
live environment *only* is problematic for the reasons stated above.

-- 
 - mdz



More information about the sounder mailing list