There's a kind of war going on and we're all caught in the middle. In that war, the two superpowers are Microsoft and Apple. The battlefield is the operating system. Numerous ad campaigns give the impression that these are the only two choices out there for anyone looking to buy a computer. But there's a small group of rebels out there who know better. Their OS of choice is Linux and they back a very different philosophy than the one followed by the big companies.
Linux is an open-source operating system. To really understand what that means, we need to define some terms. An operating system is a layer of software on a computer that acts as a foundation for computer programs. It's the OS's job to monitor computer resources and allocate those resources to programs that need them. When you execute a program, the OS acts like a supervisor and makes sure the program has the processing power, memory and any other resources it might need to function. Operating systems make it easy for program developers to write software -- without an OS, the programmer would have to create software to work directly from the hardware itself.
That covers what an operating system is, but what about open source? Operating systems like Windows and Mac OS X are compiled. They're easy for machines to understand. But compiled code is difficult for humans to understand -- it's extremely complex. That means it's not easy for the average user to see how Microsoft or Apple put their operating systems together.
Unlike compiled OSes, an open-source operating system includes the source code for the OS. Developers write software in source code. There are many different coding languages but they all share a common trait: It's relatively easy for humans to understand it (assuming that human has studied the language). Machines can't understand source code, which is why developers feed the source code through a compiler.
Because Linux includes the source code for the operating system, you can see how the OS works just by downloading it. You'll have to understand programming languages but there's no level of secrecy with what makes Linux tick. The benefit of this approach is that many Linux users are also the developers for the OS. If a user sees a bug or vulnerability, he or she can whip up some code to fix the problem and contribute to the next version of Linux. The same is true for features -- if you think of a cool function that you believe Linux should support, you can build it into the source code.
You could also build your own operating system using the Linux kernel -- its foundation -- as the basis for your OS. That brings us to Ubuntu. Let's take a look at what Ubuntu is and how it relates to Linux.