Code Snipcademy July 4th 2015
In the spirit of this year's 4th of July, (America's celebration of independence), let's discuss the inception of Linux. Much like how America came about with early colonists demanding freedom from their imperialist rules, Linux was conceived by people who desired freedom, albeit for an open-source and free operating system.
Computers in the early days each came with their own operating system, which was limited to its own hardware and specific programs. The cost and learning curves per computer were high, making the use of computers a frustrating experience.
In 1969, Ken Thompson and Dennis Ritchie developed UNIX in AT&T Bell Labs. UNIX was unique in that it was written in C (a high-level programming language) and the code was recyclable. This meant that only the kernel had to be re-written to have the system work on different hardware components.
However, the use of the UNIX platform was licensed so the code could not be freely changed. Just like how the early colonists were forced to pay taxes and could not move freely towards the Western Frontier, programmers had to pay a license fee and were limited in their coding privileges.
The quest for freedom began. By 1977, an operating system known as Berkeley Software Distribution (BSD) was released by UC Berkeley. It had its roots from the UNIX operating system, and even had borrowed some lines of code. AT&T noticed this and filed a lawsuit which resulted in the limitation of BSD development.
Richard Stallman, then a professor at MIT, was a long time advocate of "free software." Freedom, he said, was about freedom, not zero cost. To bring this concept to life, Stallman left MIT in 1983 and started the GNU project, a mass collaboration project aimed at developing free software.
For the next few years, Stallman developed software for a full operating system, but had one missing component - the kernel. The GNU kernel that was being developed (the GNU Hurd) failed to attract enough effort, keeping GNU from being complete.
By 1987, yet another operating system was released, known as MINIX. This platform was intended for academic use, and source code for the system was available to universities for study and research. However, modification and redistribution were not allowed.
Along came a young Linus Torvalds, age 21. On October 5th, 1991, Torvalds sent a post to the comp.os.minix newsgroup, humbly asking for some code review on a project he was working on, just for fun.
Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).
I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-)
- Linus Torvalds
Thus, Linus and Stallman had overlapping problems - Linus had built a free kernel, but had no free software; Stallman, on the other hand, had plenty of free software but no working kernel. Linus was quoted as saying:
Sadly, a kernel by itself gets you nowhere. To get a working system you need a shell, compilers, a library etc.
- Linus Torvalds
Just like how the colonies had to come together to fight off the Imperialist forces, Linus and Stallman had to work together.
Fortunately, Stallman noticed Linus's endeavors, and decided to incorporate Linus's kernel to complete his free operating system. Because Linus was in Helsinki Finland, while Stallman's group was located in Cambridge Massachusetts, it was required that the two worked via Internet. The Internet was crucial in Linux's subsequent development, and allowed for the coordination in developing Linux.
By December 19th, 1991, Linus wrapped his kernel around a few programs to obtain a functional operating system. Soon enough, people saw the potential in his work, and many joined him in his efforts.
In the following years, update versions kept growing and growing, as new drivers were implemented for all types of components. Furthermore, Linux improved with web hosting, networking and database serving, proving to its worth to even commercial giants such as Amazon.
In just two years, the user-base grew to 12k users. With Linux staying in bounds of POSIX standards, more people were able to trust its consistency and compatability, continuing to expand its userbase. Today, it is estimated that there are over 80 million users all over the world.
In finding a logo for Linux, Torvald showed Nick Parka penguin figurine from Creature Comforts (a stop-motion clay animation comedy). James Hughues then called the mascot Tux, which stood for (T)orvalds (U)ni(x). Coincidentally, tux is also an abbreviation for tuxedo, the outfit that the penguin appears to be wearing.
Hope that was a good summary of the history of Linux! Interesting that it draws such parallels with the birth of the United States! ...right? Anyhow, hope you all enjoyed that - have a fun, barbeque-grilling Fourth of July!
Wikipedia's History of Linux
Relieve your stress, back, neck and sciatic pain through 1,782 acupuncture points for immediate neck pain relief. Made for lower, upper and mid chronic back pain treatment, and improves circulation, sleep, digestion and quality of life.$$ Check price
The Linux Command Line takes you from your very first terminal keystrokes to writing full programs in Bash, the most popular Linux shell. Along the way you'll learn the timeless skills handed down by generations of gray-bearded, mouse-shunning gurus: file navigation, environment configuration, command chaining, pattern matching with regular expressions, and more.$ Check price