Ubuntu Innovations

Introduction

In the short amount of time that Ubuntu has been around (3 years, with 6 releases) it has attained an impressive level of popularity and growth. I believe this success is due to some critical improvements that Ubuntu has implemented when compared to other Linux distributions.

These improvements were not always created by Ubuntu, but Ubuntu was the first distro to strategically implement the best features and to remove the unnecessary ones. I will discuss some of the major advantages that Ubuntu has provided from day one.

UPDATE: There were some great points made in the comments to this post, so I am updating this post in the interest of accuracy. I want to emphasize what I said in the previous paragraph; Ubuntu did not create many of these improvements, and they were not always the first distro to use them. It is the unique combination of these improvements that has helped Ubuntu achieve its popularity.

Secondly, I intended this post to be a historical comparison of features from when Ubuntu first came out, in the Fall of 2004. (The Live-CD installer came later in 2006 with Dapper)

Simple install

Ubuntu has always had a very simple install, and it requires very little input from the user. The first versions were text-based, but they were simple enough that almost any novice could install Ubuntu with a few presses of the "Enter" key.

This was considered a major breakthrough since Debian (which Ubuntu is based on) was historically difficult to install. Back then, the Debian install had many steps and required the user to know how to partition a hard drive, select hardware drivers, and make several other technical choices.

Regular release schedule

As far as I know, Ubuntu was the first Linux distribution to follow a regular release schedule. Ever since the first version of Ubuntu, Canonical has promised that a new version would be released every 6 months, and that each release would be supported for 18 months. This has proven to be true, except for a 2-month delay to polish the first long-term-support (LTS) release.

We now know that there will be an LTS version of Ubuntu every two years. These LTS versions provide a much longer life-cycle, which is preferred by server administrators. LTS versions receive security updates for 3 years on the Desktop Edition, and 5 years on the Server Edition.

Live-CD that you can install from

Following the success of the Knoppix live-cd, Ubuntu created a way to install directly from a live-cd. This innovation makes it simple to test Ubuntu on a system, and then to quickly install it on that system, without a reboot. Sort of a "Try before you buy" approach. This also removed the need for a separate "Install CD". Meanwhile, the other Linux distributions required you to download and burn up to 6 CDs.


One application for each purpose

Before Ubuntu, most Linux distributions would install multiple applications that performed the same function. For example, the default install would include two web browsers, two chat applications, three multimedia players, etc. This was very confusing to new users, who wouldn't know which application they should use. By default, Ubuntu only includes one application per function, but you have the ability to install more applications at any time.

Secure by default

The default install does not run any externally visible network services. This surprised our security administrator, who wanted to make sure that I installed a firewall on my Ubuntu desktop. I told him that nothing is externally visible, and after a quick NMAP scan, he confirmed it (you can also use the "netstat" command to test this). At the time, most Linux distributions came with running network applications such as SSH. Be sure to install a firewall (like FireStarter) if you decide to install a remote network service on your computer.

UPDATE: This has changed recently, starting with the 7.04 Fiesty Fawn release. Ubuntu has made an exception to the "no open ports" policy for Avahi. Avahi is a system which facilitates service discovery on a local network. This means that you can plug your laptop or computer into a network and instantly be able to view other people who you can chat with, find shared printers or find files being shared. For more information on this, please read the following links:
Administration actions require "sudo"

Long before Microsoft implemented UAC, Ubuntu required users to use "sudo" to perform administrative actions. Ubuntu did not create "sudo", but I believe they were the first to disable the root user and require the user to use "sudo".

Over 20,000 applications can easily be installed

(Thanks Debian!) What more do I need to say about this? Many other distros (RPM-based) offered thousands of packages, but they forced you to manually download the package, find out if there are any dependencies, download those packages, and if you are lucky you will get the original application installed. Debian's packaging system is super slick and Ubuntu has created some easy-to-use front-ends that make installing software a breeze.

UPDATE: Ubuntu has over 20,000 packages, but a typical application consists of multiple packages. Therefore, the number of actual applications is quite a bit less. Secondly, modern RPM-based distributions have created better tools to deal with dependencies.

Include non-free hardware drivers

This is the most controversial feature that Ubuntu has provided. Their reasoning is simple: If you can't use the hardware, then you will never access the 20,000 open source applications. Which of these two options is better:

A. Person uses Windows because Linux would not run on their computer, or
B. Person uses some non-free hardware drivers, but only uses open source applications

Yes, this is a compromise, but I believe it is a necessary one. Only once Linux achieves a critical mass will we be able to force the hardware industry to provide open source drivers. Wide-spread adoption needs to occur BEFORE we will get a fully open source operating system that runs on all hardware.

Made the color brown sexy

Who used a brown desktop theme before Ubuntu? Some people don't like the brown, but they can quickly change it. I like to use the default interface so that I can show people what it would be like for them.

(NEW) Get an Ubuntu CD for FREE (NEW)

This is truly a feature that is unique to Ubuntu. For no cost at all, you can get Ubuntu CDs shipped to your location anywhere in the world!

(NEW) The Ubuntu Community (NEW)

How could I forget this point! The Ubuntu Community is often imitated, but never duplicated. Guided by an important Code of Conduct, this community is the friendliest that I have ever worked with.

Your turn!

I am sure that there are many other important factors to Ubuntu's success. I would appreciate it if you shared your favorite ones in a comment, or on your blog.

Comments

  1. Newer versions of Ubuntu use avahi by default for the sharing and discovery of various services on the lan.

    Avahi by design uses an open port. There was a huge flamewar on ubuntu-devel about having 1 open port on a default install and it was decided that the increased usability zeroconf provides trumps the no open ports policy.

    ReplyDelete
  2. Actually, the number of applications is much lower. I'd wager around 10 to 12 thousand.

    The number of packages is definately in the 20k range though. But since they are generally split up (foo, foo-doc, foo-devel, foo-some-option), it bloats the number.

    ReplyDelete
  3. I've been using Ubuntu since Breezy, I guess that makes me a Ubuntu old timer. I still consider myself a Linux newbie to a point but I think what I like about all Linuxes is what works on one works on the other, package management aside the core commands are pretty much the same.

    Try taking what you know about XP and using it on a Linux box, you're aren't going to get very far.

    With Linux, I can take what I learned in Ubuntu and apply it in Debian (of course), Fedora, Cent. Learning my way around Ubuntu taught me how to manage my own server before I even knew I'd be running websites. :-)

    Asides, Ubuntu just works.. I like that I don't *have to* waste precocious RAM by running a firewall and live virus scanner.

    ReplyDelete
  4. > Be sure to install a firewall (like FireStarter) if you decide to install a remote network service on your computer.


    Why should one use a firewall, if you want to use a remote service? Reaching this service from outside is the reason why one would like to run it.

    > Many other distros (RPM-based) offered thousands of packages, but they forced you to manually download the package, find out if there are any dependencies, download those packages, and if you are lucky you will get the original application installed.

    I've never seen a RPM-based disto which forces you to download and install RPMs manually! RPM is much like DEB. On all RPM based distros you've got an app which resolves dependencies for you and then installs the packages via RPM - just like debian does it for DEB.

    ReplyDelete
  5. Ubuntu is not an innovator or the "first" to do much when it come to sudo. OS X was the first major *nix distribution to force that upon users -- Ubuntu's the one that caused the most bickering from people going "waah, why isn't there a root account?"

    Even way before I used Ubuntu, I've been around places that enforce a strict sudo only policy.

    ReplyDelete
  6. sejeff: Thanks for the update. I'll have to remember avahi is running by default. I found this great info on avahi:

    http://0pointer.de/blog/projects/zeroconf-ubuntu
    https://wiki.ubuntu.com/ZeroConfPolicySpec
    https://help.ubuntu.com/community/HowToZeroconf

    Steve Dibb: Absolutely correct.

    Anonymous: The firewall would be to only allow connections from places you trust. For instance, only allow my home computer to remote control my work computer.

    I don't know if yum was around when Ubuntu first started, but it does have similar features. I just don't think the RPM repositories are as large as the Debian stuff.

    ReplyDelete
  7. One of the most important factors of Ubuntu's success is ShipIt. No other distribution ships their pressed cds for free to anyone in the world.

    ReplyDelete
  8. Interesting article. I think there are a few misconceptions here though.

    > This was considered a major breakthrough since Debian (which Ubuntu is based on) was historically difficult to install.

    The install is easier than Debian, but many other distributions (SUSE, Fedora, Mandriva, MEPIS) had very easy installation wizards long before Ubuntu.

    > As far as I know, Ubuntu was the first Linux distribution to follow a regular release schedule.

    No, other distributions did this as well, but they've just changed the schedule over time. They don't have the same "promise" that it will always be like that (as Ubuntu), but then again Ubuntu have not always delivered in this regard (as you mentioned). Still, they've done very well with keeping to it.

    LTS releases don't come after exactly two years, but indeed, the "promise" states within 2 years.

    > Meanwhile, the other Linux distributions required you to download and burn up to 6 CDs.

    (i) MEPIS had a Live Installer for quite some time before Ubuntu did.
    (ii) I don't think there's ever been a distribution that _required_ you to download 6 CDs to install. SUSE had up to 6 CDs available, but as far as I know you've only ever needed 3 CDs (or 1 DVD) to get a full, working KDE or GNOME desktop.

    > Debian's packaging system is super slick and Ubuntu has created some easy-to-use front-ends that make installing software a breeze.

    Worth noting that Ubuntu also considered moving away from APT at one point, however. https://wiki.ubuntu.com/SmartPackageManager

    Ubuntu has brought a few little nice things, but I really just see it more as a packaging distribution rather than one driving innovation (I mean, is including non-free stuff really an innovative technology?), which is probably reserved for i.e. SUSE, Red Hat and Debian to a lesser extent. Launchpad is certainly innovative, but that's a Canonical thing and it's proprietary.

    ReplyDelete
  9. I don't see the convenience of a 6-months release schedule. Why would anyone want to reinstall the OS twice a year? (we all know that dist-upgrade in ubuntu is a real pain).
    I like more the rolling-release systems (like arch or sidux).

    I think the REAL factor of ubuntu's success is the power of the marketing, that has been able to offer ubuntu as *the* distro, giving new users (and corporations) a reference point instead of the large choice of distributions.

    ReplyDelete
  10. @Satchmo

    The 6 month release schedule gets you the most up to date goodies on a regular basis.

    And you actually don't have to "reinstall" the O/S every 6 months - just gksu update-manager -c to upgrade ;-)

    (Though if you are thoughtful and make a separate partition for your /home, doing even a fresh install is fairly trivial for most people)

    ReplyDelete
  11. I believe that what made Ubuntu successful , beside the easiness of installation, a fully functional desktop with all you need to start working, without downloading 3 to 6 CDs, the access to non-free driver (yeah, we still need them sometime), the wonderful choice of software or the six month release cycle (and you do not have to dist-upgrade)

    It's the possibility to get CDs, free of charge, deliver to your mailbox, otherwise it would have made it impossible for someone with only a 56k modem to download a 700M CD, or to introduce friends and family by giving them one of those nice packaged CDs (good marketing)

    and most of all The COMMUNITY without witch many would have quit and went back to "the glass opening in the wall"

    ReplyDelete
  12. I am sorry, but i feel that most of the innovation of ubuntu were here long before the distribution was created :

    * Simple install

    as said by somebody else, suse, mandriva and others did this since a long time.

    * Regular release schedule

    Again fedora, openbsd, mdv, suse, to name a few, are all having predicatable release time.

    * Live-CD that you can install from

    As you say knoppix did it, mand mandriva did it at the same time as ubuntu. And regarding the 6 cds, I guess you only count debian, because most distributions are installable with one cd ( some of them even being installable directly from the net, to not burn anything )

    * One application for each purpose

    Fedora tried to push this too, and most commercial distributions also worked this way, in order to ease the support ( like suse, rh, mdv ) and reduce the scope of what should be maintened.

    * Secure by default

    Something pionereed by openbsd, and most distributions do not install services until you ask for them. Debian also follow the same policy, so this is hardly a ubuntu innovation.

    * Administration actions require "sudo"

    Almost a good point, except that it was apple used this for macosX before.

    * Over 20,000 applications can easily be installed

    While there is not all debian application, i think that both fedora and mdv, to name the few i know offer a wide range of packages, see http://wiki.mandriva.com/en/Releases . And they are availiable with a simple tool, the day of downloading by hand are over since a long time ( contrary to some persistant belief ).

    * Include non-free hardware drivers

    Again, some distros ( like linspire, i think ) and most commercial pack ( suse, mandriva ) offers non free packages directly for use since a long time. RH may also provides similar stuff in RHEL, but I am not sure. I never had to install a binary driver for a server, maybe it is seldomly needed.

    * Made the color brown sexy

    Ok, you have a point for this.

    ReplyDelete
  13. Firestarter is NOT a firewall. Ubuntu has a firewall intsalled by default: iptables. Iptables can be configured through the command line if you read the man page a bit. Firestarter is nothing but a GUI frontend to iptables.

    ReplyDelete
  14. satchmo,
    dist-upgrade on Ubuntu is only a pain if you forget to disable 3rd party repositories first OR if you use Automatix. Most "waahh! my upgrade broke! help me!!!" on #ubuntu are the result of using Automatix.

    Ok, there's one other way for it to be a pain, and I know because I did it. Upgrading from a cd only upgrades the core packages, so anything you installed yourself stays at the old version until you get a net connection.

    ReplyDelete
  15. Azrael: Great point, I agree that ShipIt is a unique Ubuntu advantage.

    Apokryphos: Great points, thanks for sharing them with us.

    Satchmo: The point is not that you are forced to upgrade every 6-months; it simply gives you the option to upgrade if you want the newer applications. Also, upgrading to new versions works great for most users (Automatix users excluded).

    AlbinoDrew: Awesome job! You nailed the two missing innovations that I should have included with this post.

    1. Free CDs sent around the world with ShipIt,

    2. The one-of-a-kind Ubuntu Community, with an important code of conduct and just great people!

    Michael Scherer: You have some good points, and I thank you for sharing them.

    Mackenzie: You are correct of course, but no one needs to know that. Do you call Firefox a front-end to some binary code that communicates with web-servers? Bad example, but there is always some magic code that makes GUI applications work. Would you rather that users made specific function calls themselves instead of clicking on a button? ;) Thanks for your comment.

    ReplyDelete
  16. "This was considered a major breakthrough since Debian (which Ubuntu is based on) was historically difficult to install."

    Sure since ubuntu's installer is based on debian's one... it is the installer of sarge.

    ReplyDelete
  17. Maybe you could update your post so as to turn it into a more objective way. It seems that many comment here showed you were not objective at all and that truth is altered.

    ReplyDelete
  18. Anonymous: You are partially correct - Ubuntu is always based on Debian Unstable (Sid). When the first version of Ubuntu came out, Sarge was not yet released. However, the code that Ubuntu pulled from Debian Unstable is basically what ended up in Sarge.

    Thomas Canniot: I think I will post an update. Do you really think it was that bad? :) A lot of what this post talks about is historical, since many distros have improved and imitated the success of Ubuntu.

    ReplyDelete

Post a Comment

Popular posts from this blog

Using the Cisco console in Linux

What it takes to make Ubuntu ready for use

Five ways to use Windows apps in Linux