Installing a compiler by default

Stephan Hermann sh at sourcecode.de
Sun Jun 11 09:32:06 BST 2006


On Sunday 11 June 2006 04:40, James Purser wrote:
> On Sun, 2006-06-11 at 04:06 +0200, Stephan Hermann wrote:
> > On Sunday 11 June 2006 00:07, Carlos Ribeiro wrote:
> > > On 6/8/06, Matt Zimmerman <mdz at ubuntu.com> wrote:
> > > > I would like to propose that, beginning in Edgy, Ubuntu desktop
> > > > systems (both live and installed) should, by default, include
> > > > the set of packages necessary to compile simple C programs and
> > > > Linux kernel modules.
> > >
> > > Add VMWare (which in fact need to install a couple Linux Kernel
> > > modules) to the list of useful applications which depend on a
> > > compiler + kernel headers being installed.
> >
> > The right application would be "qemu", without compiling any kernel
> > modules etc.
>
> Umm, qemu suffers a pretty big performance hit if you don't use the
> kernel module that is on offer.

But it works on most architectures whereas VMWare only runs on x86 
32bit.

>
> Also why would qemu be the "right" application to use? Does it have
> the same featureset as VMWares offerings? Does it fulfil the needs of
> the parent poster to the same level. You may as well have said that
> Bochs would have been the "right" application to use.

VMWare (not the player or the free Server) is non-free software. 
Therefore it's unlikely that it will be included ever in Ubuntu. 
Thinking of that, and thinking of tainting the kernel with unknown 
kernel modules, it breaks the support chain (the user is on it's own, 
even community support), it can break kernel compatiblity (VMWare5 e.g. 
wasn't running out of the box in breezy, and needed to be updated 
especially the kernel modules) and is again a tool for mostly 
developers (developers here: software devs, software testers, etc.)
QEmu falls into the same category (CPU/Computer Emulator) but works out 
of the box, without kernel modules (forgetting the fact about the speed 
enhancements with kernel modules).

> I'll throw in my 2 cents on the build-essentials debate. I believe it
> should be installed by default for several reasons. Firstly,
> experienced linux users expect a desktop OS to at least come with the
> basic tools for building apps, and while apt-get install
> build-essentials is not a complicated procedure in itself, it does
> have a large annoyance factor. I've heard from at least five
> different linux users who, when they moved across to Ubuntu,
> expressed "annoyance" at not being able to at least have the option
> to install the basics at install time.

TBH, until now, I think we have a 60:40 or 70:30 percentage of Ubuntu 
users, 60-70% are using Ubuntu as it was a Linux Distribution, like 
Debian, Novell/SuSE, RedHat/Fedora, Mandrake, so it means, it's being 
used as geek OS to run newest and hot and spicy software. 30-40% of the 
Ubuntu Users are using the OS as it is used by design: "Work with it, 
don't think about the OS how it works, just work with it".

This percentage has to and will change in the not far away future. And 
then we will have a percentage of 70:30 or 80:20 where 70-80% of the 
Ubuntu Users are just working with their system, and they don't want to 
think about "How do I compile a Kernel Module or my freshest gnome". 
Therefore, to move closer to this goal, we should concentrate more on 
the OS itself (stabilizing the kernel, supporting more hardware, 
delivering more stable software, showing off a better user experience 
then Windows will do etc.) and not on the developers "ranting" about a 
missing compiler by default.
Ubuntu just works, with or without a compiler.

> Secondly many people use their desktops as testbeds for new software
> or newer versions of existing software than exists in the
> repositories. Not giving these people the option to install a basic
> dev environ at install just causes that annoyance factor I mentioned
> before.

Right, and I'm using Ubuntu as developer as well, but I know where to 
find the compiler, where to find all the debian tools to build 
packages, even which libraries I need to install to compile kde or 
gnome.
The normal "just use it" User doesn't install all of those.

I wrote in my blog article on September 22th, 2005 the following 
sentence:

"And yes, there is a difference between Ubuntu and other distros. The 
main difference is, that many of us are focused on the Users needs, 
which are, as well, our needs. We're not focused on our own 
needs...because when one thing works for the user, it will work for me 
as well."
(Permalink: 
http://linux.blogweb.de/archives/103-Andres-Salomon-more-usability.html)

And that is what I believe and this is one of my goals for 
{K,X,EDU}Ubuntu. It just works for the user, and it just works for me, 
too, without a compiler installed.

> Thirdly, as many other people have mentioned, there is hardware out
> there that requires specific modules to be built before they will
> operate.

That's right, but we or any other distro can support all newest, 
freshest, hot and spicy new hardware, because until the hardware 
manufacture is not supporting Linux the right way (releasing drivers 
not only for Microsoft, but as well for Linux) our hands are bound to 
do nothing. 
Some drivers, even they could be included, are so buggy, that even 
compiling this driver will help you breaking your running system. This 
we should avoid, for the user's sake.

> Seeing as the build-essentials is included on the CD's anyway I guess
> the best middle ground option would be to include an option to
> install it during the install process. Those who want it select it
> and those who don't or don't know what it is can go on their merry
> way.

To be frank, I would like to remove the build-essentials from the CD as 
well, because this would give us a minimal ammount of more free space  
on that media, to include other, much more needed software for the 
user. 
The software developer faction do know where to find their utils, and 
they have to download (new and fresh) software from the internet, so 
the argument, that some people don't have internet connection, or 
better to say, a low bandwidth internet connection, doesn't count, 
because even then, they would download their new kernel modules, gcc, 
amarok, or their new gnome or kde by ftp, http or 
cvs/svn/bzr/tla/git/etc

Honestly, there is no need to install a compiler by default, only for 
developers or bleeding edge users. But those people are most of the 
time on their own. The masses are using and will be using the OS just 
as it is. 

It just works (tm).


Regards,

\sh
-- 
St. Hermann
SysAdmin and Linux specialist
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/ubuntu-devel/attachments/20060611/c59c5ea5/attachment-0001.pgp


More information about the ubuntu-devel mailing list