Today my sister asked me, "Well, what is Linux anyway?" So I wanted to give her a nice breakdown to the way Linux was different from Windows and Mac, so I started to tell her how a long time ago computers took up a whole entire room and they used an operating system called UNIX. There are transistors on a motherboard that can only read 1/0 and they basically transfer electricity as an on/off switch in binary digits and thats how hardware communicates with software.
She then asked me if Bill Gates programmed Windows which I told her was incorrect. He was the face of Microsoft and they just created some software and kept it a secret so nobody could make profit from it, except them, Bill Gates was the spokesman who sold it, and thats why its not as good as an operating system thats open source (well I just told her freely available code). I then showed her distrowatch.com and browsed over some of the different distros explaining to her that each of the different distros are unique. She said, "You mean they just look different?" "Well no", I said, "Well yeah, I mean yes/no, you can do alot to customize your own distros. Say I had a friend who took the Linux kernel, adding things to it to make it unique, and let me work on it with them. We would be able to tweak it and add things to the operating system that we wanted, or didnt want, and thats how all of these distros are different. There are people all over the world working on them, and there are probably millions of developers who help make Linux better." Is what I told her. "Whats a kernel?" She asked.
"Well a kernel is, well its, ah, a kernel... thats the core code of basically what UNIX was and in 1994 they made something better called GNU/Linux." "I dont get this Linux stuff", she replied shaking her head. "Neither do I now that you mention", was my response.
Do I generally have it right? Where does Windows come from and what exactly is a kernel? How does that make it Linux?
This is a resource from my teacher. I really like this history outline. I sent my teacher a video and a link on the history from Linus Torvalds mouth himself, and he really seemed to clean up his explanation from last year.
Quote:History of Unix
It is often the case in technology, just as elsewhere, that great things can happen by accident or when productive people get to do things on their own without management intervention. Here's the first lesson: Design anything by committee and at best you get a semi-functional compromise, but more often something far less (hopefully you're getting paid, anyway). In the very worst cases you get an atrocity called government, but that's an entirely different subject. It never gets quite that bad in pure science (unless, of course, the science is funded by grants).
In the case of Unix, beginning in the late 1960's and early part of the 70's, some computer scientists at what was then called AT&T Bell Labs had a job to do but weren't happy with the tools available to accomplish it. One of those tools was the operating system. So, they decided to write their own, from scratch, and that eventually became UNIXâ„¢ (we now usually refer to proprietary UNIX as well as all the other UNIX work-alike operating systems, including Linux and OS X, as Unix with the initial capital letter only, and I will only use all-caps when referencing the original AT&T development).
Shortly after beginning their work on the new operating system, these same programmers decided that the tools available to build it were inadequate. One of those tools was the compiler. So they decided to write their own, from scratch, and that eventually became the C programming language.
Now this is the part that always gets the management types so tweaked but tends to vindicate the developers: The original assignment that lead to all this innovation was eventually abandoned, but the world of technology was changed forever by these new tools they developed and now all modern operating systems and programming languages have a heritage that can be traced fairly directly back to the original UNIX and C of the 70's because they were designed so well in the first place - by the programmers and for the programmers - without the intervention of steering committees, compromise or consensus.
Though not open source from a strict legal perspective, one might consider Unix to be, if not the first, then maybe the patriarch of the first open source projects. And as the bane and fear of all open source projects and their managers (respectively) is the dreaded fork, we might also add that UNIX could well have been the first project to demonstrate both the pitfalls and opportunities resulting from this artifact of software democratization, as well.
The earliest and most notable of the original developers of UNIX at AT&T Bell Labs
â€¢Dennis Ritchie (also known for the â€œCâ€ programming language)
Then came the dreaded fork when AT&T Licensed the source code to UC Berkeley
â€¢ATT System Vâ€“ the result of continuing development at AT&T (1969)
â€¢Berkeley BSDâ€“ the result of parallel development at the CSRG of UC
This operating system and its programming language changed the computing industry because, for the first time, such important systems software was portable to different computing machinery. Also, users could be more productive on these hosts as well because the services were organized in such a logically transparent manner that it wasn't always necessary to write new applications to accomplish sophisticated tasks. This development and usage paradigm it spawned led to what is now called the Unix Philosophy.
History of Linux
Some 20 years later, in the early 90's, a grad student at the University of Helsinki, Finland, decided that it would be really exciting if the UNIX operating system he was using at school could be made to run on inexpensive, PC-class hardware. He would start an Internet hosted project (at that time supported by mailing list and file server protocols as the Web had not yet been fully developed) to design and build the core of the operating system that's called the kernel. They would leave the development of productivity utilities for the user interface to a later time.
However, around the same time, another group of programmers at the newly formed Free Software Foundation (FSF) was doing the same thing, but the other way around. They wanted to create a free (non-proprietary) Unix work-alike but would put off the kernel development until last. They were hoping to devote their full time to a new and very advanced type of kernel after all the utilities were completed. They named their re-implementation of the Unix utilities the GNU (GNU is Not Unix) Utilities. Thus began the community's insider joke of naming their packages with recursive, negative acronyms (i.e., LAME â†’ LAME Ain't an Mp3 Encoder - which of course, it is, etc.).
â€¢Linux Kernelâ€“ Linus Torvalds (University of Helsinki, Finland)
â€¢GNU Utilitiesâ€“ Richard Stallman (MIT and founder of the FSF)
Technically, the name Linux properly refers only to the kernel (as Richard Stallman is constantly pointing out to everyone he hears referring to the operating system as just Linux, alone, rather than his preference...
GNU/Linux, a name reflecting the equal importance of both components in a fully functional operating system). The combination of the kernel (that accomplishes all the low-level work but is essentially invisible to the users) and the utilities (which provide the productivity tools and the user interface, or shell) makes a complete and functional operating system. However, most users would not be able to do much, with even this, without certain other essential software to make it more accessible. The average, or even advanced user, wouldn't know how to get started, let alone become productive, with only these raw components. Therefore, other parties package these parts together with other important software to make what is called the Linux Distribution. While the core packages are the same, it is the way these other components are assembled, by the vendors, which makes each distribution unique. The popularity of these different distributions leads to the development of their individual, dedicated User Communities. The support and reputations of the User Communities further promotes the popularity or demise of any particular distribution. There are literally hundreds of available distributions.
The Linux Distribution
As already mentioned, most people don't pull down the latest kernel source code from kernel.org and compile their own Linux kernel, ditto for the utilities, and then install every application they want from all the various individual web sites. This would be very time consuming and difficult, not to mention all the hardware compatibility issues that would have to be resolved, but if one was to do this, the results would be essentially the same. However, it is the role of the distributors to gather and match all these components for you, and then provide certain other essential components of their own - these are usually unique to each distribution:
The first thing you will notice that looks completely different between each distribution (usually, and for now on, simply called a distro for short) is the look and feel (and operation) of the installation software. That is because the distributors create these on their own to support their own assembly scheme. For example, Ubuntu Linux, designed for simplicity, has a very straightforward installer with only about 7 screens and few options. It accomplishes a basic install (from a relatively small image) and allows for all the detailed changes to be made later. On the other hand, the openSUSE installer has a very sophisticated interface with many (branching) screens that allow for all setup operations to be decided at installation time (from a larger image).