by Colin Miller
In an effort to write more on this blog, I'm posting a note originally meant for a friend who was very confused when I started talking about Linux. This is a lot less technical, and general knowledge for quite a few people. Feel free to send corrections and I'll update this post.
There are a lot of people who don't know about the differences in Operating Systems and that choices even exist, and I like to spread that information. I've been a Linux advocate and user since around 1997 and I like to give information on the OS and OSes in general when given the chance.
Back in the day (1969), a few guys at Bell Labs, part of AT&T, developed a multi-tasking, networked, multi-user operating system. Basically it means that several people could each run several tasks all on the same computer, and they could do so from other computers (the networked part) and could talk between computers. It was the most popular platform for business and scientific work due to the way that programs could interact with each other and how computers could talk to each other over a network. It was what the original Internet was built upon. It was expensive though and ran mostly on large mainframe computers built by IBM and DEC that ran for hundreds of thousands to millions of dollars, things that normal people couldn't afford.
Meanwhile, Xerox starts working on some experimental things at Xerox Parc (Palo Alto Research Center) relating to user interactions with computers. They developed things like mice and a Graphic User Interface (GUI). Before that people just typed commands into a text screen with a keyboard. Apple was invited down to Xerox to have a look at some of their experiments and later sort of "borrowed" them and put them into the original Macintosh. The Mac was one of the first Personal Computer (PC) to be bought by the regular joe user for home use. It brought about the use of the mouse and a GUI instead of a command line interface, and people thought it was cool (the original advertisement video, which was only played twice, originally aired during the SuperBowl ( http://www.youtube.com/watch?v=OYecfV3ubP8 ). It was released in 1984 and it had a sort of vibe from the original Orwell book.
IBM wanted to compete with the Mac but they didn't want to really spend all that much money so they decided to just build a computer by buying off the shelf parts from a lot of different places and putting them together. They did that not only with hardware but with software as well. Bill Gates was trying to sell IBM on BASIC which he and Paul Allen developed while in college. IBM liked it but also asked if they had an OS to sell. Bill said sure, and then proceeded to buy an OS from some company in Seattle for $50k which they probably kicked themselves for in retrospect. They sold the license to IBM but retrained the rights to resell it, which started MS into becoming a multi-billion dollar company.
Later they shoehorned a GUI on top of DOS with Windows 1 through 3.11. The rest of the MS story is pretty well known. Both MS and Apple charged quite a bit for their OS, but less than UNIX. People who went to college and worked on UNIX machines were disappointed that after they left they couldn't have unix on their own machines because it was stupid expensive.
Around this time (mid 80's, early 90's) there was a group of people led by Richard Stallman who was pushing for Free Software. He developed the Free Software Foundation and pushed the agenda that people should have access to Free software. The 'Free' that he talked about wasn't so much 'free' as in beer, but more 'Free' as in freedom. He wanted software that you could modify yourself if you choose and that anyone could improve upon. He started something called the "Open Source" movement where source code written was open for anyone to change. He doesn't like copyright law very much. Unfortunately he also didn't want companies to take all this free software, make changes, and sell it back to people without releasing the source code. He made a license called the GNU General Public license that forces people who make changes to the code and distribute it to also distribute the source code. He also very much wanted to create a full open source operating system that worked on unix. He called it GNU (Gnu's Not Unix) and created a lot of utilities and programs that form the basis of an OS.
He never made a kernel (the program that's at the heard of any OS, basically the software that talks to the hardware for other software). Fortunately some Finnish student by the name of Linus Torvolds developed a kernel in 1993 that ran on the generic x86 processor which was found in the 386, 486, and later Pentium and other Intel derivative processors that were part of IBM compatible PCs. He released the kernel as open source and named it Linux because he's a bit of a narcissist. The GNU tools were added in and it became a full operating system called GNU Linux, or more often just Linux.
The interesting thing about Linux compared to Windows or even Mac OS was that it was free, both as in Freedom and beer. You could make changes to any of the programs as long as you released the results. This fostered a large community of hobby and volunteer programmers who added constantly to the OS. MS has thousands of developers for creating and maintaining Windows, Linux has millions, though granted part time and without as much financial incentive.
It became very popular in the hacker community in the early days, and businesses such as IBM, Google, Yahoo, Amazon, Oracle, and others started to use it in replacement of expensive UNIX machines. Eventually, around the year 2000, Apple completely redesigned the Mac OS based on NextStep and BSD (which was a free UNIX). OS X replaced Mac OS 9 and was pretty incompatible with previous versions. However it was a full and recognized UNIX system that actually used some of the same base commands and infrastructure found in Linux.
OS X and Linux are actually fairly similar (you can run a large majority of Linux apps on OS X just by recompiling). OS X came with a closed UI though and was much more polished as a user experience. Apple still contributes parts of its software that it updates back to the open source community however and Linux has benefitted from that.
The normal arguments against Linux have been that it's difficult for a new inexperienced user to get working. That had been true for a long while, but eventually it has become as easy to use as Windows or OS X (some would argue its easier than Windows). Ubuntu is a distribution of Linux that is especially popular and noted as having a good user experience. You can download and try it out at http://www.ubuntu.com/.
Linux works on a very wide range of hardware, though not everything is supported (but the list of unsupported is always getting smaller). While most games and quite a bit of business software is designed to run under Windows and not Linux, there are common (free) replacements for them. There are technologies such as Wine (Wine Is Not an Emulator) that allow you to run windows software directly in Linux; some versions even let you play games. For typical home user's daily tasks such as Web Browsing (Firefox), email (Thunderbird or Evolution), IM (Pidgin), Photo Collections (A few of these, I forget the names), and Music Collections (again a few of these, I forget the names) there are native apps (listed in parentheses) that replace the windows counterparts. Some of those such as Firefox, Thunderbird, and Pidgin were ported from Linux to Windows.
Linux is a free OS for those who are light gamers and don't want to pay for an expensive OS, or who want the freedom to heavily modify the OS. The modifications don't always require changing source code and recompiling, a lot of aspects of the OS are just more configurable and there is a wider range of free quality software available. It is also more resistant to viruses, which is one reason that many people turn to Linux and away from Windows. For those who want to just try it out you can download an Ubuntu CD and boot off of it into a sort of trial version, or you can download a VM such as virtualbox (http://www.virtualbox.org/) and install it in there without messing up your current OS.