Monday, June 7, 2010

What is Linux (and why is it better)?

First, an apology. I have used the terms 'linux' and 'ubuntu' interchangeably with the faulty assumption that people know what I'm talking about. Here's for a clean Start (get the pun?).
Linux is the name for a large collection of operating systems which are free, open source, and built on Unix. Open source means that the code is free to download and edit, and that it is maintained by the community of users, as opposed to being sold. Closed source is (cough...Apple, Microsoft) software which cannot be freely edited and is sold to line the pockets of big software corporations. Unix is open source, while Windows and Mac OS are closed source. Everyone uses both: Microsoft Office is closed source, but Google Chrome is open source. Chances are, if it's free, it's open source; and if it costs money, it's closed source.
And now for Unix. Now as I write this I realize that I pretty much have to write a new post inside this post. We shall call this sub-post -- What the heck is a kernel, and what does pop corn have to do with computing?
Unix was on Operating System made in the AT&T labs appox. 1970. Here is the evolution of Unix, courtesy of Wikipedia:


 I will be the first to say I don't understand the 40 year history of Unix, but I do know that many operating systems follow it's example in the kernel and that they comply with the standards to be called Unix-like. They also use the Programming Language: 'C.' That is not a typo, apparently the computer geeks of 40 years ago like a simple naming scheme. Not suprisingly, C was the successor to B, and C has been passed by C++. But all that is irrelevant.
The kernel is the most basic code in the OS which serves as an intermediary between the lowly hardware and the higher software services. It has the dirty job of say taking what you type on the keyboard and sending to the program that needs it. So as I type the kernel is making sure that what comes from the keyboard percolates up through the many layers of software all the way to the Chrome browser I am using to blog. If I click a pretty little icon on the screen the kernel informs the hardware of the request and the hard drive loads the needed data into RAM which then is sent to be rendered by the Graphics Card. And here is a super overly simplified view of Windows:
Applications
          |
GUI (Graphical User Interface)
          |
Services (such as the .NET framework)
          |
Kernel
          |
Hardware

Now not all kernels were created equal. A Windows kernel blurs the lines between the GUI and the kernel itself, meaning the windows can have far more visual effects, but the a bug in the code can also have more pronounced effects, such as "freezing." A Unix style kernel, which is used by Mac and Linux, separates the kernel and the GUI, which means that interactions are less elaborate but more stable. Both types have their advantages and disadvantages. So linux and Mac are similar at a very low level. So linux is fully open source and free, but mac has an open source base yet still charges money for its OSes. This is a fundamental difference between all 3 major OSes. Windows uses its own kernel (the NT kernel) and charges money for, Mac uses someone else's kernel open source kernel (a Unix-derivative called the Mach kernel), adds a custom GUI (an evolution of NextStep) and charges money for it. Linux uses a Unix-derivative kernel (called the Linux kernel because it was developed by Linus Torvalds and is both free and open-source), as well as an open source and free GUI (either GNOME or KDE) and keeps it all free and open-source.
So now you know what linux is, but what is Ubuntu? Because Linux is open-source and anyone can make their own version, there are many versions, called distributions, or distros. They all use the same Linux kernel but use different GUIs, GNOME, KDE, or whatever the heck they want. Ubuntu is the most common linux distro and uses the GNOME GUI.
Now that you are a veritable expert on this stuff, on to the next point, why is it better?

  1. It is free. It's amazing that on OS can be completely free and still compete with the traditional big OSes.
  2. It is open-source. Programmers edit and develop the code because they want it to be better, not because they are getting paid.
  3. Ease of Use. To really see this you would have to try out Ubuntu, but in my opinion it is easier to use than any other OS, while still being by far the most customizable, you can make it look and act however you want.
  4. Performance. Ubuntu boots up in under 30 seconds, shuts down in 5 seconds. It uses less RAM than Mac or Windows, meaning you can have more programs running simultaneously without slowing down. And over time is doesn't get progressively slower.
  5. Killer apps. As I see it there are two killer apps: Empathy and Compiz Config. Empathy is THE BEST IM client there is. It is flawlessly integrated with the desktop and works with every major chat client, all at the same time. It has a unified interface whether you are chatting with a facebook friend, google talk, yahoo chat, AIM, etc. And Compiz Advanced Desktop Effects, THE BEST desktop effects program. I can't do it justice in text, you would have to see, but I will say that 4 desktops on a cube means never having to deal with an overload of windows and never having to set up 5 different use accounts on the same computer. Here is a screenshot to close this post:   
















This is what it looks like as I switch from Desktop 1 to Desktop 2

Further Reading:
http://www.whylinuxisbetter.net/
http://www.ubuntu.com/
http://www.unix.org/what_is_unix.html/




3 comments:

  1. Awesome. I think I kinda understand it now. Tanks man!

    ReplyDelete
  2. does OS stand for operating system?
    what does RAM stand for?
    finally, since it is open source and editable, couldn't some jerk get in there and ruin it all?

    sorry to bother with all teh questions...

    ReplyDelete
  3. to MPK:
    OS does stand for Operating System, RAM stands for Random Access Memory, many times people just call it memory, it is what the computer uses as fast storage while your computer is on, Ram is temporary however, because when power is lost the data is gone, so the purpose of a hard drive is to hold that data when the computer is off. And with open source anyone can edit it on their own, but the changes have to be submitted to the mane code tree and tested/peer reviewed before being implemented.

    ReplyDelete