Friday, December 16, 2011

Unix and Linux: a bit of history


1. Introduction

If you don't like history, don't worry, I'm not a big fan either. But this kind of history is different: it's (supposedly) fun, educative, and right on time. Right on time because not so long ago one of the founding fathers of Unix, Dennis Ritchie, passed away, so we felt this article was in order. This is not the kind of article where you're supposed to have some knowledge about this and that. Many people don't know the origins of their operating system of choice, and in order to understand it better, you should know where it's coming from.

2. Unix

The Unix name is derived from Unics, derived from Multics, which was a mainframe OS developed in the 1960's. Multics had lots of problems, so a handful of good people at Bell Labs started scaling it down. These people were Ken Thompson, Dennis Ritchie, M. D. McIlroy, and J. F. Ossanna, and their work started to take shape enough that in 1970, their offspring was christened Unics, which stands for Uniplexed Information and Computing Service, obviously a pun on Multics. Since later Unics became multi-user, it became Unix. Up to here, nothing out of the ordinary. But the founding fathers never thought about the success Unix would have in years to come.
After Unix got rewritten in C, AT&T started distributing it to universities and government institutions, together with source code. The versioning was done after the user manuals, so the terms "edition" and "version" were used to basically refer to the same number. Slowly, the '80s began, and so did trouble. AT&T was involved in a painful antitrust lawsuit with the Department of Justice, which broke Bell Labs and allowed Unix to be sold as a product. By that time, with improvements from Berkeley such as the vi text editor or the curses library, System V release 1 was out the door, which became one of the first commercial Unices, but that almost destroyed Unix. The year is 1983, and in the same year Richard Stallman started the GNU Foundation. The commercial move had another consequence: it was less university-friendly than before, so a group from Berkeley started hacking on Unix on their own. Many improvements that first appeared in BSD are here to this day in many operating systems, even older versions of Windows: the C shell, the TCP/IP stack or the sockets API.
Later, Bill Joy, father of vi and co-parent to other widely used pieces of software like NFS, went on and co-founded Sun Microsystems (now bought by Oracle), which is "responsible" for SunOS/Solaris, Java, the SPARC processor and many, many more. Other companies started selling SystemV or BSD-based systems of their own, and thus started what is called "the Unix wars". The initial idea was to create a Unix standard that would make everyone's lives easier, since Unix was successful already and there were many vendors selling it, but what came out instead was a bunch of groups, each with its' own standards and yelling at each other. If this reminds you of something that is happening right now, you got the idea. In the end, IEEE pushed the POSIX standard, which is in effect today as well. POSIX stands for Portable Operating System Interface for uniX and it defines APIs, shells and utilities an OS should have in order to be compliant.
As the '90s started, the Intel platform slowly started advancing on the market as a viable alternative to the expensive proprietary solutions of the time. This was a period when giants like Sun, HP or DEC dominated the market, but the machines were so expensive only big institutions could afford them, so the Intel processor was like a breath of fresh air. And, as some expected, AT&T sued Berkeley because of trademark issues and proprietary AT&T code. This slowed down development, and didn't do well on BSD's popularity either.
1991 is the year a lot of things happened that were essential to what Open Source software is today. First, the appearance of 386BSD, a free software BSD offshoot, that would serve as base for NetBSD and FreeBSD, and later OpenBSD as derived from NetBSD in 1995. Second, Linus Torvalds and his Linux kernel, started with the now popular announcement on the Minix newsgroup.
We don't want you to get bored with political/commercial events that followed in the '90s. The next important event comes in 1997, when Apple decided to rebase its' OS on NEXTSTEP, and implicitly on BSD, making it the most popular desktop/workstation OS based on Unix.
Important Unix operating systems that existed or still exist are Apple MacOSX, Oracle Solaris, HP HP-UX, SGI Irix or IBM AIX. All these systems can be named Unix, because they are compliant to the Single Unix Specification and the entities that sell them pay a yearly fee to the Open Group, actual owner of the Unix trademark. Since Linux or the BSDs aren't totally compliant, they are said to be Unix-like, although the Open Group frowns upon the term.

3. Linux

There are many times when instead of Linux you see GNU/Linux. That's because Linux is just a kernel that needs userland utilities to make a complete OS. Here's where GNU software comes into play. By the time Linus Torvalds announced his kernel, the GNU project had all the userland utilities written, with the purpose of 100% Free Software, licensed by the GPL. But lower-level software was lacking or incomplete, so Linus needed a userland implementation, GNU needed a kernel and what's today known as a Linux distribution slowly started to appear with the help of hundreds, then thousands, of people across the globe. This is where the USLA vs BSD lawsuit did good: 386BSD wasn't yet released in 1991 because of legal problems, although it was already under development. Linus Torvalds said: " If 386BSD had been available when I started on Linux, Linux would probably never had happened." (1993, Meta Magazine).
The oldest distribution that still lives today is Slackware, but Debian and Red Hat were also announced in the same year, only few months later. Debian is known for its' plethora of derivatives, including popular ones like Ubuntu or Mint, and Red Hat is the father of Fedora plus the best-selling enterprise-grade distribution. Now Linux is everywhere, in routers, TVs, phones, servers, supercomputers or laptops. Linus Torvalds had the luck or insight to find the perfect moment for starting Linux: he wrote it for the PC, which was inexpensive, so it could be accessible to people like you and me. But those people couldn't afford a SunOS license, for example, so they needed an inexpensive or even free OS. And that's where Linux helped and this is how it became what it is today.

4. Licensing

One of the holy wars in the IT world is Linux vs BSD. But not necessarily is this related to the technical qualities or lack thereof. It's about licensing. In the Linux world, the most used licensing scheme is the GNU General Public License, which states that you can do what you want with the software at no cost at all, but if you want to modify the work and pass it on, you'll have to do that under the same license. Some argue that it's not freedom in the full sense of it, and that software should be free in any way possible. We, of course, will remain neutral. But the standard when it comes to permissive licensing is the BSD family of licenses. There are a few variants of the license, but we'll give you the general idea: "you can copy the code, do whatever you want with it, but if you redistribute it don't delete the license text from there and be careful how you use my name". Now, there are lots of people that don't really care about licensing, and for those who do, we won't try to influence you. If you're a software developer on either Linux or BSD that doesn't mean you're limited to the GPL or BSD licenses. There are other liberal licenses, even a WTFPL license, which is a "do what the **** you want license". Read them and make your own mind. Of course you are encouraged to use Free/Open licenses, but that doesn't mean that you can't make money out of what you wrote. After all, look at Red Hat' s success.

5. Conclusion

Unix history is a pretty convoluted trip that takes way more space than we have here. There are a lot of articles out there with lots of details and information. This was intended as a short trip to memory lane and we hope this was informative and useful to you.