Installing a compiler by default

Dane Mutters dmutters at gmail.com
Fri Jun 9 22:21:13 BST 2006


Hello, all.

I have been watching the list for some time now, and thought I'd give my two 
bits on this one.


> >  * The most common way to obtain a new driver for a Linux system is
> >    to compile it from C source code

As stated in another discussion on this list (concerning making it easier for 
outside sources to make Ubuntu packages), I must agree that while it would be 
really nice to have all the necessary drivers for every system come stock in 
Ubuntu, I think that it's unreasonable to expect every hardware manufacturer 
out there to package up a nice Ubuntu binary instead of distributing 
a .tar.gz file and letting the user handle the rest.

> >
> >  * 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

I myself have had to compile drivers in order to get on the internet.  Since I 
have other computers, I was able to download the driver tarballs on one of 
them and use a good ol' floppy disk (or CDROM) to tr

> >
> >  * A great deal of distribution-agnostic documentation assumes the
> >    availability of gcc
> >
> >  * Users who are new to Ubuntu have no idea how to install the necessary
> >    packages for building a kernel module
> >
> >  * build-essential and linux-headers are already included on Ubuntu CDs,
> > so they would not occupy more space if installed by default
> >
> >  * 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
> >
> > Some arguments against this approach include:
> >
> >  * Most users don't need a compiler
> >
> >  * If they have already compromised a system, worms can use a compiler to
> >    help propagate themselves and launch attacks (and if one is installed
> > by default, this is a more appealing technique for targeting Ubuntu
> > systems)
> >
> >  * We should solve the same problems in more elegant ways where possible
> >
> > I'm interested in hearing more opinions one way or the other, especially
> > from beyond the developer community.
> >
> > --
> >  - mdz
>
> I don't think shipping GCC truly makes sense. Lets look at the use cases:
>
> 1. Person compiling something to get them on the internet
> Ignore the fact that I have not seen a solid case where you can get
> the source without being on net already, nor a solid case where this
> is even necessary (I am sure there are, I just haven't looked at
> deeply), how many users are actually technically adept enough to do
> this?
>
> 2. Person wanting to compile some random stuff
> If you know what compiling is, you should probably already also know
> what to look for. The documentation team will fix the fact that our
> help says nothing about gcc or compiling for edgy. If I google "gcc
> ubuntu", the first hit I get is how to install build-essential.  Same
> with "compiling ubuntu".
>
> Problems mentioned by mdz
>
> 1. Linux systems ship with gcc
> Fedora ships on 5 cds. Mandriva ships with a mis-mash of GNOME and
> KDE. This is Ubuntu. We make choices because they have solid usecases,
> not because other people do it. (We should, of course, look at why
> they are doing it)
>
> 2. A great deal of distribution-agnostic documentation assumes the
> availability of gcc
> When it fails, people are going to one of two things: Give up or look
> for help. If they do the former, there is not much we can do and the
> latter is mostly already there (just the system help needs to be
> fixed)
>
> 3. Users who are new to Ubuntu have no idea how to install the
> necessary  packages for building a kernel module
>
> By the same argument, users who are new to Ubuntu are quite likely to
> have no idea how to compile either.
>
> Conclusion:
> I just don't see a compelling case where build essential is needed.
>
> Corey



More information about the ubuntu-devel mailing list